Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit edc84061 authored by Panduranga Mallireddy's avatar Panduranga Mallireddy Committed by Tony Lindgren
Browse files

omap: panda: add fixed regulator device for wlan



Add a fixed regulator vmmc device to enable power control
of the wl1271 wlan device.

Based on the patch for zoom by Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: default avatarPanduranga Mallireddy <panduranga_mallireddy@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent cdc43482
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <linux/usb/otg.h>
#include <linux/i2c/twl.h>
#include <linux/regulator/machine.h>
#include <linux/regulator/fixed.h>

#include <mach/hardware.h>
#include <mach/omap4-common.h>
@@ -45,6 +46,7 @@

#define GPIO_HUB_POWER		1
#define GPIO_HUB_NRESET		62
#define GPIO_WIFI_PMENA		43

static struct gpio_led gpio_leds[] = {
	{
@@ -171,6 +173,37 @@ static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
	},
};

static struct regulator_consumer_supply omap4_panda_vmmc5_supply = {
	.supply = "vmmc",
	.dev_name = "mmci-omap-hs.4",
};

static struct regulator_init_data panda_vmmc5 = {
	.constraints = {
		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
	},
	.num_consumer_supplies = 1,
	.consumer_supplies = &omap4_panda_vmmc5_supply,
};

static struct fixed_voltage_config panda_vwlan = {
	.supply_name = "vwl1271",
	.microvolts = 1800000, /* 1.8V */
	.gpio = GPIO_WIFI_PMENA,
	.startup_delay = 70000, /* 70msec */
	.enable_high = 1,
	.enabled_at_boot = 0,
	.init_data = &panda_vmmc5,
};

static struct platform_device omap_vwlan_device = {
	.name		= "reg-fixed-voltage",
	.id		= 1,
	.dev = {
		.platform_data = &panda_vwlan,
	},
};

static int omap4_twl6030_hsmmc_late_init(struct device *dev)
{
	int ret = 0;
@@ -416,6 +449,7 @@ static void __init omap4_panda_init(void)

	omap4_panda_i2c_init();
	platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
	platform_device_register(&omap_vwlan_device);
	omap_serial_init();
	omap4_twl6030_hsmmc_init(mmc);
	omap4_ehci_init();