diff options
author | Lee Jones <lee.jones@linaro.org> | 2013-01-31 11:31:16 +0000 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-03-01 23:30:20 +0100 |
commit | cd2fa6d6035adb92b49ef04cbd1950c59f592cf6 (patch) | |
tree | 3c0b6c89bcea8c61a4d562e2c54a08e73484595d /arch/arm/mach-ux500/board-mop500-regulators.c | |
parent | 874c920241640595da77622b6ee98c14e79296e4 (diff) | |
download | talos-op-linux-cd2fa6d6035adb92b49ef04cbd1950c59f592cf6.tar.gz talos-op-linux-cd2fa6d6035adb92b49ef04cbd1950c59f592cf6.zip |
ARM: ux500: Use the GPIO regulator framework for SDI0's 'en' and 'vsel'
To prevent lots of unnecessary call-backs into platform code, we're
now using the GPIO regulator framework to control the 'enable' (en)
and 'voltage select' (vsel) GPIO pins which in turn control the
MMCI's secondary regulator settings. This already works with Device
Tree, but when booting with ATAGs we need to register it as a
platform device.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500-regulators.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-regulators.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-regulators.c b/arch/arm/mach-ux500/board-mop500-regulators.c index 2a17bc506cff..cb7540573a85 100644 --- a/arch/arm/mach-ux500/board-mop500-regulators.c +++ b/arch/arm/mach-ux500/board-mop500-regulators.c @@ -28,6 +28,20 @@ struct regulator_init_data gpio_en_3v3_regulator = { .consumer_supplies = gpio_en_3v3_consumers, }; +static struct regulator_consumer_supply sdi0_reg_consumers[] = { + REGULATOR_SUPPLY("vqmmc", "sdi0"), +}; + +struct regulator_init_data sdi0_reg_init_data = { + .constraints = { + .min_uV = 1800000, + .max_uV = 2900000, + .valid_ops_mask = REGULATOR_CHANGE_VOLTAGE|REGULATOR_CHANGE_STATUS, + }, + .num_consumer_supplies = ARRAY_SIZE(sdi0_reg_consumers), + .consumer_supplies = sdi0_reg_consumers, +}; + /* * TPS61052 regulator */ |