summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2016-03-24 17:41:08 +0800
committerYe Li <ye.li@nxp.com>2016-03-25 17:28:22 +0800
commit9b9d461472a3dde52dcea2f82388abdd6d364718 (patch)
tree1683e416fca0929fb58fcc71ca128b4e725c5212
parent5812550406d91b4a259e8bc7d91778a5341b3616 (diff)
downloadu-boot-imx-9b9d461472a3dde52dcea2f82388abdd6d364718.zip
u-boot-imx-9b9d461472a3dde52dcea2f82388abdd6d364718.tar.gz
u-boot-imx-9b9d461472a3dde52dcea2f82388abdd6d364718.tar.bz2
MLK-12576 imx: imx6ul: disable POR_B internal pull up
From TO1.1, SNVS adds internal pull up control for POR_B, the register filed is GPBIT[1:0], after system boot up, it can be set to 2b'01 to disable internal pull up. It can save about 30uA power in SNVS mode. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> (cherry picked from commit 5fd1cb94781926dca4bfdc2804f2550dcd6b65a5)
-rw-r--r--arch/arm/cpu/armv7/mx6/soc.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
index bd742bc..e95e19a 100644
--- a/arch/arm/cpu/armv7/mx6/soc.c
+++ b/arch/arm/cpu/armv7/mx6/soc.c
@@ -470,13 +470,24 @@ int arch_cpu_init(void)
set_ahb_rate(132000000);
}
- if (is_cpu_type(MXC_CPU_MX6UL) && is_soc_rev(CHIP_REV_1_0)) {
- /*
- * According to the design team's requirement on i.MX6UL,
- * the PMIC_STBY_REQ PAD should be configured as open
- * drain 100K (0x0000b8a0).
- */
- writel(0x0000b8a0, IOMUXC_BASE_ADDR + 0x29c);
+ if (is_cpu_type(MXC_CPU_MX6UL)) {
+ if (is_soc_rev(CHIP_REV_1_0)) {
+ /*
+ * According to the design team's requirement on i.MX6UL,
+ * the PMIC_STBY_REQ PAD should be configured as open
+ * drain 100K (0x0000b8a0).
+ */
+ writel(0x0000b8a0, IOMUXC_BASE_ADDR + 0x29c);
+ } else {
+ /*
+ * From TO1.1, SNVS adds internal pull up control for POR_B,
+ * the register filed is GPBIT[1:0], after system boot up,
+ * it can be set to 2b'01 to disable internal pull up.
+ * It can save about 30uA power in SNVS mode.
+ */
+ writel((readl(SNVS_LP_BASE_ADDR + 0x10) & (~0x1400)) | 0x400,
+ SNVS_LP_BASE_ADDR + 0x10);
+ }
}
/* Set perclk to source from OSC 24MHz */