ARM: dts: exynos: Define vqmmc for eMMC card on Odroid X/X2/U3
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Wed, 4 May 2016 12:43:59 +0000 (14:43 +0200)
committerKrzysztof Kozlowski <k.kozlowski@samsung.com>
Mon, 30 May 2016 07:46:01 +0000 (09:46 +0200)
The eMMC card vmmc-supply contained incorrectly two regulators: LDO20
and buck8. The second one is ignored. Additionally the buck8 is a vqmmc
supply only on X and X2. On U3 the buck8 is providing power to the LAN
(SMSC95xx) so instead the LDO22 should be used.

Fix this by defining proper vmmc and vqmmc supplies for respective
boards.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
arch/arm/boot/dts/exynos4412-odroid-common.dtsi
arch/arm/boot/dts/exynos4412-odroidu3.dts
arch/arm/boot/dts/exynos4412-odroidx.dts
arch/arm/boot/dts/exynos4412-odroidx2.dts

index fe483ba..a31d34e 100644 (file)
                                regulator-boot-on;
                        };
 
+                       ldo22_reg: LDO22 {
+                               /*
+                                * Only U3 uses it, so let it define the
+                                * constraints
+                                */
+                               regulator-name = "LDO22";
+                               regulator-boot-on;
+                       };
+
                        ldo25_reg: LDO25 {
                                regulator-name = "VDDQ_LCD_1.8V";
                                regulator-min-microvolt = <1800000>;
                        };
 
                        buck8_reg: BUCK8 {
+                               /*
+                                * Constraints set by specific board: X,
+                                * X2 and U3.
+                                */
                                regulator-name = "BUCK8_2.8V";
-                               regulator-min-microvolt = <2800000>;
-                               regulator-max-microvolt = <2800000>;
                        };
                };
        };
 &mshc_0 {
        pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
        pinctrl-names = "default";
-       vmmc-supply = <&ldo20_reg &buck8_reg>;
+       vmmc-supply = <&ldo20_reg>;
        mmc-pwrseq = <&emmc_pwrseq>;
        status = "okay";
 
index dd89f7b..d73aa6c 100644 (file)
        };
 };
 
+/* Supply for LAN9730/SMSC95xx */
+&buck8_reg {
+       regulator-name = "BUCK8_P3V3";
+       regulator-min-microvolt = <3300000>;
+       regulator-max-microvolt = <3300000>;
+};
+
+/* VDDQ for MSHC (eMMC card) */
+&ldo22_reg {
+       regulator-name = "LDO22_VDDQ_MMC4_2.8V";
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+};
+
+&mshc_0 {
+       vqmmc-supply = <&ldo22_reg>;
+};
+
 &pwm {
        pinctrl-0 = <&pwm0_out>;
        pinctrl-names = "default";
index bf7b21b..2af2351 100644 (file)
        };
 };
 
+/* VDDQ for MSHC (eMMC card) */
+&buck8_reg {
+       regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+};
+
 &ehci {
        port@1 {
                status = "okay";
        };
 };
 
+&mshc_0 {
+       vqmmc-supply = <&buck8_reg>;
+};
+
 &pinctrl_1 {
        gpio_home_key: home_key {
                samsung,pins = "gpx2-2";
index 6e33678..3e35842 100644 (file)
        };
 };
 
+/* VDDQ for MSHC (eMMC card) */
+&buck8_reg {
+       regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
+       regulator-min-microvolt = <2800000>;
+       regulator-max-microvolt = <2800000>;
+};
+
+&mshc_0 {
+       vqmmc-supply = <&buck8_reg>;
+};
+
 &sound {
        simple-audio-card,name = "Odroid-X2";
        simple-audio-card,widgets =