Message ID | 20230113162245.117324-2-krzysztof.kozlowski@linaro.org |
---|---|
State | New |
Headers | show |
Series | [1/6] arm64: dts: qcom: sm8250: drop unused clock-frequency from rx-macro | expand |
On 13.01.2023 17:22, Krzysztof Kozlowski wrote: > WCD9340 codec node is not a property of the SoC, but board. Move it to > separate file and include it in the specific boards. On all others, > keep the Slimbus node disabled as it is empty. > > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- Generally this should be SoC-independent, for example some newer MSM8998 devices shipped with the 9340 codec that most 845 devices used, but earlier ones used the WCD9335 found on MSM8996 Konrad > .../boot/dts/qcom/sdm845-audio-wcd9340.dtsi | 69 +++++++++++++++++++ > arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 1 + > .../qcom/sdm845-xiaomi-beryllium-common.dtsi | 1 + > .../boot/dts/qcom/sdm845-xiaomi-polaris.dts | 1 + > arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 +--------------- > .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 1 + > .../boot/dts/qcom/sdm850-samsung-w737.dts | 1 + > 7 files changed, 75 insertions(+), 59 deletions(-) > create mode 100644 arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi > new file mode 100644 > index 000000000000..5bcce7d0d709 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi > @@ -0,0 +1,69 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * SDM845 SoC device tree source > + * > + * Copyright (c) 2018, The Linux Foundation. All rights reserved. > + */ > + > +&slim { > + status = "okay"; > + > + slim@1 { > + reg = <1>; > + #address-cells = <2>; > + #size-cells = <0>; > + > + wcd9340_ifd: ifd@0,0 { > + compatible = "slim217,250"; > + reg = <0 0>; > + }; > + > + wcd9340: codec@1,0 { > + compatible = "slim217,250"; > + reg = <1 0>; > + slim-ifc-dev = <&wcd9340_ifd>; > + > + #sound-dai-cells = <1>; > + > + interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-controller; > + #interrupt-cells = <1>; > + > + #clock-cells = <0>; > + clock-frequency = <9600000>; > + clock-output-names = "mclk"; > + qcom,micbias1-microvolt = <1800000>; > + qcom,micbias2-microvolt = <1800000>; > + qcom,micbias3-microvolt = <1800000>; > + qcom,micbias4-microvolt = <1800000>; > + > + #address-cells = <1>; > + #size-cells = <1>; > + > + wcdgpio: gpio-controller@42 { > + compatible = "qcom,wcd9340-gpio"; > + gpio-controller; > + #gpio-cells = <2>; > + reg = <0x42 0x2>; > + }; > + > + swm: swm@c85 { > + compatible = "qcom,soundwire-v1.3.0"; > + reg = <0xc85 0x40>; > + interrupts-extended = <&wcd9340 20>; > + > + qcom,dout-ports = <6>; > + qcom,din-ports = <2>; > + qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>; > + qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>; > + qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>; > + > + #sound-dai-cells = <1>; > + clocks = <&wcd9340>; > + clock-names = "iface"; > + #address-cells = <2>; > + #size-cells = <0>; > + }; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > index 6b355589edb3..3726465acbde 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > @@ -11,6 +11,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm845.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > index 64de4ed9b0c8..e530a676b250 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > @@ -7,6 +7,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm845.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > index a80c3dd9a2da..f81619c8a3ba 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > @@ -13,6 +13,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm845.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > #include "pm8005.dtsi" > diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi > index 4c256431280a..f9b1d7a60fd6 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi > @@ -3831,65 +3831,7 @@ slim: slim-ngd@171c0000 { > iommus = <&apps_smmu 0x1806 0x0>; > #address-cells = <1>; > #size-cells = <0>; > - > - slim@1 { > - reg = <1>; > - #address-cells = <2>; > - #size-cells = <0>; > - > - wcd9340_ifd: ifd@0,0 { > - compatible = "slim217,250"; > - reg = <0 0>; > - }; > - > - wcd9340: codec@1,0 { > - compatible = "slim217,250"; > - reg = <1 0>; > - slim-ifc-dev = <&wcd9340_ifd>; > - > - #sound-dai-cells = <1>; > - > - interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; > - interrupt-controller; > - #interrupt-cells = <1>; > - > - #clock-cells = <0>; > - clock-frequency = <9600000>; > - clock-output-names = "mclk"; > - qcom,micbias1-microvolt = <1800000>; > - qcom,micbias2-microvolt = <1800000>; > - qcom,micbias3-microvolt = <1800000>; > - qcom,micbias4-microvolt = <1800000>; > - > - #address-cells = <1>; > - #size-cells = <1>; > - > - wcdgpio: gpio-controller@42 { > - compatible = "qcom,wcd9340-gpio"; > - gpio-controller; > - #gpio-cells = <2>; > - reg = <0x42 0x2>; > - }; > - > - swm: swm@c85 { > - compatible = "qcom,soundwire-v1.3.0"; > - reg = <0xc85 0x40>; > - interrupts-extended = <&wcd9340 20>; > - > - qcom,dout-ports = <6>; > - qcom,din-ports = <2>; > - qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>; > - qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>; > - qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>; > - > - #sound-dai-cells = <1>; > - clocks = <&wcd9340>; > - clock-names = "iface"; > - #address-cells = <2>; > - #size-cells = <0>; > - }; > - }; > - }; > + status = "disabled"; > }; > > lmh_cluster1: lmh@17d70800 { > diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > index d9581f4440b3..5586c95aa1ff 100644 > --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > @@ -13,6 +13,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm850.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > > /* > diff --git a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > index 6730804f4e3e..40223704a2c7 100644 > --- a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > +++ b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > @@ -14,6 +14,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm850.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > > /*
On 14/01/2023 21:33, Konrad Dybcio wrote: > > > On 13.01.2023 17:22, Krzysztof Kozlowski wrote: >> WCD9340 codec node is not a property of the SoC, but board. Move it to >> separate file and include it in the specific boards. On all others, >> keep the Slimbus node disabled as it is empty. >> >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> --- > Generally this should be SoC-independent, for example some newer > MSM8998 devices shipped with the 9340 codec that most 845 devices > used, but earlier ones used the WCD9335 found on MSM8996 OK, but I don't get if you expect me to change anything? Best regards, Krzysztof
On 16.01.2023 08:58, Krzysztof Kozlowski wrote: > On 16/01/2023 06:55, Dmitry Baryshkov wrote: >> On Sun, 15 Jan 2023 at 13:21, Krzysztof Kozlowski >> <krzysztof.kozlowski@linaro.org> wrote: >>> >>> On 14/01/2023 21:33, Konrad Dybcio wrote: >>>> >>>> >>>> On 13.01.2023 17:22, Krzysztof Kozlowski wrote: >>>>> WCD9340 codec node is not a property of the SoC, but board. Move it to >>>>> separate file and include it in the specific boards. On all others, >>>>> keep the Slimbus node disabled as it is empty. >>>>> >>>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >>>>> --- >>>> Generally this should be SoC-independent, for example some newer >>>> MSM8998 devices shipped with the 9340 codec that most 845 devices >>>> used, but earlier ones used the WCD9335 found on MSM8996 >>> >>> OK, but I don't get if you expect me to change anything? >> >> Maybe it might make sense to name new include file just 'wcd9340.dtsi' >> rather than 'sdm845-somthing.dtsi'? Same applies to the wcd9335 codec >> found in msm8996.dtsi, if you are going to extract it too. > > Ah, then I vote against, because it is not only codec, but also it's bus > attachment. It cannot be re-used on other devices. > > Same approach with sc7280 audios - not re-usable for other SoCs. Riight.. and interrupts and so on, let's keep it SoC-bound. Konrad > > Best regards, > Krzysztof >
On Fri, Jan 13, 2023 at 05:22:41PM +0100, Krzysztof Kozlowski wrote: > WCD9340 codec node is not a property of the SoC, but board. Move it to > separate file and include it in the specific boards. On all others, > keep the Slimbus node disabled as it is empty. > I think this seems like a reasonable idea. But without clearly documenting your intentions/guidelines we will soon have sdm845-display.dtsi, sdm845-pcie.dtsi etc. So please start there. > Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > .../boot/dts/qcom/sdm845-audio-wcd9340.dtsi | 69 +++++++++++++++++++ > arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 1 + > .../qcom/sdm845-xiaomi-beryllium-common.dtsi | 1 + > .../boot/dts/qcom/sdm845-xiaomi-polaris.dts | 1 + > arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 +--------------- > .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 1 + > .../boot/dts/qcom/sdm850-samsung-w737.dts | 1 + > 7 files changed, 75 insertions(+), 59 deletions(-) > create mode 100644 arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi > new file mode 100644 > index 000000000000..5bcce7d0d709 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi Why does this include the substring "audio"? Regards, Bjorn > @@ -0,0 +1,69 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * SDM845 SoC device tree source > + * > + * Copyright (c) 2018, The Linux Foundation. All rights reserved. > + */ > + > +&slim { > + status = "okay"; > + > + slim@1 { > + reg = <1>; > + #address-cells = <2>; > + #size-cells = <0>; > + > + wcd9340_ifd: ifd@0,0 { > + compatible = "slim217,250"; > + reg = <0 0>; > + }; > + > + wcd9340: codec@1,0 { > + compatible = "slim217,250"; > + reg = <1 0>; > + slim-ifc-dev = <&wcd9340_ifd>; > + > + #sound-dai-cells = <1>; > + > + interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; > + interrupt-controller; > + #interrupt-cells = <1>; > + > + #clock-cells = <0>; > + clock-frequency = <9600000>; > + clock-output-names = "mclk"; > + qcom,micbias1-microvolt = <1800000>; > + qcom,micbias2-microvolt = <1800000>; > + qcom,micbias3-microvolt = <1800000>; > + qcom,micbias4-microvolt = <1800000>; > + > + #address-cells = <1>; > + #size-cells = <1>; > + > + wcdgpio: gpio-controller@42 { > + compatible = "qcom,wcd9340-gpio"; > + gpio-controller; > + #gpio-cells = <2>; > + reg = <0x42 0x2>; > + }; > + > + swm: swm@c85 { > + compatible = "qcom,soundwire-v1.3.0"; > + reg = <0xc85 0x40>; > + interrupts-extended = <&wcd9340 20>; > + > + qcom,dout-ports = <6>; > + qcom,din-ports = <2>; > + qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>; > + qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>; > + qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>; > + > + #sound-dai-cells = <1>; > + clocks = <&wcd9340>; > + clock-names = "iface"; > + #address-cells = <2>; > + #size-cells = <0>; > + }; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > index 6b355589edb3..3726465acbde 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts > @@ -11,6 +11,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm845.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > index 64de4ed9b0c8..e530a676b250 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > @@ -7,6 +7,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm845.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > index a80c3dd9a2da..f81619c8a3ba 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > @@ -13,6 +13,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm845.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > #include "pmi8998.dtsi" > #include "pm8005.dtsi" > diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi > index 4c256431280a..f9b1d7a60fd6 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi > @@ -3831,65 +3831,7 @@ slim: slim-ngd@171c0000 { > iommus = <&apps_smmu 0x1806 0x0>; > #address-cells = <1>; > #size-cells = <0>; > - > - slim@1 { > - reg = <1>; > - #address-cells = <2>; > - #size-cells = <0>; > - > - wcd9340_ifd: ifd@0,0 { > - compatible = "slim217,250"; > - reg = <0 0>; > - }; > - > - wcd9340: codec@1,0 { > - compatible = "slim217,250"; > - reg = <1 0>; > - slim-ifc-dev = <&wcd9340_ifd>; > - > - #sound-dai-cells = <1>; > - > - interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; > - interrupt-controller; > - #interrupt-cells = <1>; > - > - #clock-cells = <0>; > - clock-frequency = <9600000>; > - clock-output-names = "mclk"; > - qcom,micbias1-microvolt = <1800000>; > - qcom,micbias2-microvolt = <1800000>; > - qcom,micbias3-microvolt = <1800000>; > - qcom,micbias4-microvolt = <1800000>; > - > - #address-cells = <1>; > - #size-cells = <1>; > - > - wcdgpio: gpio-controller@42 { > - compatible = "qcom,wcd9340-gpio"; > - gpio-controller; > - #gpio-cells = <2>; > - reg = <0x42 0x2>; > - }; > - > - swm: swm@c85 { > - compatible = "qcom,soundwire-v1.3.0"; > - reg = <0xc85 0x40>; > - interrupts-extended = <&wcd9340 20>; > - > - qcom,dout-ports = <6>; > - qcom,din-ports = <2>; > - qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>; > - qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>; > - qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>; > - > - #sound-dai-cells = <1>; > - clocks = <&wcd9340>; > - clock-names = "iface"; > - #address-cells = <2>; > - #size-cells = <0>; > - }; > - }; > - }; > + status = "disabled"; > }; > > lmh_cluster1: lmh@17d70800 { > diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > index d9581f4440b3..5586c95aa1ff 100644 > --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > @@ -13,6 +13,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm850.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > > /* > diff --git a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > index 6730804f4e3e..40223704a2c7 100644 > --- a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > +++ b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > @@ -14,6 +14,7 @@ > #include <dt-bindings/sound/qcom,q6afe.h> > #include <dt-bindings/sound/qcom,q6asm.h> > #include "sdm850.dtsi" > +#include "sdm845-audio-wcd9340.dtsi" > #include "pm8998.dtsi" > > /* > -- > 2.34.1 >
On 17/01/2023 04:56, Bjorn Andersson wrote: > On Fri, Jan 13, 2023 at 05:22:41PM +0100, Krzysztof Kozlowski wrote: >> WCD9340 codec node is not a property of the SoC, but board. Move it to >> separate file and include it in the specific boards. On all others, >> keep the Slimbus node disabled as it is empty. >> > > I think this seems like a reasonable idea. But without clearly > documenting your intentions/guidelines we will soon have > sdm845-display.dtsi, sdm845-pcie.dtsi etc. > > So please start there. You said like this started the process but it is already there for sc7280. Where do you want to store such documentation? In commit msg? > >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> >> --- >> .../boot/dts/qcom/sdm845-audio-wcd9340.dtsi | 69 +++++++++++++++++++ >> arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 1 + >> .../qcom/sdm845-xiaomi-beryllium-common.dtsi | 1 + >> .../boot/dts/qcom/sdm845-xiaomi-polaris.dts | 1 + >> arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 +--------------- >> .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 1 + >> .../boot/dts/qcom/sdm850-samsung-w737.dts | 1 + >> 7 files changed, 75 insertions(+), 59 deletions(-) >> create mode 100644 arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi >> >> diff --git a/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi >> new file mode 100644 >> index 000000000000..5bcce7d0d709 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi > > Why does this include the substring "audio"? To indicate it covers entire audio, which points me to the fact that probably I can also move there sound node. Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi new file mode 100644 index 000000000000..5bcce7d0d709 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * SDM845 SoC device tree source + * + * Copyright (c) 2018, The Linux Foundation. All rights reserved. + */ + +&slim { + status = "okay"; + + slim@1 { + reg = <1>; + #address-cells = <2>; + #size-cells = <0>; + + wcd9340_ifd: ifd@0,0 { + compatible = "slim217,250"; + reg = <0 0>; + }; + + wcd9340: codec@1,0 { + compatible = "slim217,250"; + reg = <1 0>; + slim-ifc-dev = <&wcd9340_ifd>; + + #sound-dai-cells = <1>; + + interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <1>; + + #clock-cells = <0>; + clock-frequency = <9600000>; + clock-output-names = "mclk"; + qcom,micbias1-microvolt = <1800000>; + qcom,micbias2-microvolt = <1800000>; + qcom,micbias3-microvolt = <1800000>; + qcom,micbias4-microvolt = <1800000>; + + #address-cells = <1>; + #size-cells = <1>; + + wcdgpio: gpio-controller@42 { + compatible = "qcom,wcd9340-gpio"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x42 0x2>; + }; + + swm: swm@c85 { + compatible = "qcom,soundwire-v1.3.0"; + reg = <0xc85 0x40>; + interrupts-extended = <&wcd9340 20>; + + qcom,dout-ports = <6>; + qcom,din-ports = <2>; + qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>; + qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>; + qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>; + + #sound-dai-cells = <1>; + clocks = <&wcd9340>; + clock-names = "iface"; + #address-cells = <2>; + #size-cells = <0>; + }; + }; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts index 6b355589edb3..3726465acbde 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-db845c.dts +++ b/arch/arm64/boot/dts/qcom/sdm845-db845c.dts @@ -11,6 +11,7 @@ #include <dt-bindings/sound/qcom,q6afe.h> #include <dt-bindings/sound/qcom,q6asm.h> #include "sdm845.dtsi" +#include "sdm845-audio-wcd9340.dtsi" #include "pm8998.dtsi" #include "pmi8998.dtsi" diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi index 64de4ed9b0c8..e530a676b250 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi @@ -7,6 +7,7 @@ #include <dt-bindings/sound/qcom,q6afe.h> #include <dt-bindings/sound/qcom,q6asm.h> #include "sdm845.dtsi" +#include "sdm845-audio-wcd9340.dtsi" #include "pm8998.dtsi" #include "pmi8998.dtsi" diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts index a80c3dd9a2da..f81619c8a3ba 100644 --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts @@ -13,6 +13,7 @@ #include <dt-bindings/sound/qcom,q6afe.h> #include <dt-bindings/sound/qcom,q6asm.h> #include "sdm845.dtsi" +#include "sdm845-audio-wcd9340.dtsi" #include "pm8998.dtsi" #include "pmi8998.dtsi" #include "pm8005.dtsi" diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi index 4c256431280a..f9b1d7a60fd6 100644 --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -3831,65 +3831,7 @@ slim: slim-ngd@171c0000 { iommus = <&apps_smmu 0x1806 0x0>; #address-cells = <1>; #size-cells = <0>; - - slim@1 { - reg = <1>; - #address-cells = <2>; - #size-cells = <0>; - - wcd9340_ifd: ifd@0,0 { - compatible = "slim217,250"; - reg = <0 0>; - }; - - wcd9340: codec@1,0 { - compatible = "slim217,250"; - reg = <1 0>; - slim-ifc-dev = <&wcd9340_ifd>; - - #sound-dai-cells = <1>; - - interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; - interrupt-controller; - #interrupt-cells = <1>; - - #clock-cells = <0>; - clock-frequency = <9600000>; - clock-output-names = "mclk"; - qcom,micbias1-microvolt = <1800000>; - qcom,micbias2-microvolt = <1800000>; - qcom,micbias3-microvolt = <1800000>; - qcom,micbias4-microvolt = <1800000>; - - #address-cells = <1>; - #size-cells = <1>; - - wcdgpio: gpio-controller@42 { - compatible = "qcom,wcd9340-gpio"; - gpio-controller; - #gpio-cells = <2>; - reg = <0x42 0x2>; - }; - - swm: swm@c85 { - compatible = "qcom,soundwire-v1.3.0"; - reg = <0xc85 0x40>; - interrupts-extended = <&wcd9340 20>; - - qcom,dout-ports = <6>; - qcom,din-ports = <2>; - qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x7 0x1f 0x3f 0x0f 0x0f>; - qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x6 0x12 0x0d 0x07 0x0a>; - qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x1f 0x00 0x00 0x1f 0x00 0x00>; - - #sound-dai-cells = <1>; - clocks = <&wcd9340>; - clock-names = "iface"; - #address-cells = <2>; - #size-cells = <0>; - }; - }; - }; + status = "disabled"; }; lmh_cluster1: lmh@17d70800 { diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts index d9581f4440b3..5586c95aa1ff 100644 --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts @@ -13,6 +13,7 @@ #include <dt-bindings/sound/qcom,q6afe.h> #include <dt-bindings/sound/qcom,q6asm.h> #include "sdm850.dtsi" +#include "sdm845-audio-wcd9340.dtsi" #include "pm8998.dtsi" /* diff --git a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts index 6730804f4e3e..40223704a2c7 100644 --- a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts +++ b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts @@ -14,6 +14,7 @@ #include <dt-bindings/sound/qcom,q6afe.h> #include <dt-bindings/sound/qcom,q6asm.h> #include "sdm850.dtsi" +#include "sdm845-audio-wcd9340.dtsi" #include "pm8998.dtsi" /*
WCD9340 codec node is not a property of the SoC, but board. Move it to separate file and include it in the specific boards. On all others, keep the Slimbus node disabled as it is empty. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- .../boot/dts/qcom/sdm845-audio-wcd9340.dtsi | 69 +++++++++++++++++++ arch/arm64/boot/dts/qcom/sdm845-db845c.dts | 1 + .../qcom/sdm845-xiaomi-beryllium-common.dtsi | 1 + .../boot/dts/qcom/sdm845-xiaomi-polaris.dts | 1 + arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 +--------------- .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 1 + .../boot/dts/qcom/sdm850-samsung-w737.dts | 1 + 7 files changed, 75 insertions(+), 59 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/sdm845-audio-wcd9340.dtsi