R32 problem with HDMI (not there on R24)

Hi nvidia,

I’m having a problem with an external HDMI to SDI converter box from BlackMagic.

The converter was working just fine on a TX1 using R24.

As the TX1 is getting old we decided to “upgrade” our system to TX2 and latest R32 but saw that the screen is “garbled” in some lines across the entire screen (see picture below)

I then tried updating TX1 from R24 to R32 and saw the exact same problem.

Here is what we see with R32 on both TX1 and TX2: (this is just a small image but the lines garbling appears across the screen)

The EDID is “set in stone” by the converter to:
cat /sys/kernel/debug/tegradc.0/edid

0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x00 0x09 0xA4 0xC6 0xBD 0x00 0x00 0x00 0x00 0x34 0x16 0x01 0x03 0x80 0x00 0x00 0x78 0x0A 0xEE 0x91 0xA3 0x54 0x4C 0x99 0x26 0x0F 0x50 0x54 0x20 0x00 0x00 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x02 0x3A 0x80 0x18 0x71 0x38 0x2D 0x40 0x58 0x2C 0x45 0x00 0xC4 0x8E 0x21 0x00 0x00 0x1E 0x01 0x1D 0x80 0x18 0x71 0x1C 0x16 0x20 0x58 0x2C 0x25 0x00 0xC4 0x8E 0x21 0x00 0x00 0x9E 0x00 0x00 0x00 0xFC 0x00 0x42 0x4D 0x44 0x20 0x48 0x44 0x4D 0x49 0x0A 0x20 0x20 0x20 0x20 0x00 0x00 0x00 0xFD 0x00 0x17 0x3C 0x0F 0x44 0x0F 0x00 0x0A 0x20 0x20 0x20 0x20 0x20 0x20 0x01 0x93 0x02 0x03 0x28 0x71 0x52 0x90 0x1F 0x22 0x21 0x20 0x05 0x14 0x04 0x13 0x06 0x15 0x07 0x16 0x02 0x03 0x11 0x12 0x01 0x23 0x0F 0x04 0x07 0x83 0x0F 0x00 0x00 0x68 0x03 0x0C 0x00 0x10 0x00 0x00 0x1E 0x00 0x01 0x1D 0x00 0x72 0x51 0xD0 0x1E 0x20 0x6E 0x28 0x55 0x00 0xC4 0x8E 0x21 0x00 0x00 0x1E 0x8C 0x0A 0xA0 0x14 0x51 0xF0 0x16 0x00 0x26 0x7C 0x43 0x00 0x13 0x8E 0x21 0x00 0x00 0x98 0x01 0x1D 0x80 0xD0 0x72 0x1C 0x16 0x20 0x10 0x2C 0x25 0x80 0xC4 0x8E 0x21 0x00 0x00 0x9E 0x01 0x1D 0x00 0xBC 0x52 0xD0 0x1E 0x20 0xB8 0x28 0x55 0x40 0xC4 0x8E 0x21 0x00 0x00 0x1E 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x4A

Can you help us understand why the R32 is causing this to be a problem?

Yours truly
Lasse

Hi,

Sorry that we cannot help here. We don’t verify any HDMI to SDI converter and this applies to every release we had, not only r32/r28 but also r24.

There are lots of changes between r24 and r32. Kernel and graphic drivers are all different.

Hi @WayneWWW,

Thanks for your quick reply.

Please disregard the statement that it’s a HDMI to SDI converter because to the Tegra (or any other source HDMI port) it acts like any other normal 1920x1080p monitor.

If you check the EDID you will see that:

Pixel Clock: 148.5MHz
Horizontal Active: 1920
Horizontal Blanking: 280
Vertical Active: 1080
Vertical Blanking: 45
Horizontal Sync Offset: 88
Horizontal Sync Pulse: 44
Vertical Sync Offset: 4
Vertical Sync Pulse: 5
Horizontal Display Size: 708
Vertical Display Size: 398
Horizontal Border: 0
Vertical Border: 0
Interlaced: false
Stereo Mode: 0
Sync Type: 3

And since this device works with just about any PC and other type of equipment out there supporting a normal Full HD out there’s something weird going on in the Tegra driver somewhere.

It’s very easy to try - simply put this EDID into your edid.c file and force it and you will see the problem.

