Message ID | 20190916154546.24982-5-manivannan.sadhasivam@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add SD/MMC driver for Actions Semi S900 SoC | expand |
On Mon, Sep 16, 2019 at 09:15:43PM +0530, Manivannan Sadhasivam wrote: > 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> Applied for v5.5. Thanks, Mani > --- > .../boot/dts/actions/s900-bubblegum-96.dts | 62 +++++++++++++++++++ > 1 file changed, 62 insertions(+) > > diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts > index 732daaa6e9d3..59291e0ea1ee 100644 > --- a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts > +++ b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts > @@ -12,6 +12,9 @@ > model = "Bubblegum-96"; > > aliases { > + mmc0 = &mmc0; > + mmc1 = &mmc1; > + mmc2 = &mmc2; > serial5 = &uart5; > }; > > @@ -23,6 +26,24 @@ > 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 { > @@ -241,6 +262,47 @@ > 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 { > -- > 2.17.1 >
diff --git a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts index 732daaa6e9d3..59291e0ea1ee 100644 --- a/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts +++ b/arch/arm64/boot/dts/actions/s900-bubblegum-96.dts @@ -12,6 +12,9 @@ model = "Bubblegum-96"; aliases { + mmc0 = &mmc0; + mmc1 = &mmc1; + mmc2 = &mmc2; serial5 = &uart5; }; @@ -23,6 +26,24 @@ 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 { @@ -241,6 +262,47 @@ 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 {
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> --- .../boot/dts/actions/s900-bubblegum-96.dts | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+)