[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e3c367ba-b752-d116-0b84-fd2437e565b8@linaro.org>
Date: Sat, 14 Jan 2023 21:33:21 +0100
From: Konrad Dybcio <konrad.dybcio@...aro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <andersson@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/6] arm64: dts: qcom: sdm845: move WCD9340 codec to
separate file
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@...aro.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@...c0000 {
> 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@...70800 {
> 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"
>
> /*
Powered by blists - more mailing lists