diff options
| author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2012-06-27 00:32:25 +0200 | 
|---|---|---|
| committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-06-30 22:40:35 +0200 | 
| commit | 8778b8f46a7c567fc5b19b0eb4a47f51e5064e3c (patch) | |
| tree | 3617adbffdc2d1e0298dd06eb04c7ff6894e9288 | |
| parent | 44e1b142fe7c7e04b2d319b17e32a0371a062fed (diff) | |
ARM: mach-shmobile: add fixed voltage regulators to ap4evb
On ap4evb provide 1.8V and 3.3V supplies for its SD/MMC-card interfaces
and a dummy regulator for the smsc911x driver.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
| -rw-r--r-- | arch/arm/mach-shmobile/board-ap4evb.c | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c index d7417f3bc3b3..3a8548a622ee 100644 --- a/arch/arm/mach-shmobile/board-ap4evb.c +++ b/arch/arm/mach-shmobile/board-ap4evb.c @@ -34,6 +34,8 @@  #include <linux/i2c.h>  #include <linux/i2c/tsc2007.h>  #include <linux/io.h> +#include <linux/regulator/fixed.h> +#include <linux/regulator/machine.h>  #include <linux/smsc911x.h>  #include <linux/sh_intc.h>  #include <linux/sh_clk.h> @@ -159,6 +161,27 @@   * CN12: 3.3v   */ +/* Dummy supplies, where voltage doesn't matter */ +static struct regulator_consumer_supply fixed1v8_power_consumers[] = +{ +	/* J22 default position: 1.8V */ +	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.1"), +	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.1"), +	REGULATOR_SUPPLY("vmmc", "sh_mmcif.0"), +	REGULATOR_SUPPLY("vqmmc", "sh_mmcif.0"), +}; + +static struct regulator_consumer_supply fixed3v3_power_consumers[] = +{ +	REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"), +	REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), +}; + +static struct regulator_consumer_supply dummy_supplies[] = { +	REGULATOR_SUPPLY("vddvario", "smsc911x"), +	REGULATOR_SUPPLY("vdd33a", "smsc911x"), +}; +  /* MTD */  static struct mtd_partition nor_flash_partitions[] = {  	{ @@ -1209,6 +1232,12 @@ static void __init ap4evb_init(void)  	u32 srcr4;  	struct clk *clk; +	regulator_register_always_on(0, "fixed-1.8V", fixed1v8_power_consumers, +				     ARRAY_SIZE(fixed1v8_power_consumers), 1800000); +	regulator_register_always_on(1, "fixed-3.3V", fixed3v3_power_consumers, +				     ARRAY_SIZE(fixed3v3_power_consumers), 3300000); +	regulator_register_fixed(2, dummy_supplies, ARRAY_SIZE(dummy_supplies)); +  	/* External clock source */  	clk_set_rate(&sh7372_dv_clki_clk, 27000000);  | 
