Jetson Linux 36.3 , 接HDMI测试治具,clock不正常

Jetson Linux 36.3 , 接电视,clock正常。接HDMI测试治具,clock不正常 . NX/Nano 现象一样。
详细步骤如下:

  1. 接著螢幕開機,並確認螢幕解析度為4K@30Hz.


  1. 拔掉螢幕線.
  2. 接上HDMI測試製具.

  1. 確認Clock頻率為65MHz. (4K@30Hz:正確頻率為297MHz)

先確認一下我對這個問題的了解有沒有錯.

  1. 你接HDMI製具的時候是沒有其他螢幕的狀況對嗎?

  2. 請問你有用uart log確認xrandr跟/var/log/Xorg.0.log 在製具使用下的結果嗎?

  1. 你接HDMI製具的時候是沒有其他螢幕的狀況對嗎?
    对的。
  2. 請問你有用uart log確認xrandr跟/var/log/Xorg.0.log 在製具使用下的結果嗎?
    uart 输入 xrandr,提示cant open display , 要怎么看这个log?
    /var/log/Xorg.0.log 如下:
    Xorg.0.log (26.3 KB)

Hi, please follow below steps to do test. You can find more detail info in tuning guide doc in DLC.

  1. Disable Hot Plug Detect: The driver or OS may disable HDMI output if it detects the panel being disconnected. Try the following methods to prevent that:
    a. Method #1: Disable the HPD interrupt through software by setting the HPD pin to TRISTATE.
    b. Method #2: Disconnect the HPD circuit from the HDMI connector, manually rework HPD circuit to a desired voltage level to input to Orin to make the software consider HDMI is still connected.
    i. Refer to the carrier I/O board schematics for how to do that. If this method is chosen, the circuit must be restored before performing the HDMI certification tests.
  2. Configure the DUT to drive HDMI at the supported resolutions:
    a. 480p (27 MHz)
    b. 720p (74.25 MHz)
    c. 1080p (148.5 MHz)
    d. 2160p/30 (297 MHz)
    e. 2160p/60 (594 MHz)
  3. Attach the test fixture to the DUT.
  4. Attach the probe-ends to the test fixture, and properly connect the termination voltage to the probes. Untested lanes must be properly terminated.
  5. Attach the probes to the scope.

a. Method #1: Disable the HPD interrupt through software by setting the HPD pin to TRISTATE.

How to set HPD pin to tristate?
There is no tristate option in pinux_config.xlsm

Better to use Method #2 for that.

I can not modify the hardware by Method #2
So could you provide step by step instruction for Method #1 ?

直接去Linux_for_Tegra/bootloader下面把pinmux dtsi打開找到對應的PM.00 pin然後把tristate設定

tristate default 就是enable的,还需要修改吗?如果需要的话,要怎么修改?
dp_aux_ch0_hpd_pm0 {
nvidia,pins = “dp_aux_ch0_hpd_pm0”;
nvidia,function = “rsvd1”;
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_ENABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,io-high-voltage = <TEGRA_PIN_DISABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};

You can try setting it to unused in “Customer Usage” and Not Assigned in “Pin Direction”. As said, better to use Method #2 based on the reference schematic which only needs to remove a 0 ohm resistor as showing below.

In which file could I set {unused in “Customer Usage” and Not Assigned in “Pin Direction”} ? Can not find “Customer Usage” or “Pin Direction” in follow files.
bootloader/tegra234-mb1-bct-gpio-p3767-hdmi-a03.dtsi ?
bootloader/tegra234-mb1-bct-padvoltage-p3767-hdmi-a03.dtsi ?
bootloader/tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi ?

Pinmux sheet you posted above.

以下是我们理解的按Method #2 方法的步骤。请帮忙看看是否正确,特别是第三步

  1. 將HPD的电路R446斷開,並pull-high至3.3V電壓後,接上螢幕線開機.
  2. 在確認完其解析度後,拔掉螢幕線.
  3. 再將HPD電路復原原始狀態(这个是带电操作吗?还是ORIN Nano先断电,复原了再上电?),在接上測試製具.
  4. 製具接上探棒.
  5. 探棒接至示波器.
  • 將HPD的电路R446斷開,並pull-high至3.3V電壓後,接上螢幕線開機.
    To confirm the voltage level with your current display plug-in.

  • 再將HPD電路復原原始狀態(这个是带电操作吗?还是ORIN Nano先断电,复原了再上电?),在接上測試製具.
    No need to do this as the circuit must be restored only before performing the HDMI certification tests.

按着Method #2 验证,Clock是正确的。请问这问题要如何解决?
同样的custom board+Orin Nano/NX, 在jetson linux 35.5.0 上,Clock也是正确的,但在36.3上不正确。

Hi,

能請你在35.5跟36.3的狀況下同時抓xrandr的結果出來嗎? 我想這結果就會解釋為什麼clock不一樣了

另外請問, 你真的有做這些步驟嗎?

  • Configure the DUT to drive HDMI at the supported resolutions:
    a. 480p (27 MHz)
    b. 720p (74.25 MHz)
    c. 1080p (148.5 MHz)
    d. 2160p/30 (297 MHz)
    e. 2160p/60 (594 MHz)

接HDMI治具的时候没有抓xrandr的结果,因为没有显示,没法在桌面terminal运行xrandr,如果在串口下运行xrandr,会提示 can’t open display

Configure the DUT to drive HDMI at the supported resolutions:
这个DUT应该是指HDMI治具?如果是的话,是没有configure HDMI治具的分辨率的。
#1我们的步骤是ORIN Nano接显示器,ubuntu桌面设置2160p/30Hz。
#2拔掉显示器,接上HDMI治具。(HDMI治具没有任何操作界面可以设置分辨率,刷新率)
#3测到HDMI clock不正常(非297MHz)

在uart跑的時候請加上export DISPLAY=:0之後再跑xrandr.
真的不行就看當下的/var/log/Xorg.0.log.

我們的driver在EDID讀不到的情況下會給1024x768這個dummny mode. 你抓出來的65Mhz疑似是這個