|
@@ -0,0 +1,83 @@
|
|
|
+/*
|
|
|
+ * Copyright (C) 2009 Nokia
|
|
|
+ * Copyright (C) 2009 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 _OMAP3_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
|
|
|
+{ \
|
|
|
+ .reg_offset = (OMAP3_CONTROL_PADCONF_##M0##_OFFSET), \
|
|
|
+ .gpio = (g), \
|
|
|
+ .muxnames = { m0, m1, m2, m3, m4, m5, m6, m7 }, \
|
|
|
+}
|
|
|
+
|
|
|
+#else
|
|
|
+
|
|
|
+#define _OMAP3_MUXENTRY(M0, g, m0, m1, m2, m3, m4, m5, m6, m7) \
|
|
|
+{ \
|
|
|
+ .reg_offset = (OMAP3_CONTROL_PADCONF_##M0##_OFFSET), \
|
|
|
+ .gpio = (g), \
|
|
|
+}
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
+#define _OMAP3_BALLENTRY(M0, bb, bt) \
|
|
|
+{ \
|
|
|
+ .reg_offset = (OMAP3_CONTROL_PADCONF_##M0##_OFFSET), \
|
|
|
+ .balls = { bb, bt }, \
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * Superset of all mux modes for omap3
|
|
|
+ */
|
|
|
+static struct omap_mux __initdata omap3_muxmodes[] = {
|
|
|
+ _OMAP3_MUXENTRY(CAM_D0, 99,
|
|
|
+ "cam_d0", NULL, NULL, NULL,
|
|
|
+ "gpio_99", NULL, NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D1, 100,
|
|
|
+ "cam_d1", NULL, NULL, NULL,
|
|
|
+ "gpio_100", NULL, NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D10, 109,
|
|
|
+ "cam_d10", NULL, NULL, NULL,
|
|
|
+ "gpio_109", "hw_dbg8", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D11, 110,
|
|
|
+ "cam_d11", NULL, NULL, NULL,
|
|
|
+ "gpio_110", "hw_dbg9", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D2, 101,
|
|
|
+ "cam_d2", NULL, NULL, NULL,
|
|
|
+ "gpio_101", "hw_dbg4", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D3, 102,
|
|
|
+ "cam_d3", NULL, NULL, NULL,
|
|
|
+ "gpio_102", "hw_dbg5", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D4, 103,
|
|
|
+ "cam_d4", NULL, NULL, NULL,
|
|
|
+ "gpio_103", "hw_dbg6", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D5, 104,
|
|
|
+ "cam_d5", NULL, NULL, NULL,
|
|
|
+ "gpio_104", "hw_dbg7", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D6, 105,
|
|
|
+ "cam_d6", NULL, NULL, NULL,
|
|
|
+ "gpio_105", NULL, NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D7, 106,
|
|
|
+ "cam_d7", NULL, NULL, NULL,
|
|
|
+ "gpio_106", NULL, NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D8, 107,
|
|
|
+ "cam_d8", NULL, NULL, NULL,
|
|
|
+ "gpio_107", NULL, NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_D9, 108,
|
|
|
+ "cam_d9", NULL, NULL, NULL,
|
|
|
+ "gpio_108", NULL, NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_FLD, 98,
|
|
|
+ "cam_fld", NULL, "cam_global_reset", NULL,
|
|
|
+ "gpio_98", "hw_dbg3", NULL, "safe_mode"),
|
|
|
+ _OMAP3_MUXENTRY(CAM_HS, 94,
|