diff options
author | Eric Nelson <eric.nelson@boundarydevices.com> | 2013-11-13 16:36:19 -0700 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2013-12-17 17:12:34 +0100 |
commit | b47abc36aaa4695ed50226ca1f3bd8f0b58bdaa6 (patch) | |
tree | 0648fcddcea3a3f23b5b32fb9546997e558e1466 /arch/arm/include/asm/arch-mx6/mx6-pins.h | |
parent | 570aa2fac3322e2e8c9dc5b4c1ac4ac95c22f9f6 (diff) |
i.MX6 (DQ/DLS): use macros for mux and pad declarations
This allows the use of either or both declarations from
the files mx6q_pins.h and mx6dl_pins.h.
All board files should include <asm/arch/mx6-pins.h>
with one of the following defined in boards.cfg
MX6Q - for boards targeting i.MX6Q or i.MX6D
MX6DL - for boards targeting i.MX6DL
MX6S - for boards targeting i.MX6S
MX6QDL - for boards that support any of the above with
run-time detection
Pad declarations will be MX6_PAD_x for single-variant boards
and MX6Q_PAD_x and MX6DL_PAD_x for boards supporting both
processor classes.
Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Acked-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'arch/arm/include/asm/arch-mx6/mx6-pins.h')
-rw-r--r-- | arch/arm/include/asm/arch-mx6/mx6-pins.h | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/arch/arm/include/asm/arch-mx6/mx6-pins.h b/arch/arm/include/asm/arch-mx6/mx6-pins.h index 1c9e3fe204..dcd7f8f327 100644 --- a/arch/arm/include/asm/arch-mx6/mx6-pins.h +++ b/arch/arm/include/asm/arch-mx6/mx6-pins.h @@ -6,18 +6,37 @@ #ifndef __ASM_ARCH_MX6_PINS_H__ #define __ASM_ARCH_MX6_PINS_H__ -#ifdef CONFIG_MX6Q +#include <asm/imx-common/iomux-v3.h> + +#define MX6_PAD_DECLARE(prefix, name, pco, mc, mm, sio, si, pc) \ + prefix##name = IOMUX_PAD(pco, mc, mm, sio, si, pc) + +#ifdef CONFIG_MX6QDL +enum { +#define MX6_PAD_DECL(name, pco, mc, mm, sio, si, pc) \ + MX6_PAD_DECLARE(MX6Q_PAD_,name, pco, mc, mm, sio, si, pc), #include "mx6q_pins.h" -#else -#if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S) +#undef MX6_PAD_DECL +#define MX6_PAD_DECL(name, pco, mc, mm, sio, si, pc) \ + MX6_PAD_DECLARE(MX6DL_PAD_,name, pco, mc, mm, sio, si, pc), #include "mx6dl_pins.h" -#else -#if defined(CONFIG_MX6SL) +}; +#elif defined(CONFIG_MX6Q) +enum { +#define MX6_PAD_DECL(name, pco, mc, mm, sio, si, pc) \ + MX6_PAD_DECLARE(MX6_PAD_,name, pco, mc, mm, sio, si, pc), +#include "mx6q_pins.h" +}; +#elif defined(CONFIG_MX6DL) || defined(CONFIG_MX6S) +enum { +#define MX6_PAD_DECL(name, pco, mc, mm, sio, si, pc) \ + MX6_PAD_DECLARE(MX6_PAD_,name, pco, mc, mm, sio, si, pc), +#include "mx6dl_pins.h" +}; +#elif defined(CONFIG_MX6SL) #include "mx6sl_pins.h" #else #error "Please select cpu" -#endif /* CONFIG_MX6SL */ -#endif /* CONFIG_MX6DL or CONFIG_MX6S */ #endif /* CONFIG_MX6Q */ #endif /*__ASM_ARCH_MX6_PINS_H__ */ |