Project

General

Profile

Actions

Issue #1957

open

Add MHL support

Added by Kurtis Hanna over 5 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
09/12/2019
Due date:
% Done:

0%

Estimated time:
Resolution:
Device:
Grant:
Type of work:
C programming, Reverse engineering (no code nor documentation available)

Description

The SiI9244 MHL Transmitter seems to be widely used in a lot of Replicant supported devices, but it doesn't seem to be supported in upstream LineageOS.

A discussion this on XDA's forums can be found here: https://forum.xda-developers.com/galaxy-note-2/devs-only/gt-i930x-hdmi-mhl-implementation-aosp-t2940110

This github wiki has a picture of the MHL chip in the Samsung Galaxy S, which is said to have the text, "SIMG 9244BO NCS371A 10L2230" on it: https://github.com/TeamApexQ/apexq/wiki/Board-info This wiki links to this Silicon Image document about the chip.

It was suggested here that the MHL (SiI9244BO) chip and schematics can be found in the GT-I9100 Service Manual: https://forum.xda-developers.com/galaxy-s3/development/building-hack-pack-t1624685

Some kernel drivers for the chip were posted to github here: https://github.com/TeamNDVRu/android_kernel_lge_x3/tree/fa8143a4b6082eb103796a19553bfaf646aa060a/drivers/video/tegra/mhl and here: https://github.com/HONO/lge-kernel-iproj-mod/tree/17750854ebd6a4e11880f618846275a273fae120/lge/com_device/mhl_v1

It seems as though the SiI9244 is supported in the upstream kernel based on this matrix: https://blog.forkwhiletrue.me/pages/midas-mainline/

Actions #1

Updated by Kurtis Hanna over 5 years ago

MHL stands for Mobile High-Definition Link

Actions #2

Updated by Kurtis Hanna over 5 years ago

The sii9244 drivers linked to above don't seem to be in LineageOS 13's kernel tree here. https://github.com/LineageOS/android_kernel_samsung_smdk4412/tree/cm-13.0/drivers/media/video/mhl

Actions #3

Updated by Kurtis Hanna over 5 years ago

I found reports that the MHL drivers for the sii9244 linked to above at least partially worked in CyanogenMod on the P880: https://forum.xda-developers.com/showthread.php?t=2278885

I wasn't able to find any sii9244 drivers in cyanogenmod that were used on Exynos SoCs though, unfortunately, so I don't know if the drivers I found will be useful at all.

Actions #4

Updated by Kurtis Hanna about 5 years ago

The schematics for the ATT and T-Mobile version of the Note II were published on the FCC's website and say that the chip is SII9244BO: https://fcc.report/FCC-ID/A3LSGHT889/1797529ACPM-7500-SG1

I found this patch for the sii9244 for what seems to be the Galaxy S4: https://github.com/CyanogenMod/android_kernel_samsung_jf/commit/d0de5f990ab738a8b9c67fefc63b67e31d457f89

I think that the patch above might make it so that the free software sii9234 drivers work with the sii9244 chip.

I found the github kernel link for it here: https://forum.xda-developers.com/showthread.php?t=2763735

It was reported here that the Galaxy S4 Rom linked to above had working MHL: https://forum.xda-developers.com/showpost.php?p=58492324&postcount=16

I found two patch sets that add sii9244 drivers, but they both seem to include nonfree licenses:
https://github.com/TEAM-Gummy/android_kernel_xiaomi_aries/commit/9816f9c6c044692417b21a83d00c9e1ea5d179cd
https://github.com/windbellx/android_kernel_xiaomi_msm8960/commit/4afde2b3b2739f3d9d75389bd8fa9ba7e7d9a01a

Here's the sii9234 driver in mainline, which seem to have been added in 2012: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/media/video/s5p-tv/sii9234_drv.c?h=v5.3-rc8&id=56e1df491b803dc962ba47adcdaf4ad034c697a8

Here's Silicon Image's 9234 transmitter in mainline: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/bridge/sii9234.c?h=v5.3-rc8

Here's the 2017 patch that added the transmitter: https://patchwork.kernel.org/patch/9987269/

Here's an xda developers thread about adding MHL to the i9100: https://forum.xda-developers.com/galaxy-s2/help/stock-rom-mhl-support-t3605764

In upstream LineageOS, there's a commit from last year on the 16.0 branch: https://github.com/LineageOS/android_kernel_samsung_smdk4412/commit/8da2b4cc4cf9f88bc8e7ac2d2935e04da91b435b

Actions #5

Updated by _I3^ RELATIVISM over 3 years ago

  • Type of work C programming, Reverse engineering (no code nor documentation available) added
Actions

Also available in: Atom PDF