一、背景介绍
- 核心板为飞凌RK_3568开发板,系统为Android 11;
- 底板为自制底板,去除了pcie模块。
- 问题:核心板在自制底板上不能正常启动点亮屏幕。
- 原因:根据日志查看是因为PCIE自检不通过重复启动导致,需要编译源码,修改pcie相关的配置status="disabled"来解决。
- 注意:重新烧录后,可能会出现在logo页重复启动的情况,这个时候需要修改看门狗时间为60s(默认是5s),单独生成uboot.img镜像后烧录uboot.img镜像。
二、修改内容
1.修改内存设备树,指定屏幕类型
修改home/forlinx/3568/OK3568-android11-sources/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi
中的forlinx_control
为:
forlinx_control {
status = "okay";
video-hdmi = "off";
video-mipi-edp = "edp";
video-lvds = "off";
};
2.修改PCIE配置,跳过PCIE自检
修改home/forlinx/3568/OK3568-android11-sources/kernel/arch/arm64/boot/dts/rockchip/OK3568-C-common.dtsi
中的PCIE相关的status
为:
&pcie30phy {
status = "disabled";
};
&pcie3x2 {
reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
enable-gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_sys>;
status = "disabled";
};
&pcie2x1 {
reset-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_sys>;
status = "disabled";
};
注:如果您的自制底板使用的是sata方式,需要参考Android手册上的pcie转sata方法,新增对应的配置。
三、编译后重新烧录update.img即可。
四、修改默认的看门狗时间
修改home/forlinx/3568/OK3568-android11-sources/u-boot/board/rockchip/ok3568/0k3568.c
中的看门狗时间为:
ret = uclass_get_device(UCLASS_WDT, 0, &dev);
if (!ret) {
if(env_get_yesno("watchdog"))
wdt_start(dev, 60000, 0);
else
wdt_stop(dev);
}
执行以下命令生成uboot.img文件:
source build/envsetup.sh
lunch ok3568_r-userdebug
./build.sh -UKAup
单步烧写/OK3568-android11-source/u-boot/uboot.img
文件。
以上为解决方案记录,仅以本司解决经验未记录,侵删。