|
@@ -0,0 +1,97 @@
|
|
|
+/*
|
|
|
+ * Copyright (C) 2010 Nokia
|
|
|
+ * Copyright (C) 2010 Texas Instruments
|
|
|
+ *
|
|
|
+ * This program is free software; you can redistribute it and/or modify
|
|
|
+ * it under the terms of the GNU General Public License version 2 as
|
|
|
+ * published by the Free Software Foundation.
|
|
|
+ */
|
|
|
+
|
|
|
+#include <linux/module.h>
|
|
|
+#include <linux/init.h>
|
|
|
+
|
|
|
+#include "mux.h"
|
|
|
+
|
|
|
+#ifdef CONFIG_OMAP_MUX
|
|
|
+
|
|
|
+#define _OMAP2420_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
|
|
|
+{ \
|
|
|
+ .reg_offset = (OMAP2420_CONTROL_PADCONF_##M0##_OFFSET), \
|
|
|
+ .gpio = (g), \
|
|
|
+ .muxnames = { m0, m1, m2, m3, m4, m5, m6, m7 }, \
|
|
|
+}
|
|
|
+
|
|
|
+#else
|
|
|
+
|
|
|
+#define _OMAP2420_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
|
|
|
+{ \
|
|
|
+ .reg_offset = (OMAP2420_CONTROL_PADCONF_##M0##_OFFSET), \
|
|
|
+ .gpio = (g), \
|
|
|
+}
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
+#define _OMAP2420_BALLENTRY(M0, bb, bt) \
|
|
|
+{ \
|
|
|
+ .reg_offset = (OMAP2420_CONTROL_PADCONF_##M0##_OFFSET), \
|
|
|
+ .balls = { bb, bt }, \
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * Superset of all mux modes for omap2420
|
|
|
+ */
|
|
|
+static struct omap_mux __initdata omap2420_muxmodes[] = {
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D0, 54,
|
|
|
+ "cam_d0", "hw_dbg2", "sti_dout", "gpio_54",
|
|
|
+ NULL, NULL, "etk_d2", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D1, 53,
|
|
|
+ "cam_d1", "hw_dbg3", "sti_din", "gpio_53",
|
|
|
+ NULL, NULL, "etk_d3", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D2, 52,
|
|
|
+ "cam_d2", "hw_dbg4", "mcbsp1_clkx", "gpio_52",
|
|
|
+ NULL, NULL, "etk_d4", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D3, 51,
|
|
|
+ "cam_d3", "hw_dbg5", "mcbsp1_dr", "gpio_51",
|
|
|
+ NULL, NULL, "etk_d5", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D4, 50,
|
|
|
+ "cam_d4", "hw_dbg6", "mcbsp1_fsr", "gpio_50",
|
|
|
+ NULL, NULL, "etk_d6", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D5, 49,
|
|
|
+ "cam_d5", "hw_dbg7", "mcbsp1_clkr", "gpio_49",
|
|
|
+ NULL, NULL, "etk_d7", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D6, 0,
|
|
|
+ "cam_d6", "hw_dbg8", NULL, NULL,
|
|
|
+ NULL, NULL, "etk_d8", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D7, 0,
|
|
|
+ "cam_d7", "hw_dbg9", NULL, NULL,
|
|
|
+ NULL, NULL, "etk_d9", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D8, 54,
|
|
|
+ "cam_d8", "hw_dbg10", NULL, "gpio_54",
|
|
|
+ NULL, NULL, "etk_d10", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_D9, 53,
|
|
|
+ "cam_d9", "hw_dbg11", NULL, "gpio_53",
|
|
|
+ NULL, NULL, "etk_d11", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_HS, 55,
|
|
|
+ "cam_hs", "hw_dbg1", "mcbsp1_dx", "gpio_55",
|
|
|
+ NULL, NULL, "etk_d1", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_LCLK, 57,
|
|
|
+ "cam_lclk", NULL, "mcbsp_clks", "gpio_57",
|
|
|
+ NULL, NULL, "etk_c1", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_VS, 56,
|
|
|
+ "cam_vs", "hw_dbg0", "mcbsp1_fsx", "gpio_56",
|
|
|
+ NULL, NULL, "etk_d0", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(CAM_XCLK, 0,
|
|
|
+ "cam_xclk", NULL, "sti_clk", NULL,
|
|
|
+ NULL, NULL, "etk_c2", NULL),
|
|
|
+ _OMAP2420_MUXENTRY(DSS_ACBIAS, 48,
|
|
|
+ "dss_acbias", NULL, "mcbsp2_fsx", "gpio_48",
|
|
|
+ NULL, NULL, NULL, NULL),
|
|
|
+ _OMAP2420_MUXENTRY(DSS_DATA10, 40,
|
|
|
+ "dss_data10", NULL, NULL, "gpio_40",
|
|
|
+ NULL, NULL, NULL, NULL),
|
|
|
+ _OMAP2420_MUXENTRY(DSS_DATA11, 41,
|
|
|
+ "dss_data11", NULL, NULL, "gpio_41",
|
|
|
+ NULL, NULL, NULL, NULL),
|
|
|
+ _OMAP2420_MUXENTRY(DSS_DATA12, 42,
|
|
|
+ "dss_data12", NULL, NULL, "gpio_42",
|
|
|
+ NULL, NULL, NULL, NULL),
|