Merge commit 'v3.3-rc1' into fbdev-next
[~shefty/rdma-dev.git] / arch / arm / mach-omap2 / board-4430sdp.c
index 0ce758edaad27273293f3107898ce4b0b13b5dda..21fc876486601ff13f24220ef78512dc586a2e87 100644 (file)
 #include <linux/leds_pwm.h>
 
 #include <mach/hardware.h>
-#include <mach/omap4-common.h>
+#include <asm/hardware/gic.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/map.h>
 
 #include <plat/board.h>
-#include <plat/common.h>
+#include "common.h"
 #include <plat/usb.h>
 #include <plat/mmc.h>
 #include <plat/omap4-keypad.h>
@@ -373,11 +373,17 @@ static struct platform_device sdp4430_vbat = {
        },
 };
 
+static struct platform_device sdp4430_dmic_codec = {
+       .name   = "dmic-codec",
+       .id     = -1,
+};
+
 static struct platform_device *sdp4430_devices[] __initdata = {
        &sdp4430_gpio_keys_device,
        &sdp4430_leds_gpio,
        &sdp4430_leds_pwm,
        &sdp4430_vbat,
+       &sdp4430_dmic_codec,
 };
 
 static struct omap_musb_board_data musb_board_data = {
@@ -405,6 +411,7 @@ static struct omap2_hsmmc_info mmc[] = {
        {
                .mmc            = 5,
                .caps           = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
+               .pm_caps        = MMC_PM_KEEP_POWER,
                .gpio_cd        = -EINVAL,
                .gpio_wp        = -EINVAL,
                .ocr_mask       = MMC_VDD_165_195,
@@ -840,74 +847,8 @@ static struct omap_board_mux board_mux[] __initdata = {
        { .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 __initdata = {
-       .id             = 1,
-       .pads           = serial2_pads,
-       .pads_cnt       = ARRAY_SIZE(serial2_pads),
-};
-
-static struct omap_board_data serial3_data __initdata = {
-       .id             = 2,
-       .pads           = serial3_pads,
-       .pads_cnt       = ARRAY_SIZE(serial3_pads),
-};
-
-static struct omap_board_data serial4_data __initdata = {
-       .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
 #define board_mux      NULL
-
-static inline void board_serial_init(void)
-{
-       omap_serial_init();
-}
  #endif
 
 static void omap4_sdp4430_wifi_mux_init(void)
@@ -957,7 +898,7 @@ static void __init omap_4430sdp_init(void)
        omap4_i2c_init();
        omap_sfh7741prox_init();
        platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
-       board_serial_init();
+       omap_serial_init();
        omap_sdrc_init(NULL, NULL);
        omap4_sdp4430_wifi_init();
        omap4_twl6030_hsmmc_init(mmc);
@@ -987,6 +928,8 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
        .map_io         = omap4_map_io,
        .init_early     = omap4430_init_early,
        .init_irq       = gic_init_irq,
+       .handle_irq     = gic_handle_irq,
        .init_machine   = omap_4430sdp_init,
        .timer          = &omap4_timer,
+       .restart        = omap_prcm_restart,
 MACHINE_END