diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-4430sdp.c')
-rw-r--r-- | arch/arm/mach-omap2/board-4430sdp.c | 71 |
1 files changed, 69 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c index 85805d432e38..670cbd567bf3 100644 --- a/arch/arm/mach-omap2/board-4430sdp.c +++ b/arch/arm/mach-omap2/board-4430sdp.c | |||
@@ -625,9 +625,76 @@ static struct omap_board_mux board_mux[] __initdata = { | |||
625 | OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), | 625 | OMAP4_MUX(USBB2_ULPITLL_CLK, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT), |
626 | { .reg_offset = OMAP_MUX_TERMINATOR }, | 626 | { .reg_offset = OMAP_MUX_TERMINATOR }, |
627 | }; | 627 | }; |
628 | |||
629 | static struct omap_device_pad serial2_pads[] __initdata = { | ||
630 | OMAP_MUX_STATIC("uart2_cts.uart2_cts", | ||
631 | OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0), | ||
632 | OMAP_MUX_STATIC("uart2_rts.uart2_rts", | ||
633 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
634 | OMAP_MUX_STATIC("uart2_rx.uart2_rx", | ||
635 | OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0), | ||
636 | OMAP_MUX_STATIC("uart2_tx.uart2_tx", | ||
637 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
638 | }; | ||
639 | |||
640 | static struct omap_device_pad serial3_pads[] __initdata = { | ||
641 | OMAP_MUX_STATIC("uart3_cts_rctx.uart3_cts_rctx", | ||
642 | OMAP_PIN_INPUT_PULLUP | OMAP_MUX_MODE0), | ||
643 | OMAP_MUX_STATIC("uart3_rts_sd.uart3_rts_sd", | ||
644 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
645 | OMAP_MUX_STATIC("uart3_rx_irrx.uart3_rx_irrx", | ||
646 | OMAP_PIN_INPUT | OMAP_MUX_MODE0), | ||
647 | OMAP_MUX_STATIC("uart3_tx_irtx.uart3_tx_irtx", | ||
648 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
649 | }; | ||
650 | |||
651 | static struct omap_device_pad serial4_pads[] __initdata = { | ||
652 | OMAP_MUX_STATIC("uart4_rx.uart4_rx", | ||
653 | OMAP_PIN_INPUT | OMAP_MUX_MODE0), | ||
654 | OMAP_MUX_STATIC("uart4_tx.uart4_tx", | ||
655 | OMAP_PIN_OUTPUT | OMAP_MUX_MODE0), | ||
656 | }; | ||
657 | |||
658 | static struct omap_board_data serial2_data = { | ||
659 | .id = 1, | ||
660 | .pads = serial2_pads, | ||
661 | .pads_cnt = ARRAY_SIZE(serial2_pads), | ||
662 | }; | ||
663 | |||
664 | static struct omap_board_data serial3_data = { | ||
665 | .id = 2, | ||
666 | .pads = serial3_pads, | ||
667 | .pads_cnt = ARRAY_SIZE(serial3_pads), | ||
668 | }; | ||
669 | |||
670 | static struct omap_board_data serial4_data = { | ||
671 | .id = 3, | ||
672 | .pads = serial4_pads, | ||
673 | .pads_cnt = ARRAY_SIZE(serial4_pads), | ||
674 | }; | ||
675 | |||
676 | static inline void board_serial_init(void) | ||
677 | { | ||
678 | struct omap_board_data bdata; | ||
679 | bdata.flags = 0; | ||
680 | bdata.pads = NULL; | ||
681 | bdata.pads_cnt = 0; | ||
682 | bdata.id = 0; | ||
683 | /* pass dummy data for UART1 */ | ||
684 | omap_serial_init_port(&bdata); | ||
685 | |||
686 | omap_serial_init_port(&serial2_data); | ||
687 | omap_serial_init_port(&serial3_data); | ||
688 | omap_serial_init_port(&serial4_data); | ||
689 | } | ||
628 | #else | 690 | #else |
629 | #define board_mux NULL | 691 | #define board_mux NULL |
630 | #endif | 692 | |
693 | static inline void board_serial_init(void) | ||
694 | { | ||
695 | omap_serial_init(); | ||
696 | } | ||
697 | #endif | ||
631 | 698 | ||
632 | static void __init omap_4430sdp_init(void) | 699 | static void __init omap_4430sdp_init(void) |
633 | { | 700 | { |
@@ -644,7 +711,7 @@ static void __init omap_4430sdp_init(void) | |||
644 | omap4_i2c_init(); | 711 | omap4_i2c_init(); |
645 | omap_sfh7741prox_init(); | 712 | omap_sfh7741prox_init(); |
646 | platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); | 713 | platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices)); |
647 | omap_serial_init(); | 714 | board_serial_init(); |
648 | omap4_twl6030_hsmmc_init(mmc); | 715 | omap4_twl6030_hsmmc_init(mmc); |
649 | 716 | ||
650 | usb_musb_init(&musb_board_data); | 717 | usb_musb_init(&musb_board_data); |