Yours truly
Lasse

Hi LasseRoedtnes,

I don’t think it is good to say “Please disregard the statement that it’s a HDMI to SDI converter”.
Need to know why you said that. Why does this suddenly become " it acts like any other normal 1920x1080p monitor."?

We once had some other forum users tried to put a hack edid into incompatible monitor. It was working but he also saw garbled image. If he tried to use the native EDID from monitor, then it is working.

My point is putting the hacked edid is prone to graphic problem.

Hi @WayneWWW,

I’m saying that because the converter is a commercial product from a renowned manufacturer and it functions perfectly on any other HDMI source I’ve tried - (and it’s meant to!)

The EDID they use is valid and not in any way hacked or obscure in my opinion.

Also the fact that it works on the same TX1 but running an older version of Jetpack confirms that its a bug in the later drivers.

The reason I asked you to try altering the EDID.c file was simply so you can reproduce what I’m seeing without having the same product - we are using the product as in tented with that EDID coming via Hot Plug Detection over the HDMI IIC

I am happy to try and assist in looking for the bug but I need to get some help to figure out where to start looking and hence I provided the EDID.c idea

Yours truly
Lasse

Hi,

I’m saying that because the converter is a commercial product from a renowned manufacturer and it functions perfectly on any other HDMI source I’ve tried - (and it’s meant to!)

Actually I think such description could apply to any kind of adapters. However, unfortunately jetson is not even working with HDMI → DP monitor. My point is even such common adapter may hit problems. No need to mention HDMI->SDI.

The EDID they use is valid and not in any way hacked or obscure in my opinion.

Yes, it is correct for your monitor but this EDID is a hacked one for “my monitor”. My point here is such method to reproduce problem may be incorrect. I can put any kinds of EDID to my driver and show outputs on monitor, but this behavior itself tends to trigger the some noise on monitor. To be more precisely, even if I reproduce some noise here, our graphic team may question this method too.

Maybe we could try to narrow down your problem without using r32. How about we start from rel-28 ? Let’s see if you could see such issue on rel-28 which is near r24 than r32 (it is 5 year gap with kernel 3.x → 4.9…)

Also, have you ever run other application and see such issues? For example, our mmapi sample with nvpmodel and jetson clock enable.

Hi @WayneWWW

I’m happy to try R28 and see if the problem is there as well. (I will do this today)

can you tell me how to start the mmapi sample with nvpmodel (I don’t know what it is) then I’ll try that with jetson_clocks.sh applied.

Yours truly.
Lasse

Please refer to the L4T Multimedia API 28.3.2 2019/12/02 in below link.

As for nvpmodel, it is a tool to switch the power mode. For example, by default tegra disabled 2 cpu and limit emc/gpu frequency. If you use command “sudo nvpmodel -m 0”, then it would switch the mode that could trigger the maximum power consumption (you still need to run jetson clock script).

BTW, I am curious about your device which has SDI interface. What is it? Is it a camera or monitor?

Hi @WayneWWW

Thanks I will try those commands !

Our product is a camera where SDI is our only output option hence we need to get it to work :-)

Best regards
Lasse

Hi @WayneWWW

I noticed the following output in the console which is repeating - it may provide some hints:

[ 830.110744] tegradc 15210000.nvdisplay: blank - powerdown
[ 830.110772] tegradc 15210000.nvdisplay: unblank
[ 830.110792] tegradc 15210000.nvdisplay: unblank
[ 830.453660] tegradc 15210000.nvdisplay: blank - powerdown
[ 830.453682] tegradc 15210000.nvdisplay: unblank
[ 830.454352] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 830.454450] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 830.454543] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 830.456034] Parent Clock set for DC plld2
[ 830.460410] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 830.461837] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 830.461893] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 830.497554] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 830.497558] Extcon AUX1(HDMI) enable
[ 830.497820] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 830.497826] Extcon HDMI: HPD enabled
[ 830.497854] tegradc 15210000.nvdisplay: hdmi: plugged
[ 830.503529] tegradc 15210000.nvdisplay: blank - powerdown
[ 830.562104] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 830.562106] Extcon AUX1(HDMI) disable
[ 830.583152] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 830.583244] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 830.583797] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 830.585180] tegradc 15210000.nvdisplay: unblank
[ 830.585868] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 830.585961] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 830.586057] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 830.586647] Parent Clock set for DC plld2
[ 830.592000] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 830.593289] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 830.593322] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 830.629977] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 830.629981] Extcon AUX1(HDMI) enable
[ 830.630051] tegradc 15210000.nvdisplay: unblank
[ 830.672783] tegradc 15210000.nvdisplay: unblank
[ 839.277187] extcon-disp-state external-connection:disp-state: cable 47 state 0

