imx: mx6: soc: fix mx6sll settings
authorPeng Fan <peng.fan@nxp.com>
Tue, 8 Aug 2017 08:21:35 +0000 (16:21 +0800)
committerStefano Babic <sbabic@denx.de>
Wed, 16 Aug 2017 09:56:22 +0000 (11:56 +0200)
There is not LDO_SOC/PU/ARM/MMDC1 on i.MX6SLL, also no need to gate/ungate
all PFDs to make PFD working.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
arch/arm/mach-imx/mx6/soc.c

index c15b9cb8e2f937ac8346d0f15ecf3485154d578e..e87a21513e0e53a228216cb2ec6c1970f8dd430d 100644 (file)
@@ -251,6 +251,10 @@ static int set_ldo_voltage(enum ldo_reg ldo, u32 mv)
        u32 val, step, old, reg = readl(&anatop->reg_core);
        u8 shift;
 
+       /* No LDO_SOC/PU/ARM */
+       if (is_mx6sll())
+               return 0;
+
        if (mv < 725)
                val = 0x00;     /* Power gated off */
        else if (mv > 1450)
@@ -310,7 +314,7 @@ static void clear_mmdc_ch_mask(void)
        reg = readl(&mxc_ccm->ccdr);
 
        /* Clear MMDC channel mask */
-       if (is_mx6sx() || is_mx6ul() || is_mx6ull() || is_mx6sl())
+       if (is_mx6sx() || is_mx6ul() || is_mx6ull() || is_mx6sl() || is_mx6sll())
                reg &= ~(MXC_CCM_CCDR_MMDC_CH1_HS_MASK);
        else
                reg &= ~(MXC_CCM_CCDR_MMDC_CH1_HS_MASK | MXC_CCM_CCDR_MMDC_CH0_HS_MASK);
@@ -512,6 +516,10 @@ uint mmc_get_env_part(struct mmc *mmc)
 
 int board_postclk_init(void)
 {
+       /* NO LDO SOC on i.MX6SLL */
+       if (is_mx6sll())
+               return 0;
+
        set_ldo_voltage(LDO_SOC, 1175); /* Set VDDSOC to 1.175V */
 
        return 0;
@@ -593,7 +601,7 @@ void s_init(void)
        u32 mask528;
        u32 reg, periph1, periph2;
 
-       if (is_mx6sx() || is_mx6ul() || is_mx6ull())
+       if (is_mx6sx() || is_mx6ul() || is_mx6ull() || is_mx6sll())
                return;
 
        /* Due to hardware limitation, on MX6Q we need to gate/ungate all PFDs