Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i9000b ISDB-T tuner #44

Open
alpharde opened this issue Dec 19, 2020 · 7 comments
Open

i9000b ISDB-T tuner #44

alpharde opened this issue Dec 19, 2020 · 7 comments
Labels
s5pv210 Issues related to s5pv210 SOC

Comments

@alpharde
Copy link

Hi, I've bought the brazilian variant of i9000 known as i9000b quite a long time ago. No obvious differences in hardware save for the included ISDB-T tuner which the other versions do not have.
I have done very little kernel work and zero hardware-related development, also I have no idea how well supported this kind of hardware is on linux, I'll try to help identifying which device is this if needed.

@xc-racer99
Copy link
Collaborator

Hi!

The first place to start is looking at the original stock files for the i9000b, then also at the CyanogenMod kernel.

A quick peek at the CM kernel doesn't bring up any references to the TV tuner. It does however show that a few things have different GPIOs (touchscreen, magnetic sensor, camera power, plus a few others) - so the i9000 kernel as it is won't work for you. If you want to try, let me know and I can try porting the differences to a kernel that you can then use.

It appears that there is a stock kernel uploaded to https://github.com/alexandrepossebom/linux_gt-i9000b By looking at it, the TV tuner (model fc8100) is i2c controlled (same port as the cameras), with a GPIO to switch between the two modes (why this is the case, I have no idea, the devices should have been smart enough to just look for their own address...). It then uses the TSI (Samsung Transport Stream Interface) to transfer the packet. This appears to be some sort of shared memory and tv stream decoder. Unfortunately, neither of the devices (TSI or fc8100) is in mainline linux. Forward-porting the 2.6.3x drivers might be possible, but would be a lot of work. I don't see a datasheet with a quick google, the best I've found is a press release about the chip in a different language (Google translated at https://translate.google.com/translate?hl=en&sl=zh-TW&u=http://www.digitimes.com.tw/tw/dt/n/shwnws.asp%3FCnlID%3D13%26id%3D161069%26ct%3D1&prev=search&pto=aue).

@alpharde
Copy link
Author

alpharde commented Dec 20, 2020

Thanks for your interest, having a kernel that works on i9000b would be nice.
I tried recently the last image at xc-racer99/u-boot-aries issue 34 and it does boot up to the console login, dunno if that's the same kernel.

The tuner is no big deal, bummer that the datasheet is pretty much lost.

@eloydegen
Copy link

eloydegen commented Dec 20, 2020 via email

@xc-racer99
Copy link
Collaborator

Thanks for your interest, having a kernel that works on i9000b would be nice.
I tried recently the last image at xc-racer99/u-boot-aries issue 34 and it does boot up to the console login, dunno if that's the same kernel.

The tuner is no big deal, bummer that the datasheet is pretty much lost.

Yeah, the i9000 kernel will boot, there just will be increased power draw and a few peripherals won't work properly (most notably the touchscreen).

I'll try to get a test kernel sometime in the next few days.

This vendor is more widely known under their English name Silicon Motion. They had some PDFs on their website, but those aren't much more detailed than the press release, see: https://web.archive.org/web/20130405100814/http://www.siliconmotion.com/A3.2_Partnumber_Detail.php?sn=15

Interesting, good to know. Yeah, there's not much in that info sheet there, just the specs and block diagram (which is somewhat useful, combine that with the 2.6.3x driver it wouldn't be too difficult to get an updated driver working, but only if one had the time and the HW and the know-how).

@xc-racer99
Copy link
Collaborator

Alright, I've got a branch at https://github.com/xc-racer99/linux/tree/v5.9-all-devices with support for the i9000b added.

Basically, here's the differences:

  • The bluetooth shutdown GPIO is different
  • The CE147 (back camera) ena GPIO is different
  • The YAS529 compass is mounted with a different orientation
  • There's the aforementioned I2C mux gpio
  • Touchscreen interrrupt is different
  • Several GPIO sleep values are different due to the addition of the ISDB tuner and related changes

I'm attaching a version that hopefully will work. Note that you'll either need to rename the galaxysb.dtb to galaxys.dtb or else make modifications to u-boot so it loads the proper one.

i9000B-Kernel.zip

@alpharde
Copy link
Author

alpharde commented Dec 25, 2020

I have your uboot image installed on NAND (not sure how I did it, it was some time ago), wrote the pmOS image you built on an SD card and replaced vmlinuz-samsung-aries and s5pv210-galaxys.dtb with the kernel and dt within the zip file.

Got to the "postmarket demos" but the touchscreen did not work, the video was also a bit glitchy.
Merry xmas, btw.

edit: Forgot to ask, can I have the files and config used to build the kernel & pmos image?

@mirh
Copy link

mirh commented Jan 29, 2022

As a matter of fact, newer models of the same DTV chip manufacturer should have more or less more recent drivers
https://github.com/LineageOS/android_kernel_lge_msm8974/tree/lineage-18.1/drivers/broadcast/oneseg
A slightly similar variant also existed in the galaxy Y TV
https://github.com/villavic/Samsung_GT-S5367/tree/master/common/drivers/staging/bcm21553/drivers/video/fc81xx

@PabloPL PabloPL added the s5pv210 Issues related to s5pv210 SOC label Jun 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
s5pv210 Issues related to s5pv210 SOC
Projects
None yet
Development

No branches or pull requests

5 participants