Does this provide any hints?

This is with 4.9.140-tegra on a TX2 where I have run the jetson_clocks and nvpmodel command prior, and I don’t get an image on the monitor at all using this version (the HDMI is just toggling on/off unsuccessful)

Thanks
Lasse

Hi Lasse,

I am curious why you mentioned this kernel version like it is a separate release. 4.9.140-tegra is the kernel version of rel-32.x. All rel-32 release on each platform is using this version of kernel.

jetson_clocks and nvpmodel should not affect the behavior in HDMI driver. It seems your usecase is in an unstable status on rel-32.

Does this log never stop? Does it follow a regular pattern?

Hi @WayneWWW.

The reason i mentioned the uname -r was just so you had the information about what I was trying now, as I tried flashing my TX2 in the devkit to start testing (prior to trying older R28).

The message above is just repeating continuously like below:

[ 1989.175463] Extcon AUX1(HDMI) enable
[ 1989.175801] tegradc 15210000.nvdisplay: unblank
[ 1989.219765] tegradc 15210000.nvdisplay: unblank
[ 1997.828173] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 1997.828189] Extcon AUX1(HDMI) disable
[ 1997.845520] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 1997.845628] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 1997.846211] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 1997.847315] tegradc 15210000.nvdisplay: blank - powerdown
[ 1997.857676] tegradc 15210000.nvdisplay: blank - powerdown
[ 1997.857705] tegradc 15210000.nvdisplay: unblank
[ 1997.857725] tegradc 15210000.nvdisplay: unblank
[ 1997.858082] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 1997.858087] Extcon HDMI: HPD disabled
[ 1997.858118] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 1998.195903] tegradc 15210000.nvdisplay: blank - powerdown
[ 1998.195930] tegradc 15210000.nvdisplay: unblank
[ 1998.196644] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 1998.196749] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 1998.196852] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 1998.198818] Parent Clock set for DC plld2
[ 1998.203196] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 1998.204632] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 1998.204643] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 1998.240639] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 1998.240644] Extcon AUX1(HDMI) enable
[ 1998.246556] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 1998.246564] Extcon HDMI: HPD enabled
[ 1998.246698] tegradc 15210000.nvdisplay: hdmi: plugged
[ 1998.276203] tegradc 15210000.nvdisplay: blank - powerdown
[ 1998.338419] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 1998.338424] Extcon AUX1(HDMI) disable
[ 1998.359453] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 1998.359545] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 1998.360138] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 1998.360375] tegradc 15210000.nvdisplay: unblank
[ 1998.361662] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 1998.361764] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 1998.361855] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 1998.362547] Parent Clock set for DC plld2
[ 1998.370422] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 1998.371766] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 1998.371798] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 1998.407786] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 1998.407827] Extcon AUX1(HDMI) enable
[ 1998.407920] tegradc 15210000.nvdisplay: unblank
[ 1998.452187] tegradc 15210000.nvdisplay: unblank
[ 2007.022714] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2007.022730] Extcon AUX1(HDMI) disable
[ 2007.044241] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2007.044339] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2007.044896] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2007.045088] tegradc 15210000.nvdisplay: blank - powerdown
[ 2007.045206] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 2007.045210] Extcon HDMI: HPD disabled
[ 2007.045275] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 2007.055886] tegradc 15210000.nvdisplay: blank - powerdown
[ 2007.055905] tegradc 15210000.nvdisplay: unblank
[ 2007.055925] tegradc 15210000.nvdisplay: unblank
[ 2007.394822] tegradc 15210000.nvdisplay: blank - powerdown
[ 2007.394856] tegradc 15210000.nvdisplay: unblank
[ 2007.395613] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2007.395727] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2007.395840] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2007.397634] Parent Clock set for DC plld2
[ 2007.402344] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2007.403818] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2007.403864] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2007.439938] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2007.439944] Extcon AUX1(HDMI) enable
[ 2007.449458] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 2007.449465] Extcon HDMI: HPD enabled
[ 2007.449540] tegradc 15210000.nvdisplay: hdmi: plugged
[ 2007.477378] tegradc 15210000.nvdisplay: blank - powerdown
[ 2007.537608] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2007.537612] Extcon AUX1(HDMI) disable
[ 2007.558697] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2007.559052] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2007.559731] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2007.559985] tegradc 15210000.nvdisplay: unblank
[ 2007.560846] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2007.561122] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2007.561219] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2007.561924] Parent Clock set for DC plld2
[ 2007.571035] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2007.572411] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2007.572419] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2007.608660] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2007.608714] Extcon AUX1(HDMI) enable
[ 2007.609369] tegradc 15210000.nvdisplay: unblank
[ 2007.659615] tegradc 15210000.nvdisplay: unblank
[ 2016.222983] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2016.222994] Extcon AUX1(HDMI) disable
[ 2016.244914] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2016.245019] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2016.245566] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2016.245742] tegradc 15210000.nvdisplay: blank - powerdown
[ 2016.245820] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 2016.245824] Extcon HDMI: HPD disabled
[ 2016.245850] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 2016.260596] tegradc 15210000.nvdisplay: blank - powerdown
[ 2016.260629] tegradc 15210000.nvdisplay: unblank
[ 2016.260651] tegradc 15210000.nvdisplay: unblank
[ 2016.591964] tegradc 15210000.nvdisplay: blank - powerdown
[ 2016.592010] tegradc 15210000.nvdisplay: unblank
[ 2016.592864] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2016.592985] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2016.593109] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2016.595428] Parent Clock set for DC plld2
[ 2016.605365] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2016.607634] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2016.607664] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2016.643559] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2016.643564] Extcon AUX1(HDMI) enable
[ 2016.643930] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 2016.643936] Extcon HDMI: HPD enabled
[ 2016.643980] tegradc 15210000.nvdisplay: hdmi: plugged
[ 2016.664291] tegradc 15210000.nvdisplay: blank - powerdown
[ 2016.724761] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2016.724766] Extcon AUX1(HDMI) disable
[ 2016.745774] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2016.745875] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2016.746471] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2016.746778] tegradc 15210000.nvdisplay: unblank
[ 2016.747602] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2016.747689] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2016.747776] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2016.748461] Parent Clock set for DC plld2
[ 2016.753210] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2016.754572] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2016.754688] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2016.793549] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2016.793554] Extcon AUX1(HDMI) enable
[ 2016.795194] tegradc 15210000.nvdisplay: unblank
[ 2016.829161] tegradc 15210000.nvdisplay: unblank
[ 2025.422395] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2025.422408] Extcon AUX1(HDMI) disable
[ 2025.443765] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2025.443860] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2025.444674] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2025.445951] tegradc 15210000.nvdisplay: blank - powerdown
[ 2025.446075] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 2025.446080] Extcon HDMI: HPD disabled
[ 2025.446107] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 2025.450397] tegradc 15210000.nvdisplay: blank - powerdown
[ 2025.450432] tegradc 15210000.nvdisplay: unblank
[ 2025.450455] tegradc 15210000.nvdisplay: unblank
[ 2025.787375] tegradc 15210000.nvdisplay: blank - powerdown
[ 2025.787406] tegradc 15210000.nvdisplay: unblank
[ 2025.788152] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2025.788263] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2025.788365] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2025.790062] Parent Clock set for DC plld2
[ 2025.794358] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2025.801777] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2025.801787] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2025.837609] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2025.837614] Extcon AUX1(HDMI) enable
[ 2025.846406] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 2025.846414] Extcon HDMI: HPD enabled
[ 2025.846470] tegradc 15210000.nvdisplay: hdmi: plugged
[ 2025.855699] tegradc 15210000.nvdisplay: blank - powerdown
[ 2025.918811] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2025.918819] Extcon AUX1(HDMI) disable
[ 2025.939787] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2025.939893] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2025.940461] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2025.940717] tegradc 15210000.nvdisplay: unblank
[ 2025.941352] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2025.941443] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2025.941534] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2025.942221] Parent Clock set for DC plld2
[ 2025.946766] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2025.948139] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2025.948148] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2025.984094] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2025.984099] Extcon AUX1(HDMI) enable
[ 2025.984204] tegradc 15210000.nvdisplay: unblank
[ 2026.043274] tegradc 15210000.nvdisplay: unblank
[ 2034.616004] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2034.616020] Extcon AUX1(HDMI) disable
[ 2034.637596] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2034.637702] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2034.638283] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2034.638633] tegradc 15210000.nvdisplay: blank - powerdown
[ 2034.638791] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 2034.639224] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 2034.652101] tegradc 15210000.nvdisplay: blank - powerdown
[ 2034.652111] tegradc 15210000.nvdisplay: unblank
[ 2034.652125] tegradc 15210000.nvdisplay: unblank
[ 2034.983293] tegradc 15210000.nvdisplay: blank - powerdown
[ 2034.983323] tegradc 15210000.nvdisplay: unblank
[ 2034.984069] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2034.984178] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2034.984284] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2034.985980] Parent Clock set for DC plld2
[ 2034.991148] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2034.992596] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2034.992647] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2035.031200] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2035.031203] Extcon AUX1(HDMI) enable
[ 2035.036758] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 2035.036766] Extcon HDMI: HPD enabled
[ 2035.036934] tegradc 15210000.nvdisplay: hdmi: plugged
[ 2035.064344] tegradc 15210000.nvdisplay: blank - powerdown
[ 2035.126289] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2035.126293] Extcon AUX1(HDMI) disable
[ 2035.147693] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2035.147800] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2035.148439] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2035.148733] tegradc 15210000.nvdisplay: unblank
[ 2035.149555] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2035.149654] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2035.149745] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2035.150362] Parent Clock set for DC plld2
[ 2035.159931] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2035.161260] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2035.161287] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2035.197134] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2035.197138] Extcon AUX1(HDMI) enable
[ 2035.197215] tegradc 15210000.nvdisplay: unblank
[ 2035.228485] tegradc 15210000.nvdisplay: unblank
[ 2043.812168] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2043.812184] Extcon AUX1(HDMI) disable
[ 2043.833820] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2043.833934] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2043.834504] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2043.834946] tegradc 15210000.nvdisplay: blank - powerdown
[ 2043.846692] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 2043.846700] Extcon HDMI: HPD disabled
[ 2043.846740] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 2043.851060] tegradc 15210000.nvdisplay: blank - powerdown
[ 2043.851089] tegradc 15210000.nvdisplay: unblank
[ 2043.851109] tegradc 15210000.nvdisplay: unblank
[ 2044.183228] tegradc 15210000.nvdisplay: blank - powerdown
[ 2044.183258] tegradc 15210000.nvdisplay: unblank
[ 2044.184009] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2044.184118] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2044.184224] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2044.185971] Parent Clock set for DC plld2
[ 2044.190286] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2044.191713] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2044.191726] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2044.228349] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2044.228353] Extcon AUX1(HDMI) enable
[ 2044.235177] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 2044.235183] Extcon HDMI: HPD enabled
[ 2044.235251] tegradc 15210000.nvdisplay: hdmi: plugged
[ 2044.245688] tegradc 15210000.nvdisplay: blank - powerdown
[ 2044.308749] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2044.308753] Extcon AUX1(HDMI) disable
[ 2044.329849] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2044.329951] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2044.330587] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2044.331197] tegradc 15210000.nvdisplay: unblank
[ 2044.332724] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2044.333023] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2044.333128] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2044.333895] Parent Clock set for DC plld2
[ 2044.339778] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2044.341150] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2044.341182] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2044.376974] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2044.377014] Extcon AUX1(HDMI) enable
[ 2044.377110] tegradc 15210000.nvdisplay: unblank
[ 2044.407286] tegradc 15210000.nvdisplay: unblank
[ 2053.008901] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2053.008921] Extcon AUX1(HDMI) disable
[ 2053.031003] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2053.031108] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2053.031676] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2053.031879] tegradc 15210000.nvdisplay: blank - powerdown
[ 2053.031964] extcon-disp-state external-connection:disp-state: cable 51 state 0
[ 2053.031968] Extcon HDMI: HPD disabled
[ 2053.031995] tegradc 15210000.nvdisplay: hdmi: unplugged
[ 2053.037567] tegradc 15210000.nvdisplay: blank - powerdown
[ 2053.037600] tegradc 15210000.nvdisplay: unblank
[ 2053.037621] tegradc 15210000.nvdisplay: unblank
[ 2053.381083] tegradc 15210000.nvdisplay: blank - powerdown
[ 2053.381158] tegradc 15210000.nvdisplay: unblank
[ 2053.382181] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2053.382796] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2053.382955] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2053.385889] Parent Clock set for DC plld2
[ 2053.392881] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2053.394728] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2053.394798] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2053.437040] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2053.437044] Extcon AUX1(HDMI) enable
[ 2053.442160] extcon-disp-state external-connection:disp-state: cable 51 state 1
[ 2053.442167] Extcon HDMI: HPD enabled
[ 2053.443872] tegradc 15210000.nvdisplay: hdmi: plugged
[ 2053.468547] tegradc 15210000.nvdisplay: blank - powerdown
[ 2053.528822] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2053.528826] Extcon AUX1(HDMI) disable
[ 2053.549580] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2053.549675] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2053.550273] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2053.550694] tegradc 15210000.nvdisplay: unblank
[ 2053.551333] tegra_nvdisp_handle_pd_enable: Unpowergated Head0 pd
[ 2053.551448] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 2053.551535] tegra_nvdisp_handle_pd_enable: Unpowergated Head2 pd
[ 2053.552139] Parent Clock set for DC plld2
[ 2053.555940] tegradc 15210000.nvdisplay: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 2053.557327] tegradc 15210000.nvdisplay: hdmi: get RGB quant from EDID.
[ 2053.557337] tegradc 15210000.nvdisplay: hdmi: get YCC quant from EDID.
[ 2053.593297] extcon-disp-state external-connection:disp-state: cable 47 state 1
[ 2053.593301] Extcon AUX1(HDMI) enable
[ 2053.593590] tegradc 15210000.nvdisplay: unblank
[ 2053.625706] tegradc 15210000.nvdisplay: unblank
[ 2062.208277] extcon-disp-state external-connection:disp-state: cable 47 state 0
[ 2062.208293] Extcon AUX1(HDMI) disable
[ 2062.229806] tegra_nvdisp_handle_pd_disable: Powergated Head2 pd
[ 2062.229909] tegra_nvdisp_handle_pd_disable: Powergated Head1 pd
[ 2062.230615] tegra_nvdisp_handle_pd_disable: Powergated Head0 pd
[ 2062.230823] tegradc 15210000.nvdisplay: blank - powerdown
[ 2062.230916] extcon-disp-state external-connection:disp-state: cable 51 state 0

