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@xxxxxxxxx> --- .../boot/dts/exynos/exynos8895-dreamlte.dts | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts b/arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts index 3a376ab2b..11aed89a3 100644 --- a/arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts +++ b/arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts @@ -16,6 +16,10 @@ / { compatible = "samsung,dreamlte", "samsung,exynos8895"; chassis-type = "handset"; + aliases { + mmc0 = &mmc; + }; + chosen { #address-cells = <2>; #size-cells = <1>; @@ -89,12 +93,47 @@ wink-key { wakeup-source; }; }; + + reg_sd_vmmc: regulator-1 { + compatible = "regulator-fixed"; + gpio = <&gpb1 1 GPIO_ACTIVE_HIGH>; + regulator-name = "sdcard-vmmc"; + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + regulator-boot-on; + enable-active-high; + }; }; &oscclk { clock-frequency = <26000000>; }; +&mmc { + assigned-clocks = <&cmu_top CLK_MOUT_CMU_FSYS1_MMC_CARD>; + assigned-clock-parents = <&cmu_top CLK_FOUT_SHARED4_PLL>; + + pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>; + pinctrl-names = "default"; + + bus-width = <4>; + card-detect-delay = <200>; + cd-gpios = <&gpa1 5 GPIO_ACTIVE_LOW>; + clock-frequency = <50000000>; + disable-wp; + sd-uhs-sdr50; + sd-uhs-sdr104; + + /* TODO: Update once PMIC is implemented */ + vmmc-supply = <®_sd_vmmc>; + + 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"; -- 2.43.0