【飞凌】RK_3568跳过PCIE自检

一、背景介绍

  • 核心板为飞凌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文件。


以上为解决方案记录,仅以本司解决经验未记录,侵删。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容