|
@@ -27,6 +27,7 @@
|
|
|
#include <linux/i2c/twl.h>
|
|
|
#include <linux/regulator/machine.h>
|
|
|
#include <linux/regulator/fixed.h>
|
|
|
+#include <linux/wl12xx.h>
|
|
|
|
|
|
#include <mach/hardware.h>
|
|
|
#include <mach/omap4-common.h>
|
|
@@ -47,6 +48,7 @@
|
|
|
#define GPIO_HUB_POWER 1
|
|
|
#define GPIO_HUB_NRESET 62
|
|
|
#define GPIO_WIFI_PMENA 43
|
|
|
+#define GPIO_WIFI_IRQ 53
|
|
|
|
|
|
static struct gpio_led gpio_leds[] = {
|
|
|
{
|
|
@@ -163,6 +165,15 @@ static struct omap2_hsmmc_info mmc[] = {
|
|
|
.gpio_wp = -EINVAL,
|
|
|
.gpio_cd = -EINVAL,
|
|
|
},
|
|
|
+ {
|
|
|
+ .name = "wl1271",
|
|
|
+ .mmc = 5,
|
|
|
+ .caps = MMC_CAP_4_BIT_DATA | MMC_CAP_POWER_OFF_CARD,
|
|
|
+ .gpio_wp = -EINVAL,
|
|
|
+ .gpio_cd = -EINVAL,
|
|
|
+ .ocr_mask = MMC_VDD_165_195,
|
|
|
+ .nonremovable = true,
|
|
|
+ },
|
|
|
{} /* Terminator */
|
|
|
};
|
|
|
|
|
@@ -204,6 +215,12 @@ static struct platform_device omap_vwlan_device = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+struct wl12xx_platform_data omap_panda_wlan_data __initdata = {
|
|
|
+ .irq = OMAP_GPIO_IRQ(GPIO_WIFI_IRQ),
|
|
|
+ /* PANDA ref clock is 38.4 MHz */
|
|
|
+ .board_ref_clock = 2,
|
|
|
+};
|
|
|
+
|
|
|
static int omap4_twl6030_hsmmc_late_init(struct device *dev)
|
|
|
{
|
|
|
int ret = 0;
|
|
@@ -447,6 +464,9 @@ static void __init omap4_panda_init(void)
|
|
|
package = OMAP_PACKAGE_CBL;
|
|
|
omap4_mux_init(board_mux, package);
|
|
|
|
|
|
+ if (wl12xx_set_platform_data(&omap_panda_wlan_data))
|
|
|
+ pr_err("error setting wl12xx data\n");
|
|
|
+
|
|
|
omap4_panda_i2c_init();
|
|
|
platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
|
|
|
platform_device_register(&omap_vwlan_device);
|