[PATCH] i.MX: iomuxv3: restore NO_PAD_CTRL semantic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



A NO_PAD_CTRL flag used to keep a pad configuration untouched.
With commit 094820a63bfd ("i.MX: iomuxv3: Use helper functions in iomux-v3.h")
the NO_PAD_CTRL semantic changed to set a pad configurations to zero, which
breaks non-DT boards, where NO_PAD_CTRL is freqently used to keep a boot-up
default pad configuration, which often is non zero.

Restore the old semantic, dont write PAD_CTRL when NO_PAD_CTRL is set.

Signed-off-by: Alexander Kurz <akurz@xxxxxxxx>
---
 arch/arm/mach-imx/include/mach/iomux-v3.h | 8 +++++---
 1 file 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 994c15c04..d1a72a2cf 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,
-- 
2.11.0


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux