| From b56c90dcfed496d22298daa0f41d6997549f9c0f Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Thu, 3 Oct 2013 18:30:55 -0700 |
| Subject: ARM: shmobile: bockw: use regulator for MMCIF |
| |
| When regulators are used with MMC devices, sh_mmcif_plat_data::ocr |
| is not needed, they can be removed from platform data. |
| This patch adds v3.3 regulator settings, |
| and moved fixed-dummy regulator registration position |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| (cherry picked from commit 06ac2a61e1559e5986b1e2269d110d51576ab8d4) |
| (Queued by Simon Horman for v3.14 but not yet in Linus's tree) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/board-bockw.c | 13 +++++++++---- |
| 1 file changed, 9 insertions(+), 4 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c |
| index 38611526fe9a..540f0dc2431a 100644 |
| --- a/arch/arm/mach-shmobile/board-bockw.c |
| +++ b/arch/arm/mach-shmobile/board-bockw.c |
| @@ -116,6 +116,11 @@ static struct regulator_consumer_supply dummy_supplies[] = { |
| REGULATOR_SUPPLY("vdd33a", "smsc911x"), |
| }; |
| |
| +static struct regulator_consumer_supply fixed3v3_power_consumers[] = { |
| + REGULATOR_SUPPLY("vmmc", "sh_mmcif"), |
| + REGULATOR_SUPPLY("vqmmc", "sh_mmcif"), |
| +}; |
| + |
| static struct smsc911x_platform_config smsc911x_data __initdata = { |
| .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, |
| .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL, |
| @@ -271,7 +276,6 @@ static struct resource mmc_resources[] __initdata = { |
| |
| static struct sh_mmcif_plat_data sh_mmcif_plat __initdata = { |
| .sup_pclk = 0, |
| - .ocr = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34, |
| .caps = MMC_CAP_4_BIT_DATA | |
| MMC_CAP_8_BIT_DATA | |
| MMC_CAP_NEEDS_POLL, |
| @@ -614,6 +618,10 @@ static void __init bockw_init(void) |
| &usb_phy_platform_data, |
| sizeof(struct rcar_phy_platform_data)); |
| |
| + regulator_register_fixed(0, dummy_supplies, |
| + ARRAY_SIZE(dummy_supplies)); |
| + regulator_register_always_on(1, "fixed-3.3V", fixed3v3_power_consumers, |
| + ARRAY_SIZE(fixed3v3_power_consumers), 3300000); |
| |
| /* for SMSC */ |
| fpga = ioremap_nocache(FPGA, SZ_1M); |
| @@ -629,9 +637,6 @@ static void __init bockw_init(void) |
| val &= ~(1 << 4); /* enable SMSC911x */ |
| iowrite16(val, fpga + IRQ0MR); |
| |
| - regulator_register_fixed(0, dummy_supplies, |
| - ARRAY_SIZE(dummy_supplies)); |
| - |
| platform_device_register_resndata( |
| &platform_bus, "smsc911x", -1, |
| smsc911x_resources, ARRAY_SIZE(smsc911x_resources), |
| -- |
| 1.8.5.rc3 |
| |