Jetson Xavier NX修改cboot后卡住启动不起来

Jetson Xavier NX上参照指导自己修改编译cboot,卡住进行不下去了。
修改点:
在load_and_boot_kernel()函数里err = display_boot_logo();后面调用
hi2c=tegrabl_i2c_dev_open(TEGRABL_INSTANCE_I2C9, I2C_ADDR, 1, 1);
tegrabl_i2c_dev_close(hi2c);

i2c是挂载I2C1总线上,直接卡在tegrabl_i2c_dev_open上了,进行不下去了。
跟踪了一下代码,发现在函数dpaux_prod_set(struct tegrabl_dpaux *hdpaux, uint32_t mode)里面
if ((off < 0) || (off > (NV_ADDRESS_MAP_DPAUX_SIZE - *(int32_t )hdpaux->base))) {
pr_error(“dpaux address offset is out of bounds\n”);
goto fail;
}
使用
(int32_t *)hdpaux->base是会卡住,打印了也不是空指针,指针地址
hdpaux->base=0x155f0000
不知道具体什么原因

找到一点规律,插上HDMI显示屏就可以正常走下去,如果不插显示屏就卡死。HDMI与I2c之间有什么关联关系吗?

在cboot里能获取到载板的型号信息吗?

使用版本和参照文档见下面链接

请帮忙确认一下是什么原因导致的,谢谢!!

Hi @user2125,

欢迎访问开发者论坛,我转给相关的同事看一下。

这个可能是对应模块的clock没有打开。
你可以搜一下对应的代码。如果系统检测到HDMI的插入,会把相关模块的clock打开。
DPAUX是访问HDMI sink需要打开的

br
ChenJian