Hi, On Fri, Sep 30, 2022 at 11:22 AM Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> wrote: > > The pin configuration (done with generic pin controller helpers and > as expressed by bindings) requires children nodes with either: > 1. "pins" property and the actual configuration, > 2. another set of nodes with above point. > > The qup_spi2_default pin configuration used second method - with a > "pinmux" child. > > Fixes: 8d23a0040475 ("arm64: dts: qcom: db845c: add Low speed expansion i2c and spi nodes") > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > > --- > > Not tested on hardware. > --- > arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > index 132417e2d11e..a157eab66dee 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > @@ -1123,7 +1123,9 @@ &wifi { > > /* PINCTRL - additions to nodes defined in sdm845.dtsi */ > &qup_spi2_default { > - drive-strength = <16>; > + pinmux { > + drive-strength = <16>; > + }; The convention on Qualcomm boards of this era is that muxing (setting the function) is done under a "pinmux" node and, unless some of the pins need to be treated differently like for the UARTs, configuration (bias, drive strength, etc) is done under a "pinconf" subnode. I believe that the "pinconf" subnode also needs to replicate the list of pins, or at least that's what we did everywhere else on sdm845 / sc7180. Thus to match conventions, I assume you'd do: &qup_spi2_default { pinconf { pins = "gpio27", "gpio28", "gpio29", "gpio30"; drive-strength = <16>; }; }; We've since moved away from this to a less cumbersome approach, but for "older" boards like db845c we should probably match the existing convention, or have a flag day and change all sdm845 boards over to the new convention. -Doug