diff options
| -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 85805d432e3..670cbd567bf 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); |