It looks like hdmi keeps detecting the unplug event. Are you using a devkit or your own custom carrier board?

Hi Wayne

I am using the devkit where I have plugged the BlackMagic converter into the HDMI port.

The converter will cause the unplug, replug to occur automatically if it doesn’t detect the correct video format.

So my suspicion is that the Tegra doesn’t output the correct settings (or that it’s too slow in applying them)

Do you know what the different disp-states mean? Cable 57 state 1 and Cable 47 state 0/1

I can possibly try and measure the PCLK to see if it is 148.5MHz using my oscilloscope but then I need some time to do a tear down on the converter to find the signal in the first place :-)

Yours truly

Lasse

Could you help clarify what kind of format does your convert need?

Hi @WayneWWW

The converter only wants to see a 1080p 60Hz Full HD signal which it demands via the EDID I mentioned in my first post that has the features mentioned below: - it doesn’t accept any other inputs than that I’m afraid.

Pixel Clock: 148.5MHz
Horizontal Active: 1920
Horizontal Blanking: 280
Vertical Active: 1080
Vertical Blanking: 45
Horizontal Sync Offset: 88
Horizontal Sync Pulse: 44
Vertical Sync Offset: 4
Vertical Sync Pulse: 5
Horizontal Display Size: 708
Vertical Display Size: 398
Horizontal Border: 0
Vertical Border: 0
Interlaced: false
Stereo Mode: 0
Sync Type: 3

