Jetson TX2 custom board HDMI problem

Hello all!
We have got an custom board with Jetson TX2 module, very close to P2597. Our board naven’t got an EEPROM ID.
HDMI subsystem is similar to P2597, please see circuits shown below:

But dispaly connected to this HDMI connector on custom board nothing show.
This is dmesg fragment from load P2597 with connected monitor:

[    0.993547] tegradc 15210000.nvdisplay: disp0 connected to head1->/host1x/sor1
[    0.993693] tegradc 15210000.nvdisplay: DT parsed successfully
[    0.993719] tegradc 15210000.nvdisplay: Display dc.ffffff800b650000 registered with id=0
[    1.001678] tegradc 15210000.nvdisplay: vblank syncpt # 8 for dc 1
[    1.001683] tegradc 15210000.nvdisplay: vpulse3 syncpt # 9 for dc 1
[    1.002944] tegradc 15210000.nvdisplay: Bootloader disp_param detected. Detected mode: 1920x1080 (on 0x0mm) pclk=148350937
[    1.005720] tegradc 15210000.nvdisplay: hdmi: invalid prod list prod_list_hdmi_board
[    1.005724] tegradc 15210000.nvdisplay: hdmi: tegra_hdmi_tmds_range_read(bd) failed
[    1.008246] tegradc 15210000.nvdisplay: probed
[    1.019673] tegradc 15210000.nvdisplay: fb registered
[    1.081623] tegradc 15210000.nvdisplay: hdmi: tmds rate:148351K prod-setting:prod_c_hdmi_111m_223m
[    1.082092] tegradc 15210000.nvdisplay: hdmi: get RGB quant from REG programmed by BL.
[    1.082101] tegradc 15210000.nvdisplay: hdmi: get YCC quant from REG programmed by BL.
[    1.241087] tegradc 15210000.nvdisplay: blank - powerdown
[    1.310416] tegradc 15210000.nvdisplay: unblank
[    1.315734] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[    1.316980] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[    1.316986] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[    3.367023] tegradc 15210000.nvdisplay: hdmi: plugged
[    3.382859] tegradc 15210000.nvdisplay: read_edid_into_buffer: extension_blocks = 1, max_ext_blocks = 3
[    3.398638] tegradc 15210000.nvdisplay: hdmi_recheck_edid: read_edid_into_buffer() returned 256
[    3.398644] tegradc 15210000.nvdisplay: old edid len = 256
[    3.398648] tegradc 15210000.nvdisplay: hdmi: No EDID change. No userspace active. Using cached mode to initialize dc!
[    3.430363] tegradc 15210000.nvdisplay: blank - powerdown
[    3.495138] tegradc 15210000.nvdisplay: unblank
[    3.500131] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m

and similar loading the same Jetson TX2 module on custom board:
[ 0.866008] tegradc 15210000.nvdisplay: disp0 connected to head1->/host1x/sor1
[ 0.866131] tegradc 15210000.nvdisplay: DT parsed successfully
[ 0.866152] tegradc 15210000.nvdisplay: Display dc.ffffff800b650000 registered with id=0
[ 0.874410] tegradc 15210000.nvdisplay: vblank syncpt # 8 for dc 1
[ 0.874416] tegradc 15210000.nvdisplay: vpulse3 syncpt # 9 for dc 1
[ 0.875682] tegradc 15210000.nvdisplay: Bootloader disp_param detected. Detected mode: 1920x1080 (on 0x0mm) pclk=148350937
[ 0.878483] tegradc 15210000.nvdisplay: hdmi: invalid prod list prod_list_hdmi_board
[ 0.878488] tegradc 15210000.nvdisplay: hdmi: tegra_hdmi_tmds_range_read(bd) failed
[ 0.881103] tegradc 15210000.nvdisplay: probed
[ 0.894775] tegradc 15210000.nvdisplay: fb registered
[ 0.962873] tegradc 15210000.nvdisplay: hdmi: tmds rate:148351K prod-setting:prod_c_hdmi_111m_223m
[ 0.963336] tegradc 15210000.nvdisplay: hdmi: get RGB quant from REG programmed by BL.
[ 0.963377] tegradc 15210000.nvdisplay: hdmi: get YCC quant from REG programmed by BL.
[ 1.123270] tegradc 15210000.nvdisplay: blank - powerdown
[ 1.191624] tegradc 15210000.nvdisplay: unblank
[ 1.203664] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 1.205296] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 1.205302] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 3.253045] tegradc 15210000.nvdisplay: hdmi: plugged
[ 6.680408] tegradc 15210000.nvdisplay: blank - powerdown
[ 6.761641] tegradc 15210000.nvdisplay: unblank
[ 6.768007] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m

