diff options
author | Rabin Vincent <rabin.vincent@stericsson.com> | 2011-11-17 14:36:40 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 10:59:19 +0200 |
commit | 8e69563d817deba3f25de6b437e9943072eec952 (patch) | |
tree | f0bae7341d38c96c47d14845c4b8ff8589d3ea6b /arch | |
parent | 8721ec948f65fde2f1d089ddc2b1926a32435f04 (diff) |
u5500: support regulator changes on S5500 R3A
Accelerometer/magnetometer regulator changed from LDO K
to LDO H.
u5500_regulators_init() needs to be moved down because
it uses GPIOs which are initialized in u5500_init_devices().
ST-Ericsson ID: 370147
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ibd7ea3e7fe1093f5b718cd31225ce52607bef6a9
Signed-off-by: Rabin Vincent <rabin.vincent@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/38118
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ux500/board-u5500-regulators.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-u5500-regulators.c b/arch/arm/mach-ux500/board-u5500-regulators.c index 7dc77bd4074..10f82a8de8a 100644 --- a/arch/arm/mach-ux500/board-u5500-regulators.c +++ b/arch/arm/mach-ux500/board-u5500-regulators.c @@ -28,9 +28,23 @@ static struct regulator_consumer_supply ab5500_ldo_h_consumers[] = { REGULATOR_SUPPLY("vin", "2-0036"), /* LM3530 */ REGULATOR_SUPPLY("vcpin", "spi1.0"), REGULATOR_SUPPLY("v-ana", "mmio_camera"), + REGULATOR_SUPPLY("vdd", "lsm303dlh.0"), + REGULATOR_SUPPLY("vdd", "lsm303dlh.1"), }; static struct regulator_consumer_supply ab5500_ldo_k_consumers[] = { + REGULATOR_SUPPLY("v-mmio-camera", "mmio_camera"), +}; + +static struct regulator_consumer_supply ab5500_ldo_h_consumers_pre_r3a[] = { + REGULATOR_SUPPLY("vddi", "mcde_disp_sony_acx424akp.0"), + REGULATOR_SUPPLY("vdd", "1-004b"), /* Synaptics */ + REGULATOR_SUPPLY("vin", "2-0036"), /* LM3530 */ + REGULATOR_SUPPLY("vcpin", "spi1.0"), + REGULATOR_SUPPLY("v-ana", "mmio_camera"), +}; + +static struct regulator_consumer_supply ab5500_ldo_k_consumers_pre_r3a[] = { REGULATOR_SUPPLY("vdd", "lsm303dlh.0"), REGULATOR_SUPPLY("vdd", "lsm303dlh.1"), REGULATOR_SUPPLY("v-mmio-camera", "mmio_camera"), @@ -170,6 +184,20 @@ static struct fixed_voltage_config u5500_vio_pdata __initdata = { void __init u5500_regulators_init(void) { + if (u5500_board_is_pre_r3a()) { + struct regulator_init_data *rid = ab5500_regulator_init_data; + + rid[AB5500_LDO_K].consumer_supplies + = ab5500_ldo_k_consumers_pre_r3a; + rid[AB5500_LDO_K].num_consumer_supplies + = ARRAY_SIZE(ab5500_ldo_k_consumers_pre_r3a); + + rid[AB5500_LDO_H].consumer_supplies + = ab5500_ldo_h_consumers_pre_r3a; + rid[AB5500_LDO_H].num_consumer_supplies + = ARRAY_SIZE(ab5500_ldo_h_consumers_pre_r3a); + } + u5500_regulators_init_debug(); platform_device_register_data(NULL, "reg-fixed-voltage", -1, |