rk3368 开机内核启动不了

Platform: RK3368

OS: Android 6.0

Kernel: 3.10.0

电源管理芯片用的是配套的rk818,经测量发现板子在上电启动时,u-boot阶段与kernel阶段dcdc电压不一样。从uboot切换到kernel时卡,串口打印只能打印到

Starting kernel ...

就没有打印了,内核没有继续跑下去。

跟踪代码发现uboot中rk818初始化与kernel中的不一样,这会使uboot跳转到kernel后电压出现波动,导致启动内核不能正常启动.改成一样即可解决boot阶段与kernel阶段电压不一样问题。

--- a/drivers/power/pmic/pmic_rk818.c
+++ b/drivers/power/pmic/pmic_rk818.c
@@ -172,10 +172,10 @@ static int rk818_dcdc_select_min_voltage(int min_uV, int max_uV ,int num_regulat
        u16 vsel =0;
        
        if (num_regulator == 0 || num_regulator ==  1){
-               if (min_uV < 700000)
+               if (min_uV < 712500)
                vsel = 0;
                else if (min_uV <= 1500000)
-               vsel = ((min_uV - 700000) / 12500) ;
+               vsel = ((min_uV - 712500) / 12500) ;
                else
                return -EINVAL;
        }

一般卡住问题,就是打印突然中止或者乱码,一般是pmic的 dcdc 电源出现问题。

1卡在Starting kernel ...

2 卡在syr827

3卡在rk818

附近时,一般是dcdc电源配置错误,导致cpu logic ddr vccio等的电压有误差。

你可能感兴趣的:(rk3368 开机内核启动不了)