We are seeing that for loading custom board compared to P2597 is missing that messages:
[ 3.382859] tegradc 15210000.nvdisplay: read_edid_into_buffer: extension_blocks = 1, max_ext_blocks = 3
[ 3.398638] tegradc 15210000.nvdisplay: hdmi_recheck_edid: read_edid_into_buffer() returned 256
[ 3.398644] tegradc 15210000.nvdisplay: old edid len = 256
[ 3.398648] tegradc 15210000.nvdisplay: hdmi: No EDID change. No userspace active. Using cached mode to initialize dc!

But after load show EDID command ouputs on both boards, P2597 and cusom board, are similar:
root@nvidia-desktop:~# cat find /sys -name edid
00 ff ff ff ff ff ff 00 09 d1 a1 78 45 54 00 00
27 1c 01 03 80 30 1b 78 2e 35 85 a6 56 48 9a 24
12 50 54 a5 6b 80 d1 c0 b3 00 a9 c0 81 80 81 00
81 c0 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c
45 00 dd 0c 11 00 00 1e 00 00 00 fd 00 32 4c 1e
53 15 00 0a 20 20 20 20 20 20 00 00 00 fc 00 42
65 6e 51 20 47 4c 32 32 35 30 48 0a 00 00 00 ff
00 56 39 4a 30 32 33 34 34 30 31 39 0a 20 01 ec
02 03 24 f1 4f 10 05 04 13 03 12 07 16 01 14 15
1f 06 11 02 23 09 07 07 83 01 00 00 67 03 0c 00
10 00 38 2d 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00
dd 0c 11 00 00 18 01 1d 00 72 51 d0 1e 20 6e 28
55 00 dd 0c 11 00 00 1e 01 1d 00 bc 52 d0 1e 20
b8 28 55 40 dd 0c 11 00 00 1e 8c 0a d0 90 20 40
31 20 0c 40 55 00 dd 0c 11 00 00 18 8c 0a a0 20
51 20 18 10 18 7e 23 00 dd 0c 11 00 00 98 00 be

What is it may be a problem?

Hi,

Please share us the full dmesg instead of partial one.

Here is attached full dmesg for boot Jetson TX2 module on custom board.

custom_brd_dmesg.txt (58.7 KB)

Hi xuch,

  1. Your dmesg has nothing wrong.

[ 3.398648] tegradc 15210000.nvdisplay: hdmi: No EDID change. No userspace active. Using cached mode to initialize dc!

This log is not necessary when a monitor tries to enable.

  1. Are you able to see nvidia log showing up during the boot process?

No. Display is absolutely black. But if the same Jetson TX2 module place on P2597 then display is fully working and I see nvidia logo and log showing up during the boot process.

I see to curcuit of HDMI subsystem of custom board and can’t find any incorrects.

Please any help.

Is your board able to dump the serial console log? Because we need to check the log from bootlaoder which will not show in dmesg (kernel log only).

What’s UART number on Jetson TX2 using for this purposes?

It should be UART0.

Is it H12 pin on TX2 for listen this? Please provide baudrate value for terminal settings.
Thank you!

Hi,

baud rate is 115200. And yes, H12/G12 is the pin.

capture.txt (18.2 KB)
Please see attached file.

Hi,

No error again in your cboot log.

Is there a gpio expander on your carrier board design?

The vdd_hdmi_5v0-supply by default is using gpio = <&gpio_i2c_0_74 12 1>; as power supply.

This subcircuit is the same than P2597 (please see attached file).

Hi xuch,

Do you have other HDMI display to test?

Please check if the monitor ever gets backlight on or power indicator on when you hotplug the cable or during boot up.

I’m test this for one display but it’s fine working with P2597. On custom board if I disconnect and connect again HDMI cable then display gone from sleep to active state but no image displayed.

Could you share the result of command “lsmod”?

nvidia@nvidia-desktop:~$ lsmod
    Module                  Size  Used by
    fuse                  103841  3
    zram                   26166  4
    bcmdhd                934210  0
    cfg80211              589351  1 bcmdhd
    overlay                48691  0
    spidev                 13282  0
    nvgpu                1579891  20
    bluedroid_pm           13912  0
    ip_tables              19441  0
    x_tables               28951  1 ip_tables

Could it be that pinout and pins function may differ between connector type 3690019-354-H on P2597 and 1-1747981-2 on custom board?

Did you get correct 5V_HDMI on HDMI connector when display plug in? If you concern the pinout of connector, you’d better check with vendor/datasheet for detail.

Yes.