2023-01-03 10:50:12

by Johan Hovold

[permalink] [raw]
Subject: [PATCH v2 0/6] arm64: dts: qcom: sound cleanups

This series clean up the sc8280xp sound nodes somewhat, for example, by
making sure the nodes are disabled by default in the SoC dtsi.

Included are also two related cleanups for sm8450-hdk and sm8250.

Note that sound on the X13s is currently broken and depends on
out-of-tree hacks to even probe:

[ 10.719830] qcom-apm gprsvc:service:2:1: CMD timeout for [1001021] opcode
[ 10.762206] q6apm-dai 3000000.remoteproc:glink-edge:gpr:service@1:dais: Adding to iommu group 19
[ 10.857910] qcom-prm gprsvc:service:2:2: DSP returned error[100100f] 1
[ 10.858386] rx_macro: probe of 3200000.rxmacro failed with error -22
[ 10.975745] qcom-soundwire 3250000.soundwire-controller: Qualcomm Soundwire controller v1.6.0 Registered
[ 10.981406] wsa883x-codec sdw:0:0217:0202:00:1: WSA883X Version 1_1, Variant: WSA8835_V2
[ 10.986440] wsa883x-codec sdw:0:0217:0202:00:2: WSA883X Version 1_1, Variant: WSA8835_V2
[ 11.086238] qcom-soundwire 3330000.soundwire-controller: Qualcomm Soundwire controller v1.6.0 Registered
[ 11.087322] qcom-soundwire 3330000.soundwire-controller: qcom_swrm_irq_handler: SWR bus clsh detected
[ 14.342332] qcom-soundwire 3330000.soundwire-controller: swrm_wait_for_rd_fifo_avail err read underflow
[ 14.342464] soundwire sdw-master-1: trf on Slave 1 failed:-5 read addr 41 count 1
[ 14.342503] wcd9380-codec sdw:0:0217:010d:00:3: SDW_SCP_INTMASK1 write failed:-5
[ 14.342536] wcd9380-codec sdw:0:0217:010d:00:3: Slave 1 initialization failed: -5
[ 14.346734] qcom-soundwire 3330000.soundwire-controller: qcom_swrm_irq_handler: SWR bus clsh detected
[ 17.727488] wcd9380-codec sdw:0:0217:010d:00:3: Slave 1 state check1: UNATTACHED, status was 1
[ 17.839483] qcom-soundwire 3330000.soundwire-controller: qcom_swrm_irq_handler: SWR bus clsh detected
[ 17.896325] qcom-soundwire 3330000.soundwire-controller: swrm_wait_for_frame_gen_enabled: link status not disconnected
[ 17.896374] qcom-soundwire 3330000.soundwire-controller: link failed to connect
[ 20.962617] platform 3210000.soundwire-controller: deferred probe pending

The out-of-tree patches I had seen that looked related to speaker
protection had been merged for 6.2-rc1 so hopefully the above log spew
is the only downside of keeping these nodes enabled for now.

Johan


Changes in v2
- keep the sound nodes on x13s enabled despite the missing driver
support -- hopefully Srini and Krzysztof can get this sorted before
6.3 is released (Krzysztof)
- moves the x13 vamacro node (new patch)
- clean up the sm8450-hdk wcd938x node somewhat when moving it (Konrad)
- rebase on sm8250 patch which had already moved the wcd938x node
(Krzysztof)

Johan Hovold (6):
arm64: dts: qcom: sc8280xp: disable sound nodes
arm64: dts: qcom: sc8280xp-x13s: move vamacro node
arm64: dts: qcom: sc8280xp: clean up tx-macro node
arm64: dts: qcom: sc8280xp-x13s: move wcd938x codec node
arm64: dts: qcom: sm8450-hdk: move wcd938x codec node
arm64: dts: qcom: sm8250: clean up wcd938x codec node

.../qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 78 ++++++++++++-------
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 18 ++++-
arch/arm64/boot/dts/qcom/sm8250-mtp.dts | 16 ++--
arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 53 +++++++------
4 files changed, 103 insertions(+), 62 deletions(-)