So somehow the Tegra is not applying those values

Yt
Lasse

Hi @WayneWWW

I tried the converter on R28 which have the same result (it doesn’t work) but I got some debug info during boot up:

[0001.970] I> enabling ‘vdd-hdmi’ regulator
[0001.984] I> regulator ‘vdd-hdmi’ already enabled
[0001.989] I> hdmi cable connected
[0001.996] I> setting ‘vdd-pex-1v00’ regulator to 1000000 micro volts
[0002.006] I> setting ‘vdd-1v8’ regulator to 1800000 micro volts
[0002.012] I> found one nvdisp nodes at offset = 106144
[0002.032] I> edid read success
[0002.048] I> edid read success
[0002.050] I> width = 640, height = 480, frequency = 25174825
[0002.056] I> width = 1920, height = 1080, frequency = 148500000
[0002.062] I> width = 1920, height = 540, frequency = 74250000
[0002.067] I> width = 1280, height = 720, frequency = 74250000
[0002.073] I> width = 1920, height = 1080, frequency = 148351648
[0002.079] I> width = 1920, height = 1080, frequency = 148351648
[0002.084] I> width = 1920, height = 1080, frequency = 74175824
[0002.090] I> width = 1920, height = 1080, frequency = 74175824
[0002.096] I> width = 1920, height = 1080, frequency = 74175824
[0002.101] I> width = 1280, height = 720, frequency = 74175824
[0002.107] I> width = 1280, height = 720, frequency = 74175824
[0002.112] I> width = 720, height = 480, frequency = 26973026
[0002.118] I> width = 720, height = 480, frequency = 26973026
[0002.123] I> width = 720, height = 576, frequency = 26973026
[0002.129] I> width = 720, height = 576, frequency = 26973026
[0002.134] I> width = 640, height = 480, frequency = 25174825
[0002.140] I> Best mode Width = 1920, Height = 1080, freq = 148351648
[0002.150] I> hdmi_enable, starting HDMI initialisation
[0002.557] I> hdmi_enable, HDMI initialisation complete

