|
@@ -642,3 +642,128 @@ static struct omap_board_mux board_mux[] __initdata = {
|
|
|
OMAP3_MUX(CAM_VS, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
OMAP3_MUX(CAM_XCLKA, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
OMAP3_MUX(CAM_PCLK, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_FLD, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D0, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D1, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D2, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D3, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D4, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D5, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D6, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D7, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+ OMAP3_MUX(CAM_D8, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
|
|
|
+ OMAP3_MUX(CAM_D9, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLDOWN),
|
|
|
+ OMAP3_MUX(CAM_STROBE, OMAP_MUX_MODE0 | OMAP_PIN_INPUT),
|
|
|
+
|
|
|
+ OMAP3_MUX(CAM_D10, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN),
|
|
|
+ OMAP3_MUX(CAM_D11, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLDOWN),
|
|
|
+
|
|
|
+ /* display controls */
|
|
|
+ OMAP3_MUX(MCBSP1_FSR, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
|
|
+ OMAP3_MUX(GPMC_NCS7, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
|
|
+ OMAP3_MUX(GPMC_NCS3, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
|
|
+
|
|
|
+ /* TPS IRQ */
|
|
|
+ OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_WAKEUP_EN | \
|
|
|
+ OMAP_PIN_INPUT_PULLUP),
|
|
|
+
|
|
|
+ { .reg_offset = OMAP_MUX_TERMINATOR },
|
|
|
+};
|
|
|
+
|
|
|
+static void __init cm_t3x_common_dss_mux_init(int mux_mode)
|
|
|
+{
|
|
|
+ omap_mux_init_signal("dss_data18", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data19", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data20", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data21", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data22", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data23", mux_mode);
|
|
|
+}
|
|
|
+
|
|
|
+static void __init cm_t35_init_mux(void)
|
|
|
+{
|
|
|
+ int mux_mode = OMAP_MUX_MODE0 | OMAP_PIN_OUTPUT;
|
|
|
+
|
|
|
+ omap_mux_init_signal("dss_data0.dss_data0", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data1.dss_data1", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data2.dss_data2", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data3.dss_data3", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data4.dss_data4", mux_mode);
|
|
|
+ omap_mux_init_signal("dss_data5.dss_data5", mux_mode);
|
|
|
+ cm_t3x_common_dss_mux_init(mux_mode);
|
|
|
+}
|
|
|
+
|
|
|
+static void __init cm_t3730_init_mux(void)
|
|
|
+{
|
|
|
+ int mux_mode = OMAP_MUX_MODE3 | OMAP_PIN_OUTPUT;
|
|
|
+
|
|
|
+ omap_mux_init_signal("sys_boot0", mux_mode);
|
|
|
+ omap_mux_init_signal("sys_boot1", mux_mode);
|
|
|
+ omap_mux_init_signal("sys_boot3", mux_mode);
|
|
|
+ omap_mux_init_signal("sys_boot4", mux_mode);
|
|
|
+ omap_mux_init_signal("sys_boot5", mux_mode);
|
|
|
+ omap_mux_init_signal("sys_boot6", mux_mode);
|
|
|
+ cm_t3x_common_dss_mux_init(mux_mode);
|
|
|
+}
|
|
|
+#else
|
|
|
+static inline void cm_t35_init_mux(void) {}
|
|
|
+static inline void cm_t3730_init_mux(void) {}
|
|
|
+#endif
|
|
|
+
|
|
|
+static void __init cm_t3x_common_init(void)
|
|
|
+{
|
|
|
+ omap3_mux_init(board_mux, OMAP_PACKAGE_CUS);
|
|
|
+ omap_serial_init();
|
|
|
+ omap_sdrc_init(mt46h32m32lf6_sdrc_params,
|
|
|
+ mt46h32m32lf6_sdrc_params);
|
|
|
+ omap_hsmmc_init(mmc);
|
|
|
+ cm_t35_init_i2c();
|
|
|
+ omap_ads7846_init(1, CM_T35_GPIO_PENDOWN, 0, NULL);
|
|
|
+ cm_t35_init_ethernet();
|
|
|
+ cm_t35_init_led();
|
|
|
+ cm_t35_init_display();
|
|
|
+ omap_twl4030_audio_init("cm-t3x");
|
|
|
+
|
|
|
+ usb_musb_init(NULL);
|
|
|
+ cm_t35_init_usbh();
|
|
|
+ cm_t35_init_camera();
|
|
|
+}
|
|
|
+
|
|
|
+static void __init cm_t35_init(void)
|
|
|
+{
|
|
|
+ cm_t3x_common_init();
|
|
|
+ cm_t35_init_mux();
|
|
|
+ cm_t35_init_nand();
|
|
|
+}
|
|
|
+
|
|
|
+static void __init cm_t3730_init(void)
|
|
|
+{
|
|
|
+ cm_t3x_common_init();
|
|
|
+ cm_t3730_init_mux();
|
|
|
+}
|
|
|
+
|
|
|
+MACHINE_START(CM_T35, "Compulab CM-T35")
|
|
|
+ .atag_offset = 0x100,
|
|
|
+ .reserve = omap_reserve,
|
|
|
+ .map_io = omap3_map_io,
|
|
|
+ .init_early = omap35xx_init_early,
|
|
|
+ .init_irq = omap3_init_irq,
|
|
|
+ .handle_irq = omap3_intc_handle_irq,
|
|
|
+ .init_machine = cm_t35_init,
|
|
|
+ .init_late = omap35xx_init_late,
|
|
|
+ .timer = &omap3_timer,
|
|
|
+ .restart = omap3xxx_restart,
|
|
|
+MACHINE_END
|
|
|
+
|
|
|
+MACHINE_START(CM_T3730, "Compulab CM-T3730")
|
|
|
+ .atag_offset = 0x100,
|
|
|
+ .reserve = omap_reserve,
|
|
|
+ .map_io = omap3_map_io,
|
|
|
+ .init_early = omap3630_init_early,
|
|
|
+ .init_irq = omap3_init_irq,
|
|
|
+ .handle_irq = omap3_intc_handle_irq,
|
|
|
+ .init_machine = cm_t3730_init,
|
|
|
+ .init_late = omap3630_init_late,
|
|
|
+ .timer = &omap3_timer,
|
|
|
+ .restart = omap3xxx_restart,
|
|
|
+MACHINE_END
|