summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-imx/include/mach/iomux-v3.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arm/mach-imx/include/mach/iomux-v3.h b/arch/arm/mach-imx/include/mach/iomux-v3.h
index 994c15c046..d1a72a2cf5 100644
--- a/arch/arm/mach-imx/include/mach/iomux-v3.h
+++ b/arch/arm/mach-imx/include/mach/iomux-v3.h
@@ -159,14 +159,16 @@ static inline void iomux_v3_setup_pad(void __iomem *iomux, unsigned int flags,
static inline void imx_setup_pad(void __iomem *iomux, iomux_v3_cfg_t pad)
{
- uint32_t pad_ctrl;
+ uint32_t conf_reg, pad_ctrl;
+ /* dont write PAD_CTRL when NO_PAD_CTRL is set */
pad_ctrl = IOMUX_PAD_CTRL(pad);
- pad_ctrl = (pad_ctrl & NO_PAD_CTRL) ? 0 : pad_ctrl,
+ conf_reg = IOMUX_PAD_CTRL_OFS(pad);
+ conf_reg = (pad_ctrl & NO_PAD_CTRL) ? 0 : conf_reg,
iomux_v3_setup_pad(iomux, 0,
IOMUX_CTRL_OFS(pad),
- IOMUX_PAD_CTRL_OFS(pad),
+ conf_reg,
IOMUX_SEL_INPUT_OFS(pad),
IOMUX_MODE(pad),
pad_ctrl,