For this converter to work it is extremely important that the pixel clock is a clean 148.5MHz and by the looks of it it seems that the debug info above mentions 148.351648 which will not work

Perhaps the problem lies in the clocking !

Regards
Lasse

Hi,

Could you dump the detailed status of the mode from tegra?

sudo -s
cat /sys/kernel/debug/tegardc.0/mode

BTW, you have to understand the log you just pasted is the cboot log but not kernel log. Bootloader uses different driver from kernel side. The HDMI init in your log is for the NVIDIA logo to show up on screen. After this step, it hand over to kernel driver.

But your comment is helpful because it reminds me of some old topic related to pclk. There was once a forum user trying to use DSI to whatever interface and he also needs a precise pclk.
However, I would say it is not possible to always have a precise pclk as you want. I think you might need to dump the pclk in kernel driver to see what is the exact pclk here. Old release may help print out this directly, but I am not sure the status of rel-32.

You might want to know how that forum user made his dsi work… he removed some pclk reset function in dsi driver. I guess you might need to do the same thing in hdmi driver too.

One more thing to mention… tegra HDMI only supports CEA modes. If the EDID’s primary mode is not a CEA one, then the driver would filter it out and choose other mode it can support.

Hi @WayneWWW

The output is as follows:

cat /sys/kernel/debug/tegradc.0/mode
pclk: 148500000
h_ref_to_sync: 1
v_ref_to_sync: 3
h_sync_width: 44
v_sync_width: 5
h_back_porch: 148
v_back_porch: 36
h_active: 1920
v_active: 1080
h_front_porch: 88
v_front_porch: 4
flags: 0x0
stereo_mode: 0
avi_m: 0x0
vmode: 0x600000

How does this compare to this:
Pixel Clock: 148.5MHz
Horizontal Active: 1920
Horizontal Blanking: 280
Vertical Active: 1080
Vertical Blanking: 45
Horizontal Sync Offset: 88
Horizontal Sync Pulse: 44
Vertical Sync Offset: 4
Vertical Sync Pulse: 5
Horizontal Display Size: 708
Vertical Display Size: 398
Horizontal Border: 0
Vertical Border: 0
Interlaced: false
Stereo Mode: 0
Sync Type: 3