|
@@ -651,3 +651,80 @@ static void __init omap4_sdp4430_wifi_mux_init(void)
|
|
|
OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP);
|
|
|
omap_mux_init_signal("sdmmc5_dat0.sdmmc5_dat0",
|
|
|
OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP);
|
|
|
+ omap_mux_init_signal("sdmmc5_dat1.sdmmc5_dat1",
|
|
|
+ OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP);
|
|
|
+ omap_mux_init_signal("sdmmc5_dat2.sdmmc5_dat2",
|
|
|
+ OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP);
|
|
|
+ omap_mux_init_signal("sdmmc5_dat3.sdmmc5_dat3",
|
|
|
+ OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP);
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = {
|
|
|
+ .board_ref_clock = WL12XX_REFCLOCK_26,
|
|
|
+ .board_tcxo_clock = WL12XX_TCXOCLOCK_26,
|
|
|
+};
|
|
|
+
|
|
|
+static void __init omap4_sdp4430_wifi_init(void)
|
|
|
+{
|
|
|
+ int ret;
|
|
|
+
|
|
|
+ omap4_sdp4430_wifi_mux_init();
|
|
|
+ omap4_sdp4430_wlan_data.irq = gpio_to_irq(GPIO_WIFI_IRQ);
|
|
|
+ ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data);
|
|
|
+ if (ret)
|
|
|
+ pr_err("Error setting wl12xx data: %d\n", ret);
|
|
|
+ ret = platform_device_register(&omap_vwlan_device);
|
|
|
+ if (ret)
|
|
|
+ pr_err("Error registering wl12xx device: %d\n", ret);
|
|
|
+}
|
|
|
+
|
|
|
+static void __init omap_4430sdp_init(void)
|
|
|
+{
|
|
|
+ int status;
|
|
|
+ int package = OMAP_PACKAGE_CBS;
|
|
|
+
|
|
|
+ if (omap_rev() == OMAP4430_REV_ES1_0)
|
|
|
+ package = OMAP_PACKAGE_CBL;
|
|
|
+ omap4_mux_init(board_mux, NULL, package);
|
|
|
+
|
|
|
+ omap4_i2c_init();
|
|
|
+ omap_sfh7741prox_init();
|
|
|
+ platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
|
|
|
+ omap_serial_init();
|
|
|
+ omap_sdrc_init(NULL, NULL);
|
|
|
+ omap4_sdp4430_wifi_init();
|
|
|
+ omap4_twl6030_hsmmc_init(mmc);
|
|
|
+
|
|
|
+ usb_musb_init(&musb_board_data);
|
|
|
+
|
|
|
+ status = omap_ethernet_init();
|
|
|
+ if (status) {
|
|
|
+ pr_err("Ethernet initialization failed: %d\n", status);
|
|
|
+ } else {
|
|
|
+ sdp4430_spi_board_info[0].irq = gpio_to_irq(ETH_KS8851_IRQ);
|
|
|
+ spi_register_board_info(sdp4430_spi_board_info,
|
|
|
+ ARRAY_SIZE(sdp4430_spi_board_info));
|
|
|
+ }
|
|
|
+
|
|
|
+ status = omap4_keyboard_init(&sdp4430_keypad_data, &keypad_data);
|
|
|
+ if (status)
|
|
|
+ pr_err("Keypad initialization failed: %d\n", status);
|
|
|
+
|
|
|
+ omap_4430sdp_display_init();
|
|
|
+}
|
|
|
+
|
|
|
+MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
|
|
|
+ /* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
|
|
|
+ .atag_offset = 0x100,
|
|
|
+ .smp = smp_ops(omap4_smp_ops),
|
|
|
+ .reserve = omap_reserve,
|
|
|
+ .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,
|
|
|
+ .init_late = omap4430_init_late,
|
|
|
+ .timer = &omap4_timer,
|
|
|
+ .restart = omap44xx_restart,
|
|
|
+MACHINE_END
|