This commit adds uSD support for Cubieboard7 board based on Actions Semi S700 SoC. SD0 is connected to uSD slot. Since there is no PMIC support added yet, fixed regulator has been used as a regulator node. Signed-off-by: Amit Singh Tomar <amittomer25@xxxxxxxxx> --- Changes since v6: * Brought back the uSD fixed regulator. Changes since v5: * Removed the Fixed regulators as these are not needed. Changes since v4: * No change. Changes since v3: * No change. Changes since v2: * No change. Changes since v1: * No change. Changes since RFC: * No change. --- arch/arm64/boot/dts/actions/s700-cubieboard7.dts | 33 ++++++++++++++++++++++++ arch/arm64/boot/dts/actions/s700.dtsi | 1 + 2 files changed, 34 insertions(+) diff --git a/arch/arm64/boot/dts/actions/s700-cubieboard7.dts b/arch/arm64/boot/dts/actions/s700-cubieboard7.dts index 63e375cd9eb4..f81d63261ba2 100644 --- a/arch/arm64/boot/dts/actions/s700-cubieboard7.dts +++ b/arch/arm64/boot/dts/actions/s700-cubieboard7.dts @@ -13,6 +13,7 @@ aliases { serial3 = &uart3; + mmc0 = &mmc0; }; chosen { @@ -28,6 +29,15 @@ device_type = "memory"; reg = <0x1 0xe0000000 0x0 0x0>; }; + + /* 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 { @@ -81,6 +91,14 @@ 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"; + }; + }; }; &timer { @@ -90,3 +108,18 @@ &uart3 { status = "okay"; }; + +/* uSD */ +&mmc0 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_default>; + cd-gpios = <&pinctrl 120 GPIO_ACTIVE_LOW>; + no-sdio; + no-mmc; + no-1-8-v; + bus-width = <4>; + vmmc-supply = <&sd_vcc>; + vqmmc-supply = <&sd_vcc>; +}; + diff --git a/arch/arm64/boot/dts/actions/s700.dtsi b/arch/arm64/boot/dts/actions/s700.dtsi index 9ed88aafc2da..ba498cf9217d 100644 --- a/arch/arm64/boot/dts/actions/s700.dtsi +++ b/arch/arm64/boot/dts/actions/s700.dtsi @@ -4,6 +4,7 @@ */ #include <dt-bindings/clock/actions,s700-cmu.h> +#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/power/owl-s700-powergate.h> #include <dt-bindings/reset/actions,s700-reset.h> -- 2.7.4