arm64: dts: actions: Add uSD and eMMC support for Bubblegum96
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Sat, 8 Jun 2019 19:16:54 +0000 (00:46 +0530)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Tue, 22 Oct 2019 14:35:42 +0000 (20:05 +0530)
Add uSD and eMMC support for Bubblegum96 board based on Actions Semi
S900 SoC. SD0 is connected to uSD slot and SD2 is connected to eMMC.
Since there is no PMIC support added yet, fixed regulator has been
used as a regulator node.

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
arch/arm64/boot/dts/actions/s900-bubblegum-96.dts

index 732daaa6e9d3d89fe76864915ae6d50934e3389a..59291e0ea1ee74d8c3cbef4a58e27562a2f2e6ae 100644 (file)
@@ -12,6 +12,9 @@
        model = "Bubblegum-96";
 
        aliases {
+               mmc0 = &mmc0;
+               mmc1 = &mmc1;
+               mmc2 = &mmc2;
                serial5 = &uart5;
        };
 
                device_type = "memory";
                reg = <0x0 0x0 0x0 0x80000000>;
        };
+
+       /* Fixed regulator used in the absence of PMIC */
+       vcc_3v1: vcc-3v1 {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-3.1V";
+               regulator-min-microvolt = <3100000>;
+               regulator-max-microvolt = <3100000>;
+               regulator-always-on;
+       };
+
+       /* Fixed regulator used in the absence of PMIC */
+       sd_vcc: sd-vcc {
+               compatible = "regulator-fixed";
+               regulator-name = "fixed-3.1V";
+               regulator-min-microvolt = <3100000>;
+               regulator-max-microvolt = <3100000>;
+               regulator-always-on;
+       };
 };
 
 &i2c0 {
                        bias-pull-up;
                };
        };
+
+       mmc0_default: mmc0_default {
+               pinmux {
+                       groups = "sd0_d0_mfp", "sd0_d1_mfp", "sd0_d2_d3_mfp",
+                                "sd0_cmd_mfp", "sd0_clk_mfp";
+                       function = "sd0";
+               };
+       };
+
+       mmc2_default: mmc2_default {
+               pinmux {
+                       groups = "nand0_d0_ceb3_mfp";
+                       function = "sd2";
+               };
+       };
+};
+
+/* uSD */
+&mmc0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_default>;
+       no-sdio;
+       no-mmc;
+       no-1-8-v;
+       cd-gpios = <&pinctrl 120 GPIO_ACTIVE_LOW>;
+       bus-width = <4>;
+       vmmc-supply = <&sd_vcc>;
+       vqmmc-supply = <&sd_vcc>;
+};
+
+/* eMMC */
+&mmc2 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc2_default>;
+       no-sdio;
+       no-sd;
+       non-removable;
+       bus-width = <8>;
+       vmmc-supply = <&vcc_3v1>;
 };
 
 &timer {