summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Marklund <robert.marklund@stericsson.com>2011-09-30 10:38:17 +0200
committerRobert Marklund <robert.marklund@stericsson.com>2011-10-05 15:11:54 +0200
commit7bf129c9b6f368f557ee12dea3710857f822233d (patch)
treefcc6da7788979ca2aac68ae2cb4153ebbd2e82a2
parente39c76c77ebd90e2d503f09e34be89e4cd1ab322 (diff)
mach-ux500: Add en_3v3 regulator to snowball
Change-Id: I83345d352096ba807f2132cc1560913fc2cb00dc Signed-off-by: Robert Marklund <robert.marklund@stericsson.com>
-rw-r--r--arch/arm/mach-ux500/board-mop500.c34
-rw-r--r--arch/arm/mach-ux500/board-mop500.h1
2 files changed, 32 insertions, 3 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 5094993bebd..c4edd860395 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -461,11 +461,10 @@ static struct ske_keypad_platform_data mop500_ske_keypad_data = {
#endif
-
+#ifdef CONFIG_REGULATOR_FIXED_VOLTAGE
/*
* GPIO-regulator wlan vbat data
*/
-
static struct fixed_voltage_config snowball_gpio_wlan_vbat_data = {
.supply_name = "WLAN-VBAT",
.gpio = SNOWBALL_EN_3V6_GPIO,
@@ -476,6 +475,20 @@ static struct fixed_voltage_config snowball_gpio_wlan_vbat_data = {
};
/*
+ * GPIO-regulator en 3v3 vbat data
+ */
+
+static struct fixed_voltage_config snowball_gpio_en_3v3_data = {
+ .supply_name = "EN-3V3",
+ .gpio = SNOWBALL_EN_3V3_ETH_GPIO,
+ .microvolts = 3300000,
+ .enable_high = 1,
+ .init_data = &gpio_en_3v3_regulator,
+ .startup_delay = 5000, /* 1200us according to data sheet */
+};
+#endif
+
+/*
* TC35892
*/
@@ -662,6 +675,7 @@ static struct platform_device mop500_gpio_keys_device = {
},
};
+#ifdef CONFIG_REGULATOR_FIXED_VOLTAGE
static struct platform_device snowball_gpio_wlan_vbat_regulator_device = {
.name = "reg-fixed-voltage",
.id = 0,
@@ -670,6 +684,15 @@ static struct platform_device snowball_gpio_wlan_vbat_regulator_device = {
},
};
+static struct platform_device snowball_gpio_en_3v3_regulator_device = {
+ .name = "reg-fixed-voltage",
+ .id = 1,
+ .dev = {
+ .platform_data = &snowball_gpio_en_3v3_data,
+ },
+};
+#endif
+
static int mop500_sensors1p_activate(struct device *dev)
{
sensors1p_regulator = regulator_get(&mop500_gpio_keys_device.dev,
@@ -1145,8 +1168,13 @@ static struct platform_device *snowball_platform_devs[] __initdata = {
&ux500_hwmem_device,
&snowball_led_dev,
&snowball_key_dev,
- &snowball_sbnet_dev,
+#ifdef CONFIG_REGULATOR_FIXED_VOLTAGE
+ &snowball_gpio_en_3v3_regulator_device,
+#endif
+#ifdef CONFIG_REGULATOR_FIXED_VOLTAGE
&snowball_gpio_wlan_vbat_regulator_device,
+#endif
+ &snowball_sbnet_dev,
&u8500_mcde_device,
&u8500_b2r2_device,
};
diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h
index dbc706ca8bc..21466d0203b 100644
--- a/arch/arm/mach-ux500/board-mop500.h
+++ b/arch/arm/mach-ux500/board-mop500.h
@@ -66,6 +66,7 @@
#define SNOWBALL_PME_ETH_GPIO AB8500_PIN_GPIO24 /* SYSCLKREQ7/GPIO24 */
#define SNOWBALL_EN_3V3_ETH_GPIO AB8500_PIN_GPIO26 /* GPIO26 */
+
struct i2c_board_info;
extern void mop500_sdi_init(void);