summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPeng Fan <peng.fan@nxp.com>2016-10-11 13:00:37 +0800
committerPeng Fan <peng.fan@nxp.com>2016-10-11 13:00:37 +0800
commite54356eb1374fe6b59f4dd4b4b60790dbe8bbad9 (patch)
tree07b26b46b5b9ff6ce1863e7abdfa14cb4c08e200 /arch
parentd03cc466a5dbd94c1d9bcbdc574ad31512d8b24f (diff)
downloadu-boot-imx-e54356eb1374fe6b59f4dd4b4b60790dbe8bbad9.zip
u-boot-imx-e54356eb1374fe6b59f4dd4b4b60790dbe8bbad9.tar.gz
u-boot-imx-e54356eb1374fe6b59f4dd4b4b60790dbe8bbad9.tar.bz2
MLK-13307-5 imx: mx6sll: add iomux settings
Add iomux settings for i.MX6 SLL Signed-off-by: Peng Fan <peng.fan@nxp.com> Signed-off-by: Ye.Li <ye.li@nxp.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/imx-common/iomux-v3.c11
-rw-r--r--arch/arm/include/asm/imx-common/iomux-v3.h3
2 files changed, 10 insertions, 4 deletions
diff --git a/arch/arm/imx-common/iomux-v3.c b/arch/arm/imx-common/iomux-v3.c
index 338f564..0123fa2 100644
--- a/arch/arm/imx-common/iomux-v3.c
+++ b/arch/arm/imx-common/iomux-v3.c
@@ -31,7 +31,7 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
(pad & MUX_PAD_CTRL_OFS_MASK) >> MUX_PAD_CTRL_OFS_SHIFT;
u32 pad_ctrl = (pad & MUX_PAD_CTRL_MASK) >> MUX_PAD_CTRL_SHIFT;
-#if defined CONFIG_MX6SL
+#if defined(CONFIG_MX6SL) || defined(CONFIG_MX6SLL)
/* Check whether LVE bit needs to be set */
if (pad_ctrl & PAD_CTL_LVE) {
pad_ctrl &= ~PAD_CTL_LVE;
@@ -51,7 +51,7 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
sel_input_ofs += IOMUX_LPSR_SEL_INPUT_OFS;
}
#else
- if (is_cpu_type(MXC_CPU_MX6ULL)) {
+ if (is_cpu_type(MXC_CPU_MX6ULL) || is_cpu_type(MXC_CPU_MX6SLL)) {
if (lpsr == IOMUX_CONFIG_LPSR) {
base = (void *)IOMUXC_SNVS_BASE_ADDR;
mux_mode &= ~IOMUX_CONFIG_LPSR;
@@ -60,7 +60,8 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
#endif
#endif
- if (is_soc_type(MXC_SOC_MX7) || is_cpu_type(MXC_CPU_MX6ULL) || mux_ctrl_ofs)
+ if (is_soc_type(MXC_SOC_MX7) || is_cpu_type(MXC_CPU_MX6ULL) ||
+ is_cpu_type(MXC_CPU_MX6SLL) || mux_ctrl_ofs)
__raw_writel(mux_mode, base + mux_ctrl_ofs);
if (sel_input_ofs)
@@ -73,6 +74,10 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad)
#else
if (!(pad_ctrl & NO_PAD_CTRL) && pad_ctrl_ofs)
__raw_writel(pad_ctrl, base + pad_ctrl_ofs);
+#if defined(CONFIG_MX6SLL)
+ else if ((pad_ctrl & NO_PAD_CTRL) && pad_ctrl_ofs)
+ clrbits_le32(base + pad_ctrl_ofs, PAD_CTL_IPD_BIT);
+#endif
#endif
#ifdef CONFIG_IOMUX_LPSR
diff --git a/arch/arm/include/asm/imx-common/iomux-v3.h b/arch/arm/include/asm/imx-common/iomux-v3.h
index a716a80..5ef5b5a 100644
--- a/arch/arm/include/asm/imx-common/iomux-v3.h
+++ b/arch/arm/include/asm/imx-common/iomux-v3.h
@@ -144,9 +144,10 @@ typedef u64 iomux_v3_cfg_t;
#define PAD_CTL_DSE_40ohm (6 << 3)
#define PAD_CTL_DSE_34ohm (7 << 3)
-#if defined CONFIG_MX6SL
+#if defined(CONFIG_MX6SL) || defined(CONFIG_MX6SLL)
#define PAD_CTL_LVE (1 << 1)
#define PAD_CTL_LVE_BIT (1 << 22)
+#define PAD_CTL_IPD_BIT (1 << 27)
#endif
#elif defined(CONFIG_VF610)