在调试RK3288 Android 8.1系统遇到一个问题:开机启动uboot logo过渡到kernel log的过程中会花掉直到没有显示,再出现kernel logo。
分析:打印串口log时发现,uboot阶段显示一切正常,进入kernel以后就开始花掉了然后变成没有显示了,感觉像是慢慢掉电了一样,再继续查看log发现如下打印:
[ 0.363167] Registered fiq debugger ttyFIQ0
[ 0.402908] vcc_sd: regulator get failed, ret=-517
[ 0.403332] vcc_lcd: regulator get failed, ret=-517
[ 0.403709] vcc_wl: regulator get failed, ret=-517
vcc_lcd是屏电压供电脚,启动内核的时候没有注册上,查看dts节点:
vcc_lcd: vcc-lcd {
compatible = "regulator-fixed";
enable-active-high;
gpio = ;
pinctrl-names = "default";
pinctrl-0 = ;
regulator-name = "vcc_lcd";
vin-supply = ;
};
对比其他dts发现其中少了一个regulator-boot-on;
添加后如下:
vcc_lcd: vcc-lcd {
compatible = "regulator-fixed";
regulator-boot-on;
enable-active-high;
gpio = ;
pinctrl-names = "default";
pinctrl-0 = ;
regulator-name = "vcc_lcd";
vin-supply = ;
};
重新编译kernel,烧录显示正常了。