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