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 fe483ba4b7c77d5630540e57976df8881f618732..a31d34e5180fedf019c112579b504994a01fdb5a 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 dd89f7b37c9fdc6a64cc85643a06ceedf6c3238a..d73aa6c58fe377419c7890d5df3795756fbf0426 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 bf7b21b817e48567d164a91268f5b448d15f1a4f..2af2351513010e23f34f6e7adaa7d841b241c6ec 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 6e33678562aebf5be0cc055831489073ca16270f..3e3584270e003f603badab735390aca8b738bfa2 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 =
This page took 0.030482 seconds and 5 git commands to generate.