summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRabin Vincent <rabin.vincent@stericsson.com>2011-11-17 14:36:40 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 10:59:19 +0200
commit8e69563d817deba3f25de6b437e9943072eec952 (patch)
treef0bae7341d38c96c47d14845c4b8ff8589d3ea6b
parent8721ec948f65fde2f1d089ddc2b1926a32435f04 (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
-rw-r--r--arch/arm/mach-ux500/board-u5500-regulators.c28
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,