Add the pinctrl states for SDC2 and use them on sdhc_2 to support SD
Cards on the currently mainlined Sony Loire platform.
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
---
.../qcom/msm8956-sony-xperia-loire-kugo.dts | 6 +++
.../dts/qcom/msm8956-sony-xperia-loire.dtsi | 6 +++
arch/arm64/boot/dts/qcom/msm8976.dtsi | 45 +++++++++++++++++++
3 files changed, 57 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts
index 3fb8e23e4330..9178943e2ee1 100644
--- a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts
+++ b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts
@@ -33,3 +33,9 @@ &pm8950_l1 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1300000>;
};
+
+&sdc2_on_state {
+ data-pins {
+ drive-strength = <8>;
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi
index 700583a56a0e..2253fb05f1c9 100644
--- a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi
@@ -264,6 +264,12 @@ &sdhc_1 {
status = "okay";
};
+&sdc2_on_state {
+ clk-pins {
+ drive-strength = <10>;
+ };
+};
+
&sdhc_2 {
bus-width = <4>;
cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>;
diff --git a/arch/arm64/boot/dts/qcom/msm8976.dtsi b/arch/arm64/boot/dts/qcom/msm8976.dtsi
index 7d4c7548882c..f3371eaa2940 100644
--- a/arch/arm64/boot/dts/qcom/msm8976.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8976.dtsi
@@ -558,6 +558,46 @@ rclk-pins {
};
};
+ sdc2_off_state: sdc2-off-state {
+ clk-pins {
+ pins = "sdc2_clk";
+ drive-strength = <2>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "sdc2_cmd";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ data-pins {
+ pins = "sdc2_data";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+
+ sdc2_on_state: sdc2-on-state {
+ clk-pins {
+ pins = "sdc2_clk";
+ drive-strength = <16>;
+ bias-disable;
+ };
+
+ cmd-pins {
+ pins = "sdc2_cmd";
+ drive-strength = <10>;
+ bias-pull-up;
+ };
+
+ data-pins {
+ pins = "sdc2_data";
+ drive-strength = <10>;
+ bias-pull-up;
+ };
+ };
+
spi1_default: spi0-default-state {
spi-pins {
pins = "gpio0", "gpio1", "gpio3";
@@ -751,6 +791,11 @@ sdhc_2: mmc@7864000 {
<&gcc GCC_SDCC2_APPS_CLK>,
<&rpmcc RPM_SMD_XO_CLK_SRC>;
clock-names = "iface", "core", "xo";
+
+ pinctrl-0 = <&sdc2_on_state>;
+ pinctrl-1 = <&sdc2_off_state>;
+ pinctrl-names = "default", "sleep";
+
status = "disabled";
};
--
2.39.0
On 15.12.2022 00:20, Marijn Suijten wrote: > Add the pinctrl states for SDC2 and use them on sdhc_2 to support SD > Cards on the currently mainlined Sony Loire platform. > > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> > --- > .../qcom/msm8956-sony-xperia-loire-kugo.dts | 6 +++ > .../dts/qcom/msm8956-sony-xperia-loire.dtsi | 6 +++ > arch/arm64/boot/dts/qcom/msm8976.dtsi | 45 +++++++++++++++++++ > 3 files changed, 57 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts > index 3fb8e23e4330..9178943e2ee1 100644 > --- a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts > +++ b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts > @@ -33,3 +33,9 @@ &pm8950_l1 { > regulator-min-microvolt = <1100000>; > regulator-max-microvolt = <1300000>; > }; > + > +&sdc2_on_state { > + data-pins { > + drive-strength = <8>; > + }; > +}; You can add a label to the data-pins subnode. > diff --git a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi > index 700583a56a0e..2253fb05f1c9 100644 > --- a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire.dtsi > @@ -264,6 +264,12 @@ &sdhc_1 { > status = "okay"; > }; > > +&sdc2_on_state { > + clk-pins { > + drive-strength = <10>; > + }; > +}; > + > &sdhc_2 { > bus-width = <4>; > cd-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>; > diff --git a/arch/arm64/boot/dts/qcom/msm8976.dtsi b/arch/arm64/boot/dts/qcom/msm8976.dtsi > index 7d4c7548882c..f3371eaa2940 100644 > --- a/arch/arm64/boot/dts/qcom/msm8976.dtsi > +++ b/arch/arm64/boot/dts/qcom/msm8976.dtsi > @@ -558,6 +558,46 @@ rclk-pins { > }; > }; > > + sdc2_off_state: sdc2-off-state { > + clk-pins { > + pins = "sdc2_clk"; > + drive-strength = <2>; > + bias-disable; > + }; > + > + cmd-pins { > + pins = "sdc2_cmd"; > + drive-strength = <2>; > + bias-pull-up; > + }; > + > + data-pins { > + pins = "sdc2_data"; > + drive-strength = <2>; > + bias-pull-up; > + }; > + }; > + > + sdc2_on_state: sdc2-on-state { > + clk-pins { > + pins = "sdc2_clk"; > + drive-strength = <16>; > + bias-disable; > + }; > + > + cmd-pins { > + pins = "sdc2_cmd"; > + drive-strength = <10>; > + bias-pull-up; > + }; > + > + data-pins { > + pins = "sdc2_data"; > + drive-strength = <10>; > + bias-pull-up; > + }; > + }; > + > spi1_default: spi0-default-state { > spi-pins { > pins = "gpio0", "gpio1", "gpio3"; > @@ -751,6 +791,11 @@ sdhc_2: mmc@7864000 { > <&gcc GCC_SDCC2_APPS_CLK>, > <&rpmcc RPM_SMD_XO_CLK_SRC>; > clock-names = "iface", "core", "xo"; > + > + pinctrl-0 = <&sdc2_on_state>; > + pinctrl-1 = <&sdc2_off_state>; > + pinctrl-names = "default", "sleep"; Ditto (prev patch) Konrad > + > status = "disabled"; > }; >
On 2022-12-15 14:20:30, Konrad Dybcio wrote: > > > On 15.12.2022 00:20, Marijn Suijten wrote: > > Add the pinctrl states for SDC2 and use them on sdhc_2 to support SD > > Cards on the currently mainlined Sony Loire platform. > > > > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> > > --- > > .../qcom/msm8956-sony-xperia-loire-kugo.dts | 6 +++ > > .../dts/qcom/msm8956-sony-xperia-loire.dtsi | 6 +++ > > arch/arm64/boot/dts/qcom/msm8976.dtsi | 45 +++++++++++++++++++ > > 3 files changed, 57 insertions(+) > > > > diff --git a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts > > index 3fb8e23e4330..9178943e2ee1 100644 > > --- a/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts > > +++ b/arch/arm64/boot/dts/qcom/msm8956-sony-xperia-loire-kugo.dts > > @@ -33,3 +33,9 @@ &pm8950_l1 { > > regulator-min-microvolt = <1100000>; > > regulator-max-microvolt = <1300000>; > > }; > > + > > +&sdc2_on_state { > > + data-pins { > > + drive-strength = <8>; > > + }; > > +}; > You can add a label to the data-pins subnode. I prefer this simplicity as the sdc2_*_state labels are already available and will be extended later with sd-cd-pins regardless. I'll change this if others share the same opinion. However, you're also right this way of writing makes it unclear to the reader whether data-pins already exists or has to exist; that would not be the case when a label is explicitly assigned to data-pins. - Marijn
© 2016 - 2025 Red Hat, Inc.