On Mon, May 9, 2022 at 3:49 PM Piotr Oniszczuk <piotr.oniszczuk@xxxxxxxxx> wrote: > > > > > 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 > > > > For some reason the board developers decided to make this selectable, > > check the location of R90652 and R90653. > > > > Peter, > > my board is v1.31 and is using HDMITX_CEC_M1 i think. > I verified this by temp. changing to HDMITX_CEC_M0 > > For M1: > 2022-05-09 21:12:37.130188 I CECAdapter: Using physical address 1.0.0.0 from EDID > 2022-05-09 21:12:37.173267 I CECAdapter: Found 1 CEC devices(s). > 2022-05-09 21:12:37.173299 I CECAdapter: Device 1: path '/dev/cec0' com port 'Linux' SELECTED > 2022-05-09 21:12:37.173307 I CECAdapter: Trying to open device /dev/cec0 (Linux). > 2022-05-09 21:12:37.180095 I CECAdapter: connection opened > 2022-05-09 21:12:37.545229 I CECAdapter: setting HDMI port to 1 on device TV (0) > 2022-05-09 21:12:37.904145 I CECAdapter: >> source deactivated: Playback 1 (4) > 2022-05-09 21:12:37.904311 I CECAdapter: Source 4 Deactivated > 2022-05-09 21:12:38.284452 I CECAdapter: >> source activated: Playback 1 (4) > 2022-05-09 21:12:38.284492 I CECAdapter: Source 4 Activated > 2022-05-09 21:12:38.284694 I CECAdapter: CEC client registered: libCEC version = 6.0.2, client version = 6.0.2, firmware version = 0, logical address(es) = Playback 1 (4) , physical address: 1.0.0.0, git revision: v12.0.0-v32.0-16-g611cac15cc+59-07dc900~dirty, compiled on 2022-04-23 05:50:57 by piotro@/bin/sh: hostname: command not found on Linux 5.16.14-arch1-4 (x86_64), features: P8_USB, DRM, P8_detect, randr, Linux > 2022-05-09 21:12:38.519394 I CECAdapter: Opened CEC device. > 2022-05-09 21:12:38.636950 I CECAdapter: << powering on 'TV' (0) > 2022-05-09 21:12:38.754023 E CECAdapter: Failed to turn TV on. > 2022-05-09 21:12:38.754313 I CECAdapter: >> source activated: Playback 1 (4) > 2022-05-09 21:12:38.754343 I CECAdapter: Source 4 Activated > 2022-05-09 21:12:38.872079 I CECAdapter: << Playback 1 (4) -> broadcast (F): active source (1000) > 2022-05-09 21:12:38.974698 I CECAdapter: Asked TV to switch to this input. > 2022-05-09 21:13:07.292069 W CECAdapter: CEC device can't poll TV: TV does not respond to CEC polls > 2022-05-09 21:13:37.296372 W CECAdapter: CEC device can't poll TV: TV does not respond to CEC polls > > for M0: > 2022-05-09 21:37:47.632175 I CECAdapter: Using physical address 1.0.0.0 from EDID > 2022-05-09 21:37:47.680618 I CECAdapter: Found 1 CEC devices(s). > 2022-05-09 21:37:47.680644 I CECAdapter: Device 1: path '/dev/cec0' com port 'Linux' SELECTED > 2022-05-09 21:37:47.680654 I CECAdapter: Trying to open device /dev/cec0 (Linux). > 2022-05-09 21:37:47.694974 I CECAdapter: connection opened > 2022-05-09 21:37:56.341846 I CECAdapter: setting HDMI port to 1 on device TV (0) > 2022-05-09 21:38:17.675457 I CECAdapter: >> source activated: Playback 1 (4) > 2022-05-09 21:38:17.675561 I CECAdapter: Source 4 Activated > 2022-05-09 21:38:17.675657 I CECAdapter: CEC client registered: libCEC version = 6.0.2, client version = 6.0.2, firmware version = 0, logical address(es) = Playback 1 (4) , physical address: 1.0.0.0, git revision: v12.0.0-v32.0-16-g611cac15cc+59-07dc900~dirty, compiled on 2022-04-23 05:50:57 by piotro@/bin/sh: hostname: command not found on Linux 5.16.14-arch1-4 (x86_64), features: P8_USB, DRM, P8_detect, randr, Linux > 2022-05-09 21:38:30.475336 I CECAdapter: Opened CEC device. > 2022-05-09 21:38:34.741846 I CECAdapter: << Playback 1 (4) -> broadcast (F): active source (1000) > 2022-05-09 21:38:39.008432 I CECAdapter: << powering on 'TV' (0) > 2022-05-09 21:38:39.008506 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:39.008526 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:43.275094 E CECAdapter: Failed to turn TV on. > 2022-05-09 21:38:43.275201 I CECAdapter: >> source activated: Playback 1 (4) > 2022-05-09 21:38:43.275224 I CECAdapter: Source 4 Activated > 2022-05-09 21:38:43.275375 W CECAdapter: CEC device can't poll TV: TV does not respond to CEC polls > 2022-05-09 21:38:47.541811 I CECAdapter: << Playback 1 (4) -> broadcast (F): active source (1000) > 2022-05-09 21:38:47.541898 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:47.541909 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:47.541924 E CECAdapter: Failed to switch to this input. > 2022-05-09 21:38:51.808626 I CECAdapter: << Playback 1 (4) -> broadcast (F): active source (1000) > 2022-05-09 21:38:51.808722 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:51.808735 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:57.142091 I CECAdapter: << Playback 1 (4) -> broadcast (F): active source (1000) > 2022-05-09 21:38:57.142109 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:38:57.142117 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:39:02.475097 I CECAdapter: << Playback 1 (4) -> broadcast (F): active source (1000) > 2022-05-09 21:39:02.475115 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > 2022-05-09 21:39:02.475123 E CECAdapter: CLinuxCECAdapterCommunication::Write - ioctl CEC_TRANSMIT failed - tx_status=00 errno=22 > > > I have some concerns about the DTS you've built here. For instance how > > come you are modifying the power domains? > > This was experiment as I was advised: > > "32k clock needed for cec and this clock is generated by the rtc which is embedded in the rk8xx regulator. > So you should make sure it is enabled when hdmi is powerd on, eg adding it to the RK3568_PD_VO powerdomain should help" Could you grab the clock tree from /sys/kernel/debug/clk/clk_summary for the clk_hdmi_cec tree? > > power domains entries in dts was attempt to play with above cec clock sugestion. > > M0/M1 logs in this email are from cleaned dts: https://pastebin.com/0pgwpdsS > > > USB3 is broken because the rock3-a is a rk3568 device and you're > > missing combophy0. > > Perfect. all 4 usb ports are now working. > Also no errors in dmesg. > Thx! Good news! >