diff options
Diffstat (limited to 'arch/arm/mach-omap2')
| -rw-r--r-- | arch/arm/mach-omap2/board-zoom-peripherals.c | 35 | 
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c index 6b3984964cc..f5df9a2b146 100644 --- a/arch/arm/mach-omap2/board-zoom-peripherals.c +++ b/arch/arm/mach-omap2/board-zoom-peripherals.c @@ -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();  }  |