HI
I have a custom board with IMX6Q , in which I am trying to use the HDMI CEC
Bellow mentioned are my configurations :
Device tree
pinctrl_hdmi_cec: hdmicecgrp {
fsl,pins = <
MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE 0x108b0
>;
};
&hdmi_cec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi_cec>;
status = "okay";
};
Kernel version : 4.9.123
Application : trying NXP unit test app " mxc_cec_test.c
When probed I see the data in the CEC line , but no response from the TV, On further debugging found the the timing between the CMD pulse is 2.7ms which is violating the CEC spec of 3.6ms -3.8ms.
Any help why the data is not in the correct timing.
I tried the above test with a different custom board which has IMX6SOLO , Same configuration, same Kernel, The CEC works with IMX6SOLO, I am able to query the CEC version of the same TV used with IMX6Q board
surprisingly the timing here matches CEC SPEC, which is 3.6ms.
Silicon version of the IMX6Q : 1.5
Can anyone help me with this issue,
Thanks and regards
Terry
Solved! Go to Solution.
Hi Terry
>with this I conclude that my board needs external 32khz crystal to make CEC work.
>if this finding correct ? could you please provide your feedback on this finding.
yes this is correct understanding.
Best regards
igor
Hi Terry
as described on below link Kernel 4.9.123 does not support i.MX6S/Q
so it may not work properly
Embedded Linux for i.MX Applications Processors | NXP
For i.MX6S may be recommended ti check sect.5 Enabling Solo Emulation
Linux Guide included in Documentation
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
HI Igor,
Thank you for the reply, I am not using YOCTO, instead using Build root with kernel version 4.9.123.
We started shipping the product with IMX6Q + 4.9.123 , other functionality we require work except the HDMI CEC,
1. I added maxcpus=1 in the uboot , as a cmdline to Kernel, still its not working.
2. Is there any other help you can provide to make it work on the kernel version 4.9.123 for IMX6Q.
Thanks and Regards
Terry
Hi Terry
one can try unit test
mxc_cec_test.c\mxc_cec_test\test - imx-test - i.MX Driver Test Application Software
for linux versions not officially supported by nxp may be recommended
to proceed with extended support of
Commercial Support and Engineering Services | NXP
Best regards
igor
HI Igor,
Thanks again , on the link you had shared for the mxc_cec_test.c , say its not supported for the IMX6Q, Since the mxc_cec_test uses the IMX-lib package the version of the imx-lib i use is IMX_LIB_VERSION = 5.4
I have the following questions with the information you provided :
1. Was the CEC issue I face with the timing is it related to the Kernel version I use ?
2. Or is it with the IMX-lib version I use.
Is there any information related to this which you can provide. Or could you please point me a direct to look in the code.
Thanks
Terry
HI Igor,
I tried porting the kernel version 4.9.88.2.0.ga to my custom board and I still get the same timing issue.
As I mentioned in my previous posts , I use buildroot and not yocto, so is there any additional firmware-imx packages needed from the yocto build for me to fix the timing issue ?
The current version of firmware-imx I use is 8.1.1,
Thanks and regards
Terry
HI @Igor,
I did some debugging at my end along with a sabresd eval board and found this bellow info.
EVAL baord works for CEC because it uses an external 32khz crystal connected to the RTC_XTALI, which will be used by the low frequency clk (ckil_sync_clk_root).
My custom board didn't work because it was designed to use the internal clk oscillator , further investigation found an errata related internal oscillator not precise. (ERR007926 - ROM: 32 kHz internal oscillator timing inaccuracy may affect).
I tested by removing the external crystal from EVAL board , once removed the sabresd board also failed with the timing similar to my custom board.
with this I conclude that my board needs external 32khz crystal to make CEC work. if this finding correct ? could you please provide your feedback on this finding.
Thanks and regards
Terry@
Hi Terry
>with this I conclude that my board needs external 32khz crystal to make CEC work.
>if this finding correct ? could you please provide your feedback on this finding.
yes this is correct understanding.
Best regards
igor