linux icon indicating copy to clipboard operation
linux copied to clipboard

i9000b ISDB-T tuner

Open alpharde opened this issue 4 years ago • 7 comments

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.

alpharde avatar Dec 19 '20 17:12 alpharde

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).

xc-racer99 avatar Dec 19 '20 19:12 xc-racer99

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.

alpharde avatar Dec 20 '20 00:12 alpharde

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

On Sun, Dec 20, 2020, 01:47 Glauber [email protected] wrote:

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/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.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/PabloPL/linux/issues/44#issuecomment-748545887, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5P5NEKILFIH3CXJL2WLMTSVVCRVANCNFSM4VCODLIA .

eloydegen avatar Dec 20 '20 01:12 eloydegen

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 avatar Dec 20 '20 18:12 xc-racer99

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

xc-racer99 avatar Dec 22 '20 02:12 xc-racer99

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?

alpharde avatar Dec 25 '20 03:12 alpharde

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

mirh avatar Jan 29 '22 01:01 mirh