I am using the latest Linux for tegra 34.1 version on the Xavier NX with custom carrier board. I have some issues with the HDMI. I am using a single HDMI interface which does not have any differences (exactly nvidia’s) and no other display interfaces. I have not done any device tree related changes.
When I grep hdmi from the dmesg logs it show failed to read edid with the below errors. @ubuntu:~$ dmesg | grep hdmi
[ 7.378454] tegradc 15200000.display: hdmi: can’t get adpater for ddc bus 3
[ 7.848916] tegradc 15200000.display: hdmi: invalid prod list prod_list_hdmi_board
[ 7.861959] tegradc 15200000.display: hdmi: tegra_hdmi_tmds_range_read(bd) failed
[ 8.136984] tegradc 15200000.display: hdmi: tmds rate:25200K prod-setting:prod_c_hdmi_0m_54m
[ 8.173090] tegradc 15200000.display: hdmi: get YCC quant from EDID.
[ 26.500433] tegradc 15200000.display: hdmi: edid read failed
[ 26.501236] tegradc 15200000.display: hdmi: using fallback edid
[ 26.633090] tegradc 15200000.display: hdmi: tmds rate:74250K prod-setting:prod_c_hdmi_54m_111m
[ 26.634942] tegradc 15200000.display: hdmi: get YCC quant from EDID.
[ 26.651932] tegradc 15200000.display: hdmi: plugged
I could see backlight on the display when HDMI is connected and nothing else appears. I have used multiple display monitors and HDMI cables as well. With the older Jetpack versions with same configurations HDMI is up and working.
Was that working fine on k4.9 , jetpack4.x version? If you didn’t test it, maybe you can try it.
It would be better to use a stable version to test your hardware. 34.x is just developer preview.
And It is unlikely a custom board no need any device tree change.
I would like to emphasize that last post matters a lot because the DDC wire uses i2c, and even if the rest of HDMI is set up correctly, if something changed in i2c, then DDC might still fail even if the rest remains unchanged. One example might be an i2c rail not being powered.