diff options
author | Rabin Vincent <rabin.vincent@stericsson.com> | 2011-08-25 15:01:00 +0530 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 16:00:16 +0200 |
commit | 219e10eaef3432adb30b30441d5c07b953661f89 (patch) | |
tree | a366c012593eb3fdab6879e6cceede8e7edd23a9 /arch/arm/mach-ux500/board-mop500.c | |
parent | 389b5c26ad9b88b50e1d24de6cfe3427e7d6cef0 (diff) |
ux500: regulators: update
Regulator updates from:
commit 7ff261a375cf1da4b9a701b7106d42f11df50b3d
Author: Avinash A <Avinash.a@stericsson.com>
Date: Fri Aug 12 16:01:23 2011 +0530
mach-ux500:ts-cypress add support on u8500
platform related changes to add support for the
cypress touchscreen on u8500
ST-Ericsson ID: CR321190
commit c7f9ac5e687f8df6f2b48f48370d2cd4479237fa
Author: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Date: Wed Jul 13 14:19:41 2011 +0200
regulators: ab8500: Removed initialization of body biasing
Body biasing is handled by PRCMU and should not be
overwritten by the kernel.
ST-Ericsson ID: 350693
commit 2b74dbcb79a288e709b18dbda9cf592209ad1cdf
Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Date: Fri Jul 1 18:18:18 2011 +0200
regulator: change vsmps3 from 1.0V to 0.925V
ST-Ericsson ID: 350469
commit fcfcc8a7e23970134aeb557d23726e3213e5c79d
Author: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Date: Tue May 31 15:43:29 2011 +0200
regulators: ab8500: Added more configurable bits
ST Ericsson ID: 334602
commit 4faa6311bef9c32ebc39d7318ec8d1ced45dce31
Author: Bengt Jonsson <bengt.g.jonsson@stericsson.com>
Date: Tue May 31 15:54:25 2011 +0200
ARM: ux500: regulators: add mask for configuration
There is already before a register mask in the regulator driver
to allow some bits of a register to be initialized. The register
value is defined in the board configuration. This patch puts a
mask in the board configuration to specify which bits should
actually be altered. The purpose with this patch is to avoid
future mistakes when updating the allowed bits in the regulator
driver.
ST Ericsson ID: 334602
commit a8d27ada3b9bed3f57691fa6a32c831dd48a8e3b
Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Date: Thu Jun 30 14:22:57 2011 +0200
regulator: update suspend force value for ExtSupplyRegu
For HREFP_2.2 Vext1 needs to be on otherwise AB8500 looses its register
contents during suspend. Vext2 is not connected to any regulator.
Vext3 must be turned off. Rework is need on HREFP_2.2 in order to turn off
VSMPS4_EXT_3V4
ST-Ericsson ID: 349114
commit a5dcb7001a7a42812f92461401675168943e2806
Author: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>
Date: Tue Jun 28 16:45:26 2011 +0200
regulators: update VextSupplies fix
VextSupplies fix is not need on boards with DB8500v2.1. Add check to remove
forcing of the VextSupply only for DB8500v2.2.
ST-Ericsson ID: 349724
Change-Id: Ied04ee6546d3ddcda28635d221ec1b9b5306439c
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 76 |
1 files changed, 37 insertions, 39 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 4de538717c3..d4ecdb82408 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -23,7 +23,6 @@ #include <linux/mfd/ab8500.h> #include <linux/regulator/ab8500.h> #include <linux/mfd/tc3589x.h> -#include <linux/mfd/tps6105x.h> #include <linux/mfd/ab8500/gpio.h> #include <linux/regulator/fixed.h> #include <linux/leds-lp5521.h> @@ -63,6 +62,7 @@ #include "devices-db8500.h" #include "board-mop500.h" #include "board-mop500-regulators.h" +#include "regulator-u8500.h" #include "board-mop500-bm.h" #include "board-mop500-wlan.h" #include "board-mop500-usb.h" @@ -237,6 +237,38 @@ static struct platform_device snowball_sbnet_dev = { }, }; +static struct regulator_init_data *u8500_regulators[U8500_NUM_REGULATORS] = { + [U8500_REGULATOR_VAPE] = &u8500_vape_regulator, + [U8500_REGULATOR_VARM] = &u8500_varm_regulator, + [U8500_REGULATOR_VMODEM] = &u8500_vmodem_regulator, + [U8500_REGULATOR_VPLL] = &u8500_vpll_regulator, + [U8500_REGULATOR_VSMPS1] = &u8500_vsmps1_regulator, + [U8500_REGULATOR_VSMPS2] = &u8500_vsmps2_regulator, + [U8500_REGULATOR_VSMPS3] = &u8500_vsmps3_regulator, + [U8500_REGULATOR_VRF1] = &u8500_vrf1_regulator, + [U8500_REGULATOR_SWITCH_SVAMMDSP] = &u8500_svammdsp_regulator, + [U8500_REGULATOR_SWITCH_SVAMMDSPRET] = &u8500_svammdspret_regulator, + [U8500_REGULATOR_SWITCH_SVAPIPE] = &u8500_svapipe_regulator, + [U8500_REGULATOR_SWITCH_SIAMMDSP] = &u8500_siammdsp_regulator, + [U8500_REGULATOR_SWITCH_SIAMMDSPRET] = &u8500_siammdspret_regulator, + [U8500_REGULATOR_SWITCH_SIAPIPE] = &u8500_siapipe_regulator, + [U8500_REGULATOR_SWITCH_SGA] = &u8500_sga_regulator, + [U8500_REGULATOR_SWITCH_B2R2_MCDE] = &u8500_b2r2_mcde_regulator, + [U8500_REGULATOR_SWITCH_ESRAM12] = &u8500_esram12_regulator, + [U8500_REGULATOR_SWITCH_ESRAM12RET] = &u8500_esram12ret_regulator, + [U8500_REGULATOR_SWITCH_ESRAM34] = &u8500_esram34_regulator, + [U8500_REGULATOR_SWITCH_ESRAM34RET] = &u8500_esram34ret_regulator, +}; + +static struct platform_device u8500_regulator_dev = { + .name = "u8500-regulators", + .id = 0, + .dev = { + .platform_data = u8500_regulators, + }, +}; + + #ifdef CONFIG_MODEM_U8500 static struct platform_device u8500_modem_dev = { .name = "u8500-modem", @@ -291,28 +323,6 @@ struct platform_device ab8500_device = { }; /* - * TPS61052 - */ - -static struct tps6105x_platform_data mop500_tps61052_data = { - .mode = TPS6105X_MODE_VOLTAGE, - .regulator_data = &tps61052_regulator, -}; - -/* - * GPIO-regulator wlan vbat data - */ - -static struct fixed_voltage_config snowball_gpio_wlan_vbat_data = { - .supply_name = "WLAN-VBAT", - .gpio = SNOWBALL_EN_3V6_GPIO, - .microvolts = 3600000, - .enable_high = 1, - .init_data = &gpio_wlan_vbat_regulator, - .startup_delay = 3500, /* Startup time */ -}; - -/* * TC35892 */ @@ -403,10 +413,6 @@ static struct i2c_board_info __initdata mop500_i2c0_devices[] = { .platform_data = &av8100_plat_data, }, /* I2C0 devices only available prior to HREFv60 */ - { - I2C_BOARD_INFO("tps61052", 0x33), - .platform_data = &mop500_tps61052_data, - }, }; #define NUM_PRE_V60_I2C0_DEVICES 1 @@ -503,14 +509,6 @@ static struct platform_device mop500_gpio_keys_device = { }, }; -static struct platform_device snowball_gpio_wlan_vbat_regulator_device = { - .name = "reg-fixed-voltage", - .id = 0, - .dev = { - .platform_data = &snowball_gpio_wlan_vbat_data, - }, -}; - static int mop500_sensors1p_activate(struct device *dev) { sensors1p_regulator = regulator_get(&mop500_gpio_keys_device.dev, @@ -940,7 +938,6 @@ static struct platform_device *snowball_platform_devs[] __initdata = { &snowball_led_dev, &snowball_key_dev, &snowball_sbnet_dev, - &snowball_gpio_wlan_vbat_regulator_device, &u8500_mcde_device, &u8500_b2r2_device, }; @@ -963,6 +960,10 @@ static void __init mop500_init_machine(void) { int i2c0_devs; +#ifdef CONFIG_REGULATOR + platform_device_register(&u8500_regulator_dev); +#endif + /* * The HREFv60 board removed a GPIO expander and routed * all these GPIO pins to the internal GPIO controller @@ -1010,9 +1011,6 @@ static void __init mop500_init_machine(void) platform_device_register(&ab8500_device); i2c0_devs = ARRAY_SIZE(mop500_i2c0_devices); - if (machine_is_hrefv60()) - i2c0_devs -= NUM_PRE_V60_I2C0_DEVICES; - i2c_register_board_info(0, mop500_i2c0_devices, i2c0_devs); i2c_register_board_info(2, mop500_i2c2_devices, ARRAY_SIZE(mop500_i2c2_devices)); |