自定义载板。使用hdmi,显示器不能显示

硬件:jeston agx orin 64GB开发套件;自定义载板;
软件:jp6.0
适配过程:
1.更改bootloader相关,
tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi.txt (63.6 KB)
tegra234-mb2-bct-common.dtsi.txt (38.1 KB)
tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi.txt (2.7 KB)

2.更改设备树,在tegra234-p3737-0000+p3701-xxxx-nv-common.dtsi添加
display@13800000 {
os_gpio_hotplug_a = <&gpio TEGRA234_MAIN_GPIO(M, 0) GPIO_ACTIVE_HIGH>;
status = “okay”;
};
将tegra234-dcb-p3767-0000-hdmi.dts的内容复制到tegra234-dcb-p3737-0000-p3701-0000.dtsi里面
tegra234-dcb-p3737-0000-p3701-0000.dtsi.txt (28.2 KB)
编译后的设备树文件
tegra234-p3737-0000+p3701-0005-nv.dts.txt (317.6 KB)
3.未替换编译后的nvgpu.ko
4.烧写日志
flash_log5.txt (540.0 KB)

5.当前问题现象,上电后,能正常进入系统,但显示器一直没有信号输入
这是串口打印日志
pinmux.log (7.1 KB)
lsmod.log (5.2 KB)
xorg.log (18.0 KB)
dmesg.log (69.7 KB)

硬件部分截图

please refer to orin nx p3509+p3767 board config and add necessary field to your Orin 64GB board config too.

请参考 Orin NX P3509+P3767 板配置,具体参考文档或链接是什么,没找到

打開你的Linux_for_Tegra BSP目錄. 裡下有一個p3509+p3767的conf file. 這個東西是公板有開啟HDMI output的例子.

PINMUX_CONFIG=“tegra234-mb1-bct-pinmux-p3767-hdmi-a03.dtsi”;
PMC_CONFIG=“tegra234-mb1-bct-padvoltage-p3767-hdmi-a03.dtsi”;
OVERLAY_DTB_FILE+=“,tegra234-dcb-p3767-0000-hdmi.dtbo”;
DCE_OVERLAY_DTB_FILE=“tegra234-dcb-p3767-0000-hdmi.dtbo”;
下面这两个文件该怎样修改

不用修改. 這只是檔名看起來是給Orin NX用的 但實際上內容就是通用的DCB設定.

如果你要改的話就是去source code裡面找tegra234-dcb-p3767-0000-hdmi.dts. 改完重build而已.

我是将tegra234-dcb-p3767-0000-hdmi.dts的内容复制到tegra234-dcb-p3737-0000-p3701-0000.dtsi里面
pinmux和gpio的hdmi相关都已经修改成tegra234-mb1-bct-padvoltage-p3767-hdmi-a03.dtsi里面的内容了,但是系统加载后 还是xrandr有hdmi-0,显示器没有输出东西
热插拔的时候串口打印jeston@tegra-ubuntu:~$ [ 46.529009] ------------[ cut here ]------------
[ 46.529044] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:632 tegra186_gpio_irq+0x1ec/0x250
[ 46.529501] —[ end trace 6e11589aabccb785 ]—
[ 65.963843] ------------[ cut here ]------------
[ 65.963870] WARNING: CPU: 0 PID: 0 at drivers/gpio/gpio-tegra186.c:632 tegra186_gpio_irq+0x1ec/0x250
[ 65.964126] —[ end trace 6e11589aabccb786 ]—

請問是不是還在用rel-35? 現在是在改哪一版?

用的36.3,在之前rgmii调好的基础上,进行增量修改

OVERLAY_DTB_FILE+=“,tegra234-dcb-p3767-0000-hdmi.dtbo”;
DCE_OVERLAY_DTB_FILE=“tegra234-dcb-p3767-0000-hdmi.dtbo”;

如果是rel-36的話, 建議你這兩個還是留著用tegra234-dcb-p3767-0000-hdmi.dtbo就可以了

然後kernel dts裡面的部份就只要加上 os_gpio_hotplug_a = <&gpio TEGRA234_MAIN_GPIO(M, 0) GPIO_ACTIVE_HIGH>;

1.这个没明白什么意思,
image

2.我是在tegra234-p3737-0000+p3701-xxxx-nv-common.dtsi加的
os_gpio_hotplug_a = <&gpio TEGRA234_MAIN_GPIO(M, 0) GPIO_ACTIVE_HIGH>;现在烧写的这版就有这个配置

我的意思是你這兩行還是留在你的board config裡面. 不要改任何內容.

OVERLAY_DTB_FILE+=“,tegra234-dcb-p3767-0000-hdmi.dtbo”;
DCE_OVERLAY_DTB_FILE=“tegra234-dcb-p3767-0000-hdmi.dtbo”

DCB就交給這兩行處理 不用自己COPY東西去tegra234-dcb-p3737-0000-p3701-0000.dtsi

但是OVERLAY_DTB_FILE+=“,tegra234-dcb-p3767-0000-hdmi.dtbo”;
DCE_OVERLAY_DTB_FILE=“tegra234-dcb-p3767-0000-hdmi.dtbo”存在于p3509-a02-p3767-0000.conf文件里面,我并没有将这个2个语句放在p3737 p3701的conf文件

是 , 那現在就請你放進去.

我在p3737-0000-p3701-0000.conf文件追加这两个语句


这样可以吗

是的. 看起來是對的

不行,还是没有显示输出
tegra234-p3737-0000+p3701-0005-nv.dts.log (170.3 KB)
tegra234-p3737-0000+p3701-xxxx-nv-common.dtsi.log (4.5 KB)
tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi.log (63.6 KB)
tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi.txt (2.7 KB)
这是我现在的配置,能再帮我看看有什么问题吗?
dmesg.txt (66.4 KB)

麻煩在接著螢幕的狀態下給我/var/log/xorg.0.log 跟xrandr的結果.