summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorAndrey Smirnov <andrew.smirnov@gmail.com>2017-07-28 07:44:21 -0700
committerLucas Stach <l.stach@pengutronix.de>2017-07-30 21:20:03 +0200
commitd6b22716b079a3e2224d1f60a5f6499dd68073af (patch)
treea10f1449d6a2cfd68b947a8b5c9a941982ea9008 /arch/arm
parent46d7b641e66945b4467ff0ffe894d4451cd86c0b (diff)
downloadbarebox-d6b22716b079a3e2224d1f60a5f6499dd68073af.tar.gz
barebox-d6b22716b079a3e2224d1f60a5f6499dd68073af.tar.xz
ARM: i.MX: Add mx7_setup_pad()
Add mx7_setup_pad() low-level convenience function for setting up pinmux in PBL code. Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-imx/include/mach/iomux-mx7.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/include/mach/iomux-mx7.h b/arch/arm/mach-imx/include/mach/iomux-mx7.h
index 378e73a745..2667dc3eb3 100644
--- a/arch/arm/mach-imx/include/mach/iomux-mx7.h
+++ b/arch/arm/mach-imx/include/mach/iomux-mx7.h
@@ -1306,4 +1306,23 @@ enum {
MX7D_PAD_ENET1_COL__CSU_INT_DEB = IOMUX_PAD(0x04D8, 0x0268, 7, 0x0000, 0, 0),
};
+static inline void mx7_setup_pad(void __iomem *iomux, iomux_v3_cfg_t pad)
+{
+ unsigned int flags = 0;
+ uint32_t mode = IOMUX_MODE(pad);
+
+ if (mode & IOMUX_CONFIG_LPSR) {
+ mode &= ~IOMUX_CONFIG_LPSR;
+ flags = ZERO_OFFSET_VALID | IMX7_PINMUX_LPSR;
+ }
+
+ iomux_v3_setup_pad(iomux, flags,
+ IOMUX_CTRL_OFS(pad),
+ IOMUX_PAD_CTRL_OFS(pad),
+ IOMUX_SEL_INPUT_OFS(pad),
+ mode,
+ IOMUX_PAD_CTRL(pad),
+ IOMUX_SEL_INPUT(pad));
+}
+
#endif