]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
arm64: dts: exynos8895-dreamlte: enable support for microSD storage
authorIvaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Sun, 5 Jan 2025 16:13:43 +0000 (18:13 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Wed, 5 Feb 2025 16:29:36 +0000 (17:29 +0100)
Enable MMC for the Samsung Galaxy S8, used as external microSD card
storage. Since the main PMIC is currently not supported, assume the
required regulators are enabled by the previous bootloader.

Signed-off-by: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
Link: https://lore.kernel.org/r/20250105161344.420749-6-ivo.ivanov.ivanov1@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts

index 3a376ab2bb9ee4fc914fa941e3e9b45e745ca1d2..6c4f8d4a9cc4dd62fbf5ca566a1ccf74c2e0ba69 100644 (file)
        compatible = "samsung,dreamlte", "samsung,exynos8895";
        chassis-type = "handset";
 
+       aliases {
+               mmc0 = &mmc;
+       };
+
        chosen {
                #address-cells = <2>;
                #size-cells = <1>;
        clock-frequency = <26000000>;
 };
 
+&mmc {
+       pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &sd2_cd>;
+       pinctrl-names = "default";
+
+       bus-width = <4>;
+       card-detect-delay = <200>;
+       cd-gpios = <&gpa1 5 GPIO_ACTIVE_LOW>;
+       clock-frequency = <800000000>;
+       disable-wp;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
+
+       /* TODO: Add regulators once PMIC is implemented */
+
+       samsung,dw-mshc-ciu-div = <3>;
+       samsung,dw-mshc-ddr-timing = <1 2>;
+       samsung,dw-mshc-sdr-timing = <0 3>;
+
+       status = "okay";
+};
+
 &pinctrl_alive {
        key_power: key-power-pins {
                samsung,pins = "gpa2-4";
                samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
                samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>;
        };
+
+       sd2_cd: sd2-cd-pins {
+               samsung,pins = "gpa1-5";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
+               samsung,pin-drv = <EXYNOS7_PIN_DRV_LV4>;
+       };
 };