diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2017-07-28 07:44:21 -0700 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2017-07-30 21:20:03 +0200 |
commit | d6b22716b079a3e2224d1f60a5f6499dd68073af (patch) | |
tree | a10f1449d6a2cfd68b947a8b5c9a941982ea9008 /arch/arm | |
parent | 46d7b641e66945b4467ff0ffe894d4451cd86c0b (diff) | |
download | barebox-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.h | 19 |
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 |