--
2.37.4


2023-01-03 10:51:35

by Johan Hovold

[permalink] [raw]
Subject: [PATCH v2 5/6] arm64: dts: qcom: sm8450-hdk: move wcd938x codec node

The wcd938x codec is not a memory-mapped device and does not belong
under the soc node.

Move the node to the root node to avoid DT validation failures.

While at it, clean up the node somewhat by reordering properties and
renaming it 'audio-codec'.

Signed-off-by: Johan Hovold <[email protected]>
---
arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 53 ++++++++++++-------------
1 file changed, 26 insertions(+), 27 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
index 4de3e1f1c39c..8ac7265d8c10 100644
--- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
+++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
@@ -17,6 +17,32 @@ aliases {
serial0 = &uart7;
};

+ wcd938x: audio-codec {
+ compatible = "qcom,wcd9380-codec";
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&wcd_default>;
+
+ qcom,micbias1-microvolt = <1800000>;
+ qcom,micbias2-microvolt = <1800000>;
+ qcom,micbias3-microvolt = <1800000>;
+ qcom,micbias4-microvolt = <1800000>;
+ qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
+ qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
+ qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
+ qcom,rx-device = <&wcd_rx>;
+ qcom,tx-device = <&wcd_tx>;
+
+ reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
+
+ vdd-buck-supply = <&vreg_s10b_1p8>;
+ vdd-rxtx-supply = <&vreg_s10b_1p8>;
+ vdd-io-supply = <&vreg_s10b_1p8>;
+ vdd-mic-bias-supply = <&vreg_bob>;
+
+ #sound-dai-cells = <1>;
+ };
+
chosen {
stdout-path = "serial0:115200n8";
};
@@ -407,33 +433,6 @@ &sdhc_2 {
status = "okay";
};

-&soc {
- wcd938x: codec {
- compatible = "qcom,wcd9380-codec";
-
- pinctrl-names = "default";
- pinctrl-0 = <&wcd_default>;
-
- qcom,micbias1-microvolt = <1800000>;
- qcom,micbias2-microvolt = <1800000>;
- qcom,micbias3-microvolt = <1800000>;
- qcom,micbias4-microvolt = <1800000>;
- qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
- qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
- qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
- qcom,rx-device = <&wcd_rx>;
- qcom,tx-device = <&wcd_tx>;
-
- reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
- #sound-dai-cells = <1>;
-
- vdd-buck-supply = <&vreg_s10b_1p8>;
- vdd-rxtx-supply = <&vreg_s10b_1p8>;
- vdd-io-supply = <&vreg_s10b_1p8>;
- vdd-mic-bias-supply = <&vreg_bob>;
- };
-};
-
&sound {
compatible = "qcom,sm8450-sndcard";
model = "SM8450-HDK";
--
2.37.4

2023-01-03 11:07:41

by Johan Hovold

[permalink] [raw]
Subject: [PATCH v2 3/6] arm64: dts: qcom: sc8280xp: clean up tx-macro node

Drop the bogus address and size-cells properties from the tx-macro node,
which do not have any child nodes.

Reviewed-by: Konrad Dybcio <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
index c1ce2d7b3675..11e3d560c627 100644
--- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
@@ -1784,8 +1784,6 @@ txmacro: txmacro@3220000 {
clock-output-names = "mclk";

#clock-cells = <0>;
- #address-cells = <2>;
- #size-cells = <2>;
#sound-dai-cells = <1>;

status = "disabled";
--
2.37.4

2023-01-03 13:42:16

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH v2 5/6] arm64: dts: qcom: sm8450-hdk: move wcd938x codec node



On 3.01.2023 11:31, Johan Hovold wrote:
> The wcd938x codec is not a memory-mapped device and does not belong
> under the soc node.
>
> Move the node to the root node to avoid DT validation failures.
>
> While at it, clean up the node somewhat by reordering properties and
> renaming it 'audio-codec'.
>
> Signed-off-by: Johan Hovold <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 53 ++++++++++++-------------
> 1 file changed, 26 insertions(+), 27 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> index 4de3e1f1c39c..8ac7265d8c10 100644
> --- a/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> +++ b/arch/arm64/boot/dts/qcom/sm8450-hdk.dts
> @@ -17,6 +17,32 @@ aliases {
> serial0 = &uart7;
> };
>
> + wcd938x: audio-codec {
> + compatible = "qcom,wcd9380-codec";
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&wcd_default>;
> +
> + qcom,micbias1-microvolt = <1800000>;
> + qcom,micbias2-microvolt = <1800000>;
> + qcom,micbias3-microvolt = <1800000>;
> + qcom,micbias4-microvolt = <1800000>;
> + qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
> + qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
> + qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
> + qcom,rx-device = <&wcd_rx>;
> + qcom,tx-device = <&wcd_tx>;
> +
> + reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
> +
> + vdd-buck-supply = <&vreg_s10b_1p8>;
> + vdd-rxtx-supply = <&vreg_s10b_1p8>;
> + vdd-io-supply = <&vreg_s10b_1p8>;
> + vdd-mic-bias-supply = <&vreg_bob>;
> +
> + #sound-dai-cells = <1>;
> + };
> +
> chosen {
> stdout-path = "serial0:115200n8";
> };
> @@ -407,33 +433,6 @@ &sdhc_2 {
> status = "okay";
> };
>
> -&soc {
> - wcd938x: codec {
> - compatible = "qcom,wcd9380-codec";
> -
> - pinctrl-names = "default";
> - pinctrl-0 = <&wcd_default>;
> -
> - qcom,micbias1-microvolt = <1800000>;
> - qcom,micbias2-microvolt = <1800000>;
> - qcom,micbias3-microvolt = <1800000>;
> - qcom,micbias4-microvolt = <1800000>;
> - qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
> - qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
> - qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
> - qcom,rx-device = <&wcd_rx>;
> - qcom,tx-device = <&wcd_tx>;
> -
> - reset-gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
> - #sound-dai-cells = <1>;
> -
> - vdd-buck-supply = <&vreg_s10b_1p8>;
> - vdd-rxtx-supply = <&vreg_s10b_1p8>;
> - vdd-io-supply = <&vreg_s10b_1p8>;
> - vdd-mic-bias-supply = <&vreg_bob>;
> - };
> -};
> -
> &sound {
> compatible = "qcom,sm8450-sndcard";
> model = "SM8450-HDK";

2023-01-18 22:53:52

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH v2 0/6] arm64: dts: qcom: sound cleanups

On Tue, 3 Jan 2023 11:31:35 +0100, Johan Hovold wrote:
> This series clean up the sc8280xp sound nodes somewhat, for example, by
> making sure the nodes are disabled by default in the SoC dtsi.
>
> Included are also two related cleanups for sm8450-hdk and sm8250.
>
> Note that sound on the X13s is currently broken and depends on
> out-of-tree hacks to even probe:
>
> [...]

Applied, thanks!

[1/6] arm64: dts: qcom: sc8280xp: disable sound nodes
commit: 6ded5ed60984104a1a3560e02422941c25da686c
[2/6] arm64: dts: qcom: sc8280xp-x13s: move vamacro node
commit: acf906140790837d235567c93207fde6ac8e1e64
[3/6] arm64: dts: qcom: sc8280xp: clean up tx-macro node
(no commit info)
[4/6] arm64: dts: qcom: sc8280xp-x13s: move wcd938x codec node
commit: fdc6a0b272c5f91bfb4dcd8c0d7757d8dc0abef4
[5/6] arm64: dts: qcom: sm8450-hdk: move wcd938x codec node
commit: 306380dc93c5a305a009f7d210da0995e3babceb
[6/6] arm64: dts: qcom: sm8250: clean up wcd938x codec node
commit: 74d6ed033d47200d18204e3935b201f385476271

Best regards,
--
Bjorn Andersson <[email protected]>