|
@@ -175,4 +175,29 @@ void imx_iomux_v3_setup_pad(iomux_v3_cfg_t pad);
|
|
|
void imx_iomux_v3_setup_multiple_pads(iomux_v3_cfg_t const *pad_list,
|
|
|
unsigned count);
|
|
|
|
|
|
+/* macros for declaring and using pinmux array */
|
|
|
+#if defined(CONFIG_MX6QDL)
|
|
|
+#define IOMUX_PADS(x) (MX6Q_##x), (MX6DL_##x)
|
|
|
+#define SETUP_IOMUX_PAD(def) \
|
|
|
+if (is_cpu_type(MXC_CPU_MX6Q)) { \
|
|
|
+ imx_iomux_v3_setup_pad(MX6Q_##def); \
|
|
|
+} else { \
|
|
|
+ imx_iomux_v3_setup_pad(MX6DL_##def); \
|
|
|
+}
|
|
|
+#define SETUP_IOMUX_PADS(x) \
|
|
|
+ imx_iomux_v3_setup_multiple_pads(x, ARRAY_SIZE(x)/2)
|
|
|
+#elif defined(CONFIG_MX6Q) || defined(CONFIG_MX6D)
|
|
|
+#define IOMUX_PADS(x) MX6Q_##x
|
|
|
+#define SETUP_IOMUX_PAD(def) \
|
|
|
+ imx_iomux_v3_setup_pad(MX6Q_##def);
|
|
|
+#define SETUP_IOMUX_PADS(x) \
|
|
|
+ imx_iomux_v3_setup_multiple_pads(x, ARRAY_SIZE(x))
|
|
|
+#else
|
|
|
+#define IOMUX_PADS(x) MX6DL_##x
|
|
|
+#define SETUP_IOMUX_PAD(def) \
|
|
|
+ imx_iomux_v3_setup_pad(MX6DL_##def);
|
|
|
+#define SETUP_IOMUX_PADS(x) \
|
|
|
+ imx_iomux_v3_setup_multiple_pads(x, ARRAY_SIZE(x))
|
|
|
+#endif
|
|
|
+
|
|
|
#endif /* __MACH_IOMUX_V3_H__*/
|