How can enable HDMI DDC I2C

I try to connect 4inch HDMI LCD Waveshare. 800x480 (display work with raspi)

After boot instead logo it show only random color 1-pixel lines.
How can i prove that edid was read ?
is my device tree properly set ?
which i2c is used ?

my device tree is


/* tegradc.0 */
		dc@54200000 {
			status = "okay";
			nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
			nvidia,emc-clk-rate = <300000000>;
			nvidia,cmu-enable = <1>;
			nvidia,fb-bpp = <32>; /* bits per pixel */
			nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
			nvidia,dc-or-node = "/host1x/sor1";
			nvidia,dc-connector = <&sor1>;
			win-mask = <0x7>; /* Assign only wins A/B/C */
		};
		dc@54240000 {
			status = "disabled";                          
			nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
			nvidia,emc-clk-rate = <300000000>;
			nvidia,cmu-enable = <1>;
			nvidia,fb-bpp = <32>; /* bits per pixel */
			nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
			nvidia,dc-or-node = "/host1x/sor";
			nvidia,dc-connector = <&sor0>;
			win-mask = <0x7>; /* Assign only wins A/B/C */
		};
		sor {
			status = "disabled";  //miro disabled sor
			nvidia,xbar-ctrl = <2 1 0 3 4>;
			dp-display {
				status = "disabled";
			};
		};
		sor1 {
			/* Compared to Jetson-TX1's baseboard (P2597), HDMI TX
			 * lanes 0 and 2 have been swapped in Porg's baseboard
			 * (P3448) making it a straight lane mapping between
			 * SOR1 and the pad.
			 */
			nvidia,xbar-ctrl = <0 1 2 3 4>;
			status = "okay";
			hdmi-display {
				status = "okay";
			};
		};
		dpaux {
			status = "disabled"; 
		};
		dpaux1 {
			status = "okay";
		};

if i try i2cdetect

sudo i2cdetect -l
i2c-3   i2c             7000c700.i2c                            I2C adapter
i2c-1   i2c             7000c400.i2c                            I2C adapter
i2c-8   i2c             i2c-6-mux (chan_id 1)                   I2C adapter
i2c-6   i2c             Tegra I2C adapter                       I2C adapter
i2c-4   i2c             7000d000.i2c                            I2C adapter
i2c-2   i2c             7000c500.i2c                            I2C adapter
i2c-0   i2c             7000c000.i2c                            I2C adapter
i2c-7   i2c             i2c-6-mux (chan_id 0)                   I2C adapter
i2c-5   i2c             7000d100.i2c                            I2C adapter

kernel show

[   42.111337] vdd-usb-hub-en: disabling
[   42.367137] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[   42.373603] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[   42.380327] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[   42.385394] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   42.392105] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[   42.397686] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[   42.403530] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[   42.408764] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[   42.414106] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[   52.607121] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[   52.613609] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[   52.620681] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[   52.625861] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   52.632716] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[   52.638366] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[   52.644579] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[   52.649946] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[   52.655624] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[   62.992778] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[   62.999655] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[   63.011821] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[   63.018981] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   63.027402] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[   63.033866] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[   63.040192] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[   63.045442] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[   63.050805] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[   73.324402] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[   73.331224] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[   73.341077] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[   73.346910] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   73.355054] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[   73.360758] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[   73.366674] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[   73.371959] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[   73.377409] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[   83.587669] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[   83.594509] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[   83.601530] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[   83.606713] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   83.613550] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[   83.619196] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[   83.625201] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[   83.630478] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[   83.636161] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[   93.831200] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[   93.838037] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[   93.845060] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[   93.850216] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   93.858039] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[   93.864215] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[   93.870092] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[   93.875387] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[   93.880755] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[  104.070107] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[  104.076932] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[  104.084166] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[  104.089442] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  104.096261] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[  104.101883] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[  104.107742] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[  104.112976] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[  104.118322] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[  114.309406] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[  114.316228] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[  114.323246] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[  114.328427] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  114.335273] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[  114.342156] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[  114.348020] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[  114.353476] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[  114.358892] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[  114.365972] tegradc tegradc.0: hdmi: edid read failed
[  114.371126] tegradc tegradc.0: hdmi: using fallback edid
[  114.371214] tegradc tegradc.0: blank - powerdown
[  114.411388] extcon-disp-state extcon:disp-state: cable 47 state 0
[  114.411390] Extcon AUX1(HDMI) disable
[  114.438474] tegradc tegradc.0: unblank
[  114.474292] tegradc tegradc.0: nominal-pclk:74250000 parent:74250000 div:1.0 pclk:74250000 73507500~80932500
[  114.474364] tegradc tegradc.0: hdmi: tmds rate:74250K prod-setting:prod_c_hdmi_54m_75m
[  114.475371] tegradc tegradc.0: hdmi: get YCC quant from EDID.
[  124.549061] tegra-i2c 7000c700.i2c: rx dma timeout txlen:28 rxlen:128
[  124.549096] tegra-i2c 7000c700.i2c: --- register dump for debugging ----
[  124.549130] tegra-i2c 7000c700.i2c: I2C_CNFG - 0x2c00
[  124.549160] tegra-i2c 7000c700.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  124.549190] tegra-i2c 7000c700.i2c: I2C_FIFO_CONTROL - 0x1c
[  124.549219] tegra-i2c 7000c700.i2c: I2C_FIFO_STATUS - 0x800040
[  124.549249] tegra-i2c 7000c700.i2c: I2C_INT_MASK - 0x6c
[  124.549277] tegra-i2c 7000c700.i2c: I2C_INT_STATUS - 0x2
[  124.549358] tegra-i2c 7000c700.i2c: i2c transfer timed out addr: 0x50
[  124.554073] extcon-disp-state extcon:disp-state: cable 47 state 1
[  124.554096] Extcon AUX1(HDMI) enable
[  124.558889] tegradc tegradc.0: sync windows ret = 249
[  124.636998] extcon-disp-state extcon:disp-state: cable 51 state 1
[  124.637001] Extcon HDMI: HPD enabled
[  124.637023] tegradc tegradc.0: hdmi: plugged
[  362.712320] tegra-i2c 7000c000.i2c: no acknowledge from address 0x50
[  362.719639] tegra-i2c 7000c400.i2c: no acknowledge from address 0x50

You don’t need to change anything in software for Jetson Nano HDMI. That one is already configured correctly for DP1.

If there is i2c error based on that, please compare with reference board schematic.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.