Message ID | 1542302291-6864-4-git-send-email-jhugo@codeaurora.org (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Andy Gross |
Headers | show |
Series | Enable SD crd slot on msm8998 MTP | expand |
On Thu 15 Nov 09:18 PST 2018, Jeffrey Hugo wrote: > The SDC2 control pins are typically used to manage sleep. > > Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> > --- > arch/arm64/boot/dts/qcom/msm8998-pins.dtsi | 78 ++++++++++++++++++++++++++++++ Rather than adding a -pins file, add the pinctrl states the individual dts(i) directly. > arch/arm64/boot/dts/qcom/msm8998.dtsi | 2 + > 2 files changed, 80 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/msm8998-pins.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi > new file mode 100644 > index 0000000..a22abf9 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi > @@ -0,0 +1,78 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ > + > +&tlmm { > + sdc2_clk_on: sdc2_clk_on { Use _ in labels, - in node names. > + config { You don't have to put the pinctrl state properties in an additional subnode anymore, so feel free to remove the extra subnode level. > + pins = "sdc2_clk"; > + bias-disable; /* NO pull */ > + drive-strength = <16>; /* 16 MA */ Please push electrical properties to the board dts instead of the platform one, as they might be board specific. > + }; > + }; Apart from this the patch loogs good. Regards, Bjorn
On 11/15/2018 12:16 PM, Bjorn Andersson wrote: > On Thu 15 Nov 09:18 PST 2018, Jeffrey Hugo wrote: > >> The SDC2 control pins are typically used to manage sleep. >> >> Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> >> --- >> arch/arm64/boot/dts/qcom/msm8998-pins.dtsi | 78 ++++++++++++++++++++++++++++++ > > Rather than adding a -pins file, add the pinctrl states the individual > dts(i) directly. > >> arch/arm64/boot/dts/qcom/msm8998.dtsi | 2 + >> 2 files changed, 80 insertions(+) >> create mode 100644 arch/arm64/boot/dts/qcom/msm8998-pins.dtsi >> >> diff --git a/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi >> new file mode 100644 >> index 0000000..a22abf9 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi >> @@ -0,0 +1,78 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ >> + >> +&tlmm { >> + sdc2_clk_on: sdc2_clk_on { > > Use _ in labels, - in node names. > >> + config { > > You don't have to put the pinctrl state properties in an additional > subnode anymore, so feel free to remove the extra subnode level. > >> + pins = "sdc2_clk"; >> + bias-disable; /* NO pull */ >> + drive-strength = <16>; /* 16 MA */ > > Please push electrical properties to the board dts instead of the > platform one, as they might be board specific. > >> + }; >> + }; > > Apart from this the patch loogs good. > Thanks for the guidance. This all makes sense to me. I'll roll this all into v2.
diff --git a/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi new file mode 100644 index 0000000..a22abf9 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8998-pins.dtsi @@ -0,0 +1,78 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2018, The Linux Foundation. All rights reserved. */ + +&tlmm { + sdc2_clk_on: sdc2_clk_on { + config { + pins = "sdc2_clk"; + bias-disable; /* NO pull */ + drive-strength = <16>; /* 16 MA */ + }; + }; + + sdc2_clk_off: sdc2_clk_off { + config { + pins = "sdc2_clk"; + bias-disable; /* NO pull */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + sdc2_cmd_on: sdc2_cmd_on { + config { + pins = "sdc2_cmd"; + bias-pull-up; /* pull up */ + drive-strength = <10>; /* 10 MA */ + }; + }; + + sdc2_cmd_off: sdc2_cmd_off { + config { + pins = "sdc2_cmd"; + bias-pull-up; /* pull up */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + sdc2_data_on: sdc2_data_on { + config { + pins = "sdc2_data"; + bias-pull-up; /* pull up */ + drive-strength = <10>; /* 10 MA */ + }; + }; + + sdc2_data_off: sdc2_data_off { + config { + pins = "sdc2_data"; + bias-pull-up; /* pull up */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + sdc2_cd_on: sdc2_cd_on { + mux { + pins = "gpio95"; + function = "gpio"; + }; + + config { + pins = "gpio95"; + bias-pull-up; /* pull up */ + drive-strength = <2>; /* 2 MA */ + }; + }; + + sdc2_cd_off: sdc2_cd_off { + mux { + pins = "gpio95"; + function = "gpio"; + }; + + config { + pins = "gpio95"; + bias-pull-up; /* pull up */ + drive-strength = <2>; /* 2 MA */ + }; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/msm8998.dtsi b/arch/arm64/boot/dts/qcom/msm8998.dtsi index 09deee0..94827f4 100644 --- a/arch/arm64/boot/dts/qcom/msm8998.dtsi +++ b/arch/arm64/boot/dts/qcom/msm8998.dtsi @@ -705,3 +705,5 @@ }; }; }; + +#include "msm8998-pins.dtsi"
The SDC2 control pins are typically used to manage sleep. Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> --- arch/arm64/boot/dts/qcom/msm8998-pins.dtsi | 78 ++++++++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/msm8998.dtsi | 2 + 2 files changed, 80 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/msm8998-pins.dtsi