|
@@ -16,6 +16,7 @@
|
|
|
#include <linux/gpio.h>
|
|
|
#include <linux/i2c/twl.h>
|
|
|
#include <linux/regulator/machine.h>
|
|
|
+#include <linux/regulator/fixed.h>
|
|
|
|
|
|
#include <asm/mach-types.h>
|
|
|
#include <asm/mach/arch.h>
|
|
@@ -27,6 +28,8 @@
|
|
|
#include "mux.h"
|
|
|
#include "hsmmc.h"
|
|
|
|
|
|
+#define OMAP_ZOOM_WLAN_PMENA_GPIO (101)
|
|
|
+
|
|
|
/* Zoom2 has Qwerty keyboard*/
|
|
|
static int board_keymap[] = {
|
|
|
KEY(0, 0, KEY_E),
|
|
@@ -106,6 +109,11 @@ static struct regulator_consumer_supply zoom_vmmc2_supply = {
|
|
|
.supply = "vmmc",
|
|
|
};
|
|
|
|
|
|
+static struct regulator_consumer_supply zoom_vmmc3_supply = {
|
|
|
+ .supply = "vmmc",
|
|
|
+ .dev_name = "mmci-omap-hs.2",
|
|
|
+};
|
|
|
+
|
|
|
/* VMMC1 for OMAP VDD_MMC1 (i/o) and MMC1 card */
|
|
|
static struct regulator_init_data zoom_vmmc1 = {
|
|
|
.constraints = {
|
|
@@ -151,6 +159,32 @@ static struct regulator_init_data zoom_vsim = {
|
|
|
.consumer_supplies = &zoom_vsim_supply,
|
|
|
};
|
|
|
|
|
|
+static struct regulator_init_data zoom_vmmc3 = {
|
|
|
+ .constraints = {
|
|
|
+ .valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
|
|
+ },
|
|
|
+ .num_consumer_supplies = 1,
|
|
|
+ .consumer_supplies = &zoom_vmmc3_supply,
|
|
|
+};
|
|
|
+
|
|
|
+static struct fixed_voltage_config zoom_vwlan = {
|
|
|
+ .supply_name = "vwl1271",
|
|
|
+ .microvolts = 1800000, /* 1.8V */
|
|
|
+ .gpio = OMAP_ZOOM_WLAN_PMENA_GPIO,
|
|
|
+ .startup_delay = 70000, /* 70msec */
|
|
|
+ .enable_high = 1,
|
|
|
+ .enabled_at_boot = 0,
|
|
|
+ .init_data = &zoom_vmmc3,
|
|
|
+};
|
|
|
+
|
|
|
+static struct platform_device omap_vwlan_device = {
|
|
|
+ .name = "reg-fixed-voltage",
|
|
|
+ .id = 1,
|
|
|
+ .dev = {
|
|
|
+ .platform_data = &zoom_vwlan,
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
static struct omap2_hsmmc_info mmc[] __initdata = {
|
|
|
{
|
|
|
.name = "external",
|
|
@@ -280,6 +314,7 @@ static void enable_board_wakeup_source(void)
|
|
|
void __init zoom_peripherals_init(void)
|
|
|
{
|
|
|
omap_i2c_init();
|
|
|
+ platform_device_register(&omap_vwlan_device);
|
|
|
usb_musb_init(&musb_board_data);
|
|
|
enable_board_wakeup_source();
|
|
|
}
|