[PATCH v11 20/24] arm64: dts: rockchip: enable vop2 and hdmi tx on rock-3a
Piotr Oniszczuk
piotr.oniszczuk at gmail.com
Fri Jun 24 01:29:55 PDT 2022
> Wiadomość napisana przez Piotr Oniszczuk <piotr.oniszczuk at gmail.com> w dniu 14.05.2022, o godz. 15:58:
>
>
>
>> Wiadomość napisana przez Peter Geis <pgwipeout at gmail.com> w dniu 09.05.2022, o godz. 18:00:
>>
>> If you want to confirm the hardware is configured correctly you can
>> remove the cec pin from the hdmi node and set up a cec-gpio node.
>> https://elixir.bootlin.com/linux/v5.18-rc5/source/Documentation/devicetree/bindings/media/cec-gpio.txt
>
> Peter, Sascha
>
> I configured cec-gpio and can confirm: with gpio cec works on my rock3-a board v1.31.
>
> So summarising my tests:
>
> rock3-a v1.1 rock3-a v1.31 rock3-b
>
> radxa debian: ok ok ok
>
> other ppl mainline 5.18: ok n/t n/t
>
> me with mainline 5.18: n/t nok ok
>
> me with mainline 5.18 gpio-cec: n/t ok n/t
>
> Non-working combination is: rock3-a v1.31 hw on mainline 5.18.
> For me it looks like there is bug in case when rk3568 using cec on hdmitxm1_cec line.
> (The same binaries working ok on my rock3-b where cec is on hdmitxm0_cec line. It also works on Peter's rock3a v1.1 - which also uses hdmitxm0_cec line).
>
> It looks like upper cec driver can talk to lower driver (dw-hdmi?) but nothing is received from lower driver, as my app says:
> CECAdapter: CEC device can't poll TV: TV does not respond to CEC polls
>
> btw: I verified with oscilloscope connected to hdmitxm1_cec line: starting cec-compliance -v -T shows expected series of 0V pulses on hdmitxm1_cec line....
>
>
Sascha, Peter
I returned to trying to find why hdmi-cec is not working on rock3-a v1.31 hw.
I'm on vop2 v11 on 5.18 mainline.
Current findings:
(1) the same sw. stack/binaries works on rock-3b (where cec uses hdmitx_m0 instead of hdmitx_m1 I/O line);
(2) gpio-cec however works no problem on rock3-a;
(3) monitoring cec messages with v4-utils 'cec-follower -s' shows exact the same events in non-working rock3-a and working rock3-b
(tested by issue configure cec by 'cec-ctl -d /dev/cec0 --phys-addr=1.0.0.0 --playback' command)
--> i'm interpreting this as confirmation that low level phy layer receives ok cec data from connected device on non-working rock3-a;
(4) debug sysfs for cec shows "has CEC follower (in passthrough mode)" for working rock-3b and there is NO "has CEC follower" debug message in failing rock3-a.
For me It looks like low-level hdmi-cec works ok on failing rock3-a - but upper layers (in hdmi vop2?) are not registering (or failing to register) cec-follower filehandle. This happens just when hdmitx I/O in DT is changed from hdmitx_m0 to hdmutx_m1. A bit strange - but all my tests consistently confirming this observation....
I'm too weak in kernel cec internals - so maybe you have any pointers how to further debug/investigate this issue?
BTW: i'm not alone with cec issue on rock3a v1.31 - already 2 other users contacted me with the same issue...
More information about the linux-arm-kernel
mailing list