aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2013-03-19 08:47:39 -0400
committerSimon Horman <horms+renesas@verge.net.au>2013-03-21 06:34:52 -0400
commitc791c036f844622bff767637be6df64b28634305 (patch)
treedb3f74234f6dc25a5075995d9ae77d07cc91f4eb /arch
parent48296a13e7f411402f080d0603724623fa3eee14 (diff)
ARM: shmobile: kzm9g: SDHI0 and SDHI1 use a 3.3V power supply
kzm9g supplies 3.3V to its SDHI0 and SDHI2 interfaces. Specifying 2.8V prevents some (e.g. certain SDIO) cards from working. This patch fixes the voltage and removes redundant OCR masks from platform data. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/sh73a0-kzm9g-reference.dts12
-rw-r--r--arch/arm/mach-shmobile/board-kzm9g.c10
2 files changed, 10 insertions, 12 deletions
diff --git a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
index 7fad4b9b2f43..cadcf30e9641 100644
--- a/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
+++ b/arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
@@ -36,11 +36,11 @@
36 regulator-boot-on; 36 regulator-boot-on;
37 }; 37 };
38 38
39 reg_2p8v: regulator@1 { 39 reg_3p3v: regulator@1 {
40 compatible = "regulator-fixed"; 40 compatible = "regulator-fixed";
41 regulator-name = "fixed-2.8V"; 41 regulator-name = "fixed-3.3V";
42 regulator-min-microvolt = <2800000>; 42 regulator-min-microvolt = <3300000>;
43 regulator-max-microvolt = <2800000>; 43 regulator-max-microvolt = <3300000>;
44 regulator-always-on; 44 regulator-always-on;
45 regulator-boot-on; 45 regulator-boot-on;
46 }; 46 };
@@ -52,7 +52,7 @@
52 interrupts = <0 83 4 52 interrupts = <0 83 4
53 0 84 4 53 0 84 4
54 0 85 4>; 54 0 85 4>;
55 vmmc-supply = <&reg_2p8v>; 55 vmmc-supply = <&reg_3p3v>;
56 bus-width = <4>; 56 bus-width = <4>;
57 toshiba,mmc-has-idle-wait; 57 toshiba,mmc-has-idle-wait;
58 }; 58 };
@@ -63,7 +63,7 @@
63 interrupt-parent = <&gic>; 63 interrupt-parent = <&gic>;
64 interrupts = <0 104 4 64 interrupts = <0 104 4
65 0 105 4>; 65 0 105 4>;
66 vmmc-supply = <&reg_2p8v>; 66 vmmc-supply = <&reg_3p3v>;
67 bus-width = <4>; 67 bus-width = <4>;
68 broken-cd; 68 broken-cd;
69 toshiba,mmc-wrprotect-disable; 69 toshiba,mmc-wrprotect-disable;
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c
index d2ace3a9f603..e924b815c0c8 100644
--- a/arch/arm/mach-shmobile/board-kzm9g.c
+++ b/arch/arm/mach-shmobile/board-kzm9g.c
@@ -375,8 +375,8 @@ static struct platform_device mmc_device = {
375 .resource = sh_mmcif_resources, 375 .resource = sh_mmcif_resources,
376}; 376};
377 377
378/* Fixed 2.8V regulators to be used by SDHI0 and SDHI2 */ 378/* Fixed 3.3V regulators to be used by SDHI0 and SDHI2 */
379static struct regulator_consumer_supply fixed2v8_power_consumers[] = 379static struct regulator_consumer_supply fixed3v3_power_consumers[] =
380{ 380{
381 REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"), 381 REGULATOR_SUPPLY("vmmc", "sh_mobile_sdhi.0"),
382 REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"), 382 REGULATOR_SUPPLY("vqmmc", "sh_mobile_sdhi.0"),
@@ -390,7 +390,6 @@ static struct sh_mobile_sdhi_info sdhi0_info = {
390 .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 390 .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX,
391 .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, 391 .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT,
392 .tmio_caps = MMC_CAP_SD_HIGHSPEED, 392 .tmio_caps = MMC_CAP_SD_HIGHSPEED,
393 .tmio_ocr_mask = MMC_VDD_27_28 | MMC_VDD_28_29,
394}; 393};
395 394
396static struct resource sdhi0_resources[] = { 395static struct resource sdhi0_resources[] = {
@@ -434,7 +433,6 @@ static struct sh_mobile_sdhi_info sdhi2_info = {
434 TMIO_MMC_USE_GPIO_CD | 433 TMIO_MMC_USE_GPIO_CD |
435 TMIO_MMC_WRPROTECT_DISABLE, 434 TMIO_MMC_WRPROTECT_DISABLE,
436 .tmio_caps = MMC_CAP_SD_HIGHSPEED, 435 .tmio_caps = MMC_CAP_SD_HIGHSPEED,
437 .tmio_ocr_mask = MMC_VDD_27_28 | MMC_VDD_28_29,
438 .cd_gpio = 13, 436 .cd_gpio = 13,
439}; 437};
440 438
@@ -716,8 +714,8 @@ static void __init kzm_init(void)
716{ 714{
717 regulator_register_always_on(0, "fixed-1.8V", fixed1v8_power_consumers, 715 regulator_register_always_on(0, "fixed-1.8V", fixed1v8_power_consumers,
718 ARRAY_SIZE(fixed1v8_power_consumers), 1800000); 716 ARRAY_SIZE(fixed1v8_power_consumers), 1800000);
719 regulator_register_always_on(1, "fixed-2.8V", fixed2v8_power_consumers, 717 regulator_register_always_on(1, "fixed-3.3V", fixed3v3_power_consumers,
720 ARRAY_SIZE(fixed2v8_power_consumers), 2800000); 718 ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
721 regulator_register_fixed(2, dummy_supplies, ARRAY_SIZE(dummy_supplies)); 719 regulator_register_fixed(2, dummy_supplies, ARRAY_SIZE(dummy_supplies));
722 720
723 pinctrl_register_mappings(kzm_pinctrl_map, ARRAY_SIZE(kzm_pinctrl_map)); 721 pinctrl_register_mappings(kzm_pinctrl_map, ARRAY_SIZE(kzm_pinctrl_map));