iTop4412 uboot-2019.2移植之电源管理(四)

一、定位源码

通过查看lowlevel_init.c中的函数do_lowlevel_init可知,电源管理函数名称为set_ps_hold_ctrl

通过查看power.c,可找到函数set_ps_hold_ctrl。

二、修改源码

修改函数set_ps_hold_ctrl。

void set_ps_hold_ctrl(void)
{
    if (cpu_is_exynos5())
        exynos5_set_ps_hold_ctrl();

    if (cpu_is_exynos4())
        exynos4_set_ps_hold_ctrl();
}

在函数set_ps_hold_ctrl的上面增加新的函数

static void exynos4_set_ps_hold_ctrl(void)
{
    __asm__ __volatile__(
        "ldr     r0, =0x1002330C\n"
        "ldr     r1, =0x300\n"
        "str     r1, [r0]\n"
        
        "ldr     r0, =0x11000C08\n"
        "ldr     r1, [r0]\n"
        "bic     r1, r1, $0x30\n"
        "str     r1, [r0]\n"
        
        :
        :
        :"r0", "r1"
    );
}
电源芯片.png
GPIO.png

你可能感兴趣的:(iTop4412 uboot-2019.2移植之电源管理(四))