|
@@ -625,9 +625,76 @@ static struct omap_board_mux board_mux[] __initdata = {
|
|
OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
|
OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
|
|
{ .reg_offset = OMAP_MUX_TERMINATOR },
|
|
{ .reg_offset = OMAP_MUX_TERMINATOR },
|
|
};
|
|
};
|
|
|
|
+
|
|
|
|
+static struct omap_device_pad serial2_pads[] __initdata = {
|
|
|
|
+ OMAP_MUX_STATIC("uart2_cts.uart2_cts",
|
|
|
|
+ OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart2_rts.uart2_rts",
|
|
|
|
+ OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart2_rx.uart2_rx",
|
|
|
|
+ OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart2_tx.uart2_tx",
|
|
|
|
+ OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_device_pad serial3_pads[] __initdata = {
|
|
|
|
+ OMAP_MUX_STATIC("uart3_cts_rctx.uart3_cts_rctx",
|
|
|
|
+ OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart3_rts_sd.uart3_rts_sd",
|
|
|
|
+ OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart3_rx_irrx.uart3_rx_irrx",
|
|
|
|
+ OMAP_PIN_INPUT | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart3_tx_irtx.uart3_tx_irtx",
|
|
|
|
+ OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_device_pad serial4_pads[] __initdata = {
|
|
|
|
+ OMAP_MUX_STATIC("uart4_rx.uart4_rx",
|
|
|
|
+ OMAP_PIN_INPUT | OMAP_MUX_MODE0),
|
|
|
|
+ OMAP_MUX_STATIC("uart4_tx.uart4_tx",
|
|
|
|
+ OMAP_PIN_OUTPUT | OMAP_MUX_MODE0),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_board_data serial2_data = {
|
|
|
|
+ .id = 1,
|
|
|
|
+ .pads = serial2_pads,
|
|
|
|
+ .pads_cnt = ARRAY_SIZE(serial2_pads),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_board_data serial3_data = {
|
|
|
|
+ .id = 2,
|
|
|
|
+ .pads = serial3_pads,
|
|
|
|
+ .pads_cnt = ARRAY_SIZE(serial3_pads),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct omap_board_data serial4_data = {
|
|
|
|
+ .id = 3,
|
|
|
|
+ .pads = serial4_pads,
|
|
|
|
+ .pads_cnt = ARRAY_SIZE(serial4_pads),
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static inline void board_serial_init(void)
|
|
|
|
+{
|
|
|
|
+ struct omap_board_data bdata;
|
|
|
|
+ bdata.flags = 0;
|
|
|
|
+ bdata.pads = NULL;
|
|
|
|
+ bdata.pads_cnt = 0;
|
|
|
|
+ bdata.id = 0;
|
|
|
|
+ /* pass dummy data for UART1 */
|
|
|
|
+ omap_serial_init_port(&bdata);
|
|
|
|
+
|
|
|
|
+ omap_serial_init_port(&serial2_data);
|
|
|
|
+ omap_serial_init_port(&serial3_data);
|
|
|
|
+ omap_serial_init_port(&serial4_data);
|
|
|
|
+}
|
|
#else
|
|
#else
|
|
#define board_mux NULL
|
|
#define board_mux NULL
|
|
-#endif
|
|
|
|
|
|
+
|
|
|
|
+static inline void board_serial_init(void)
|
|
|
|
+{
|
|
|
|
+ omap_serial_init();
|
|
|
|
+}
|
|
|
|
+ #endif
|
|
|
|
|
|
static void __init omap_4430sdp_init(void)
|
|
static void __init omap_4430sdp_init(void)
|
|
{
|
|
{
|
|
@@ -644,7 +711,7 @@ static void __init omap_4430sdp_init(void)
|
|
omap4_i2c_init();
|
|
omap4_i2c_init();
|
|
omap_sfh7741prox_init();
|
|
omap_sfh7741prox_init();
|
|
platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
|
|
platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
|
|
- omap_serial_init();
|
|
|
|
|
|
+ board_serial_init();
|
|
omap4_twl6030_hsmmc_init(mmc);
|
|
omap4_twl6030_hsmmc_init(mmc);
|
|
|
|
|
|
usb_musb_init(&musb_board_data);
|
|
usb_musb_init(&musb_board_data);
|