(EXT) HDMI CEC on ODROID-N2+
Stefan Agner
stefan at agner.ch
Sat Jan 15 02:52:31 PST 2022
Hi Alexander,
On 2022-01-15 11:02, Alexander Stein wrote:
> Hi Stefan,
>
> Am Donnerstag, 13. Januar 2022, 15:36:38 CET schrieb Stefan Agner:
>> Hi Neil,
>>
>> I am trying to use HDMI CEC on ODROID-N2+ using Linux 5.10.91. However,
>> I was unsuccessful: As far as I can tell cec-client uses the right
>> device (I disabled CONFIG_DRM_DW_HDMI_CEC since my kernel is still
>> missing your patch "drm/meson: dw-hdmi: disable DW-HDMI CEC
>> sub-driver"). But communication won't work, and dmesg prints timeout
>> messages:
>>
>> [ 68.831253] cec-meson_g12a_ao_cec: message ff 84 20 00 06 timed out
>> [ 71.134987] cec-meson_g12a_ao_cec: message ff 87 00 15 82 timed out
>> [ 73.438826] cec-meson_g12a_ao_cec: message f0 timed out
>> [ 75.742677] cec-meson_g12a_ao_cec: message f0 timed out
>> [ 78.046555] cec-meson_g12a_ao_cec: message f0 timed out
>> [ 80.350446] cec-meson_g12a_ao_cec: message f0 timed out
>> [ 82.654358] cec-meson_g12a_ao_cec: message 11 timed out
>> [ 84.958285] cec-meson_g12a_ao_cec: message 11 timed out
>> [ 87.262194] cec-meson_g12a_ao_cec: message 11 timed out
>> [ 89.566130] cec-meson_g12a_ao_cec: message 11 timed out
>>
>> I did a quick test with CoreELEC which uses the 4.9 downstream kernel,
>> CEC seems to work there. So it does not seem to be my hardware setup.
>>
>> A quick test with the latest Linux 5.16 shows the same errors.
>>
>> Do you happen to have an idea? Do you know if HDMI CEC using upstream
>> kernels worked at one point on that particular platform?
>
> I'm using Arch Linux on my ODROID-n2 (non-plus) and HDMI CEC works as
> expected.
> Currently I'm running a 5.15.13-1-aarch64-ARCH kernel. AFAICS the mentioned
> patch is mainline since v5.14. I can see my TV without issues. I have to add
> that not every cable is suitable for HDMI CEC, I have one where CEC does not
> work (in general).
Hm, interesting, thanks for the datapoint!
I tried to reproduce your findings, unfortunately I am not successful in
booting mainline using Arch Linux ARM so far. It seems it comes with
downstream 4.9 kernel by default (where CEC seems to work in this case
too). I then installed linux-aarch64 and adjusted the device tree, but
it seems that the downstream U-Boot 2015.01-10 has some hardcoded
"rsvmem" command which fails. How are you booting v5.14?
It is a bit surprising that 5.15.13 works for you but 5.16 didn't for
me. That makes me wonder, could it be bootloader dependent? Are you
using downstream U-Boot?
--
Stefan
>
> HTH
> Alexander
> ------
> $ cec-ctl --playback
> $ cec-ctl -S
> Driver Info:
> Driver Name : meson-ao-cec-g12a
> Adapter Name : meson_g12a_ao_cec
> Capabilities : 0x0000011e
> Logical Addresses
> Transmit
> Passthrough
> Remote Control Support
> Connector Info
> Driver version : 5.15.13
> Available Logical Addresses: 4
> DRM Connector Info : card 1, connector 32
> Physical Address : 1.0.0.0
> Logical Address Mask : 0x0010
> CEC Version : 2.0
> Vendor ID : 0x000c03 (HDMI)
> OSD Name : 'Playback'
> Logical Addresses : 1 (Allow RC Passthrough)
>
> Logical Address : 4 (Playback Device 1)
> Primary Device Type : Playback
> Logical Address Type : Playback
> All Device Types : Playback
> RC TV Profile : None
> Device Features :
> None
>
> System Information for device 0 (TV) from device 4 (Playback Device
> 1):
> CEC Version : 1.4
> Physical Address : 0.0.0.0
> Primary Device Type : TV
> Vendor ID : 0x080046 (Sony)
> OSD Name : 'TV'
> Power Status : Standby
>
> Topology:
>
> 0.0.0.0: TV
> 1.0.0.0: Playback Device 1
More information about the linux-amlogic
mailing list