* [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound
@ 2025-05-19 9:54 Krzysztof Kozlowski
2025-05-19 9:54 ` [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes Krzysztof Kozlowski
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-19 9:54 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski
Changes in v2:
- Patch #1:
- Use v2.1 compatible with v2.0 fallback (Konrad)
- Use hex address in <reg>
- Re-order nodes to keep proper sorting by unit address
- Patch #2:
- Re-order codec/cpu nodes (Konrad)
- Link to v1: https://lore.kernel.org/r/20250424-sm8750-audio-part-2-v1-0-50133a0ec35f@linaro.org
Bindings for the new Soundwire compatible:
https://lore.kernel.org/r/20250519080453.29858-2-krzysztof.kozlowski@linaro.org/T/#u
Dependencies were merged, so this brings the necessary sound on SM8750
MTP. I have patches work-in-progress for QRD and also USB headset, but
this have dependencies and need some cleanup. I will be posting these
separately.
Best regards,
Krzysztof
---
Krzysztof Kozlowski (2):
arm64: dts: qcom: sm8750: Add Soundwire nodes
arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics)
arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 214 ++++++++++++++++++++++++++++++++
arch/arm64/boot/dts/qcom/sm8750.dtsi | 122 ++++++++++++++++++
2 files changed, 336 insertions(+)
---
base-commit: 0fde2d760e610a74f67eee9e757a3d4a95388f36
change-id: 20241122-sm8750-audio-part-2-943277d85302
Best regards,
--
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes
2025-05-19 9:54 [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Krzysztof Kozlowski
@ 2025-05-19 9:54 ` Krzysztof Kozlowski
2025-05-20 15:51 ` Konrad Dybcio
2025-05-19 9:54 ` [PATCH v2 2/2] arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics) Krzysztof Kozlowski
2025-05-19 13:01 ` [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Rob Herring (Arm)
2 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-19 9:54 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski
Add Soundwire controllers on SM8750, fully compatible with earlier
SM8650 generation.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8750.dtsi | 122 +++++++++++++++++++++++++++++++++++
1 file changed, 122 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi
index 149d2ed17641a085d510f3a8eab5a96304787f0c..68ea48854c61b3aed6e089afaebe9edba7a1475f 100644
--- a/arch/arm64/boot/dts/qcom/sm8750.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi
@@ -2257,6 +2257,36 @@ lpass_wsa2macro: codec@6aa0000 {
#sound-dai-cells = <1>;
};
+ swr3: soundwire@6ab0000 {
+ compatible = "qcom,soundwire-v2.1.0", "qcom,soundwire-v2.0.0";
+ reg = <0x0 0x06ab0000 0x0 0x10000>;
+ interrupts = <GIC_SPI 171 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&lpass_wsa2macro>;
+ clock-names = "iface";
+ label = "WSA2";
+
+ pinctrl-0 = <&wsa2_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,din-ports = <4>;
+ qcom,dout-ports = <9>;
+
+ qcom,ports-sinterval = /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0x18f 0x18f 0x0f 0x0f 0xff 0x31f>;
+ qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0x00 0x00 0x06 0x0d 0xff 0x00>;
+ qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+ qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0x0e 0x0e 0xff 0xff 0xff 0x0f>;
+ qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0x0e 0x0e 0xff 0xff 0xff 0x0f>;
+ qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0x0f 0x0f 0x00 0xff 0xff 0x18>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x01 0x01 0x01 0x01 0x00 0x00>;
+ qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
+ qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ status = "disabled";
+ };
+
lpass_rxmacro: codec@6ac0000 {
compatible = "qcom,sm8750-lpass-rx-macro", "qcom,sm8550-lpass-rx-macro";
reg = <0x0 0x06ac0000 0x0 0x1000>;
@@ -2274,6 +2304,36 @@ lpass_rxmacro: codec@6ac0000 {
#sound-dai-cells = <1>;
};
+ swr1: soundwire@6ad0000 {
+ compatible = "qcom,soundwire-v2.1.0", "qcom,soundwire-v2.0.0";
+ reg = <0x0 0x06ad0000 0x0 0x10000>;
+ interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&lpass_rxmacro>;
+ clock-names = "iface";
+ label = "RX";
+
+ pinctrl-0 = <&rx_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,din-ports = <1>;
+ qcom,dout-ports = <11>;
+
+ qcom,ports-sinterval = /bits/ 16 <0x03 0x3f 0x1f 0x07 0x00 0x18f 0xff 0xff 0x31 0xff 0xff 0xff>;
+ qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x0b 0x01 0x00 0x00 0xff 0xff 0x00 0xff 0xff 0xff>;
+ qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x0b 0x00 0x00 0x00 0xff 0xff 0x00 0xff 0xff 0xff>;
+ qcom,ports-hstart = /bits/ 8 <0xff 0x03 0xff 0xff 0xff 0x08 0xff 0xff 0x00 0xff 0xff 0xff>;
+ qcom,ports-hstop = /bits/ 8 <0xff 0x06 0xff 0xff 0xff 0x08 0xff 0xff 0x0f 0xff 0xff 0xff>;
+ qcom,ports-word-length = /bits/ 8 <0x01 0x07 0x04 0xff 0xff 0x0f 0xff 0xff 0x18 0xff 0xff 0xff>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0xff 0x00 0x01 0xff 0xff 0x00 0xff 0xff 0x01 0xff 0xff 0xff>;
+ qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0x00 0xff 0xff 0xff>;
+ qcom,ports-lane-control = /bits/ 8 <0x01 0x00 0x00 0x00 0x00 0x00 0xff 0xff 0x01 0xff 0xff 0xff>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ status = "disabled";
+ };
+
lpass_txmacro: codec@6ae0000 {
compatible = "qcom,sm8750-lpass-tx-macro", "qcom,sm8550-lpass-tx-macro";
reg = <0x0 0x06ae0000 0x0 0x1000>;
@@ -2308,6 +2368,36 @@ lpass_wsamacro: codec@6b00000 {
#sound-dai-cells = <1>;
};
+ swr0: soundwire@6b10000 {
+ compatible = "qcom,soundwire-v2.1.0", "qcom,soundwire-v2.0.0";
+ reg = <0x0 0x06b10000 0x0 0x10000>;
+ interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&lpass_wsamacro>;
+ clock-names = "iface";
+ label = "WSA";
+
+ pinctrl-0 = <&wsa_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,din-ports = <4>;
+ qcom,dout-ports = <9>;
+
+ qcom,ports-sinterval = /bits/ 16 <0x07 0x1f 0x3f 0x07 0x1f 0x3f 0x18f 0x18f 0x18f 0x0f 0x0f 0xff 0x31f>;
+ qcom,ports-offset1 = /bits/ 8 <0x01 0x03 0x05 0x02 0x04 0x15 0x00 0x00 0x00 0x06 0x0d 0xff 0x00>;
+ qcom,ports-offset2 = /bits/ 8 <0xff 0x07 0x1f 0xff 0x07 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
+ qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0x0e 0x0e 0xff 0xff 0xff 0x0f>;
+ qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0x0e 0x0e 0xff 0xff 0xff 0x0f>;
+ qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0x08 0x0f 0x0f 0x00 0xff 0xff 0x18>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0x00 0x01 0x01 0x00 0x01 0x01 0x00 0x01 0x01 0x01 0x01 0x00 0x00>;
+ qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
+ qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x00 0xff 0xff 0xff 0xff>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ status = "disabled";
+ };
+
lpass_ag_noc: interconnect@7e40000 {
compatible = "qcom,sm8750-lpass-ag-noc";
reg = <0x0 0x07e40000 0x0 0xe080>;
@@ -2329,6 +2419,38 @@ lpass_lpicx_noc: interconnect@7420000 {
#interconnect-cells = <2>;
};
+ swr2: soundwire@7630000 {
+ compatible = "qcom,soundwire-v2.1.0", "qcom,soundwire-v2.0.0";
+ reg = <0x0 0x07630000 0x0 0x10000>;
+ interrupts = <GIC_SPI 761 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 785 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "core", "wakeup";
+ clocks = <&lpass_txmacro>;
+ clock-names = "iface";
+ label = "TX";
+
+ pinctrl-0 = <&tx_swr_active>;
+ pinctrl-names = "default";
+
+ qcom,din-ports = <4>;
+ qcom,dout-ports = <0>;
+
+ qcom,ports-sinterval-low = /bits/ 8 <0x01 0x01 0x03 0x03>;
+ qcom,ports-offset1 = /bits/ 8 <0x00 0x00 0x01 0x01>;
+ qcom,ports-offset2 = /bits/ 8 <0x00 0x00 0x00 0x00>;
+ qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff>;
+ qcom,ports-lane-control = /bits/ 8 <0x01 0x02 0x00 0x00>;
+
+ #address-cells = <2>;
+ #size-cells = <0>;
+ #sound-dai-cells = <1>;
+ status = "disabled";
+ };
+
lpass_vamacro: codec@7660000 {
compatible = "qcom,sm8750-lpass-va-macro", "qcom,sm8550-lpass-va-macro";
reg = <0x0 0x07660000 0x0 0x2000>;
--
2.45.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v2 2/2] arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics)
2025-05-19 9:54 [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Krzysztof Kozlowski
2025-05-19 9:54 ` [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes Krzysztof Kozlowski
@ 2025-05-19 9:54 ` Krzysztof Kozlowski
2025-05-20 16:44 ` Konrad Dybcio
2025-05-19 13:01 ` [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Rob Herring (Arm)
2 siblings, 1 reply; 6+ messages in thread
From: Krzysztof Kozlowski @ 2025-05-19 9:54 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Krzysztof Kozlowski
Add device nodes for most of the sound support - WSA883x smart speakers,
WCD9395 audio codec (headset) and sound card - which allows sound
playback via speakers and recording via DMIC microphones. Changes bring
necessary foundation for headset playback/recording via USB, but that
part is not yet ready.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 214 ++++++++++++++++++++++++++++++++
1 file changed, 214 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8750-mtp.dts b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts
index 72f081a890dfe49bfbee5e91b9e51da53b9d8baf..a5a791f039b240ee9922371f43f3aa98b32b00f0 100644
--- a/arch/arm64/boot/dts/qcom/sm8750-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts
@@ -29,6 +29,32 @@ aliases {
serial0 = &uart7;
};
+ wcd939x: audio-codec {
+ compatible = "qcom,wcd9395-codec", "qcom,wcd9390-codec";
+
+ pinctrl-0 = <&wcd_default>;
+ pinctrl-names = "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 101 GPIO_ACTIVE_LOW>;
+
+ vdd-buck-supply = <&vreg_l15b_1p8>;
+ vdd-rxtx-supply = <&vreg_l15b_1p8>;
+ vdd-io-supply = <&vreg_l15b_1p8>;
+ vdd-mic-bias-supply = <&vreg_bob1>;
+
+ #sound-dai-cells = <1>;
+ };
+
chosen {
stdout-path = "serial0:115200n8";
};
@@ -81,6 +107,89 @@ key-volume-up {
};
};
+ sound {
+ compatible = "qcom,sm8750-sndcard", "qcom,sm8450-sndcard";
+ model = "SM8750-MTP";
+ audio-routing = "SpkrLeft IN", "WSA_SPK1 OUT",
+ "SpkrRight IN", "WSA_SPK2 OUT",
+ "IN1_HPHL", "HPHL_OUT",
+ "IN2_HPHR", "HPHR_OUT",
+ "AMIC2", "MIC BIAS2",
+ "VA DMIC0", "MIC BIAS3", /* MIC4 on schematics */
+ "VA DMIC1", "MIC BIAS3", /* MIC1 on schematics */
+ "VA DMIC2", "MIC BIAS1",
+ "VA DMIC3", "MIC BIAS1",
+ "VA DMIC0", "VA MIC BIAS3",
+ "VA DMIC1", "VA MIC BIAS3",
+ "VA DMIC2", "VA MIC BIAS1",
+ "VA DMIC3", "VA MIC BIAS1",
+ "TX SWR_INPUT1", "ADC2_OUTPUT";
+
+ wcd-playback-dai-link {
+ link-name = "WCD Playback";
+
+ codec {
+ sound-dai = <&wcd939x 0>, <&swr1 0>, <&lpass_rxmacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai RX_CODEC_DMA_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wcd-capture-dai-link {
+ link-name = "WCD Capture";
+
+ codec {
+ sound-dai = <&wcd939x 1>, <&swr2 0>, <&lpass_txmacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai TX_CODEC_DMA_TX_3>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ wsa-dai-link {
+ link-name = "WSA Playback";
+
+ codec {
+ sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&lpass_wsamacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai WSA_CODEC_DMA_RX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+
+ va-dai-link {
+ link-name = "VA Capture";
+
+ codec {
+ sound-dai = <&lpass_vamacro 0>;
+ };
+
+ cpu {
+ sound-dai = <&q6apmbedai VA_CODEC_DMA_TX_0>;
+ };
+
+ platform {
+ sound-dai = <&q6apm>;
+ };
+ };
+ };
+
vph_pwr: vph-pwr-regulator {
compatible = "regulator-fixed";
@@ -702,6 +811,14 @@ vreg_l7n_3p3: ldo7 {
};
};
+&lpass_vamacro {
+ pinctrl-0 = <&dmic01_default>, <&dmic23_default>;
+ pinctrl-names = "default";
+
+ vdd-micb-supply = <&vreg_l1b_1p8>;
+ qcom,dmic-sample-rate = <4800000>;
+};
+
&pm8550_flash {
status = "okay";
@@ -806,6 +923,74 @@ &remoteproc_mpss {
status = "fail";
};
+&swr0 {
+ status = "okay";
+
+ /* WSA883x, left/front speaker */
+ left_spkr: speaker@0,1 {
+ compatible = "sdw10217020200";
+ reg = <0 1>;
+ pinctrl-0 = <&spkr_0_sd_n_active>;
+ pinctrl-names = "default";
+ powerdown-gpios = <&lpass_tlmm 17 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrLeft";
+ #thermal-sensor-cells = <0>;
+ vdd-supply = <&vreg_l15b_1p8>;
+ };
+
+ /* WSA883x, right/back speaker */
+ right_spkr: speaker@0,2 {
+ compatible = "sdw10217020200";
+ reg = <0 2>;
+ pinctrl-0 = <&spkr_1_sd_n_active>;
+ pinctrl-names = "default";
+ powerdown-gpios = <&lpass_tlmm 18 GPIO_ACTIVE_LOW>;
+ #sound-dai-cells = <0>;
+ sound-name-prefix = "SpkrRight";
+ #thermal-sensor-cells = <0>;
+ vdd-supply = <&vreg_l15b_1p8>;
+ };
+};
+
+&swr1 {
+ status = "okay";
+
+ /* WCD9395 RX */
+ wcd_rx: codec@0,4 {
+ compatible = "sdw20217010e00";
+ reg = <0 4>;
+
+ /*
+ * WCD9395 RX Port 1 (HPH_L/R) <=> SWR1 Port 1 (HPH_L/R)
+ * WCD9395 RX Port 2 (CLSH) <=> SWR1 Port 2 (CLSH)
+ * WCD9395 RX Port 3 (COMP_L/R) <=> SWR1 Port 3 (COMP_L/R)
+ * WCD9395 RX Port 4 (LO) <=> SWR1 Port 4 (LO)
+ * WCD9395 RX Port 5 (DSD_L/R) <=> SWR1 Port 5 (DSD_L/R)
+ * WCD9395 RX Port 6 (HIFI_PCM_L/R) <=> SWR1 Port 9 (HIFI_PCM_L/R)
+ */
+ qcom,rx-port-mapping = <1 2 3 4 5 9>;
+ };
+};
+
+&swr2 {
+ status = "okay";
+
+ /* WCD9395 TX */
+ wcd_tx: codec@0,3 {
+ compatible = "sdw20217010e00";
+ reg = <0 3>;
+
+ /*
+ * WCD9395 TX Port 1 (ADC1,2,3,4) <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
+ * WCD9395 TX Port 2 (ADC3,4 & DMIC0,1) <=> SWR2 Port 2 (TX SWR_INPUT 0,1,2,3)
+ * WCD9395 TX Port 3 (DMIC0,1,2,3 & MBHC) <=> SWR2 Port 3 (TX SWR_INPUT 4,5,6,7)
+ * WCD9395 TX Port 4 (DMIC4,5,6,7) <=> SWR2 Port 4 (TX SWR_INPUT 8,9,10,11)
+ */
+ qcom,tx-port-mapping = <2 2 3 4>;
+ };
+};
+
&tlmm {
/* reserved for secure world */
gpio-reserved-ranges = <36 4>, <74 1>;
@@ -814,3 +999,32 @@ &tlmm {
&uart7 {
status = "okay";
};
+
+/* Pinctrl */
+&lpass_tlmm {
+ spkr_0_sd_n_active: spkr-0-sd-n-active-state {
+ pins = "gpio17";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+
+ spkr_1_sd_n_active: spkr-1-sd-n-active-state {
+ pins = "gpio18";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
+
+&tlmm {
+ wcd_default: wcd-reset-n-active-state {
+ pins = "gpio101";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-disable;
+ output-low;
+ };
+};
--
2.45.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound
2025-05-19 9:54 [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Krzysztof Kozlowski
2025-05-19 9:54 ` [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes Krzysztof Kozlowski
2025-05-19 9:54 ` [PATCH v2 2/2] arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics) Krzysztof Kozlowski
@ 2025-05-19 13:01 ` Rob Herring (Arm)
2 siblings, 0 replies; 6+ messages in thread
From: Rob Herring (Arm) @ 2025-05-19 13:01 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Bjorn Andersson, devicetree, Konrad Dybcio, Conor Dooley,
linux-arm-msm, Krzysztof Kozlowski, linux-kernel
On Mon, 19 May 2025 11:54:42 +0200, Krzysztof Kozlowski wrote:
> Changes in v2:
> - Patch #1:
> - Use v2.1 compatible with v2.0 fallback (Konrad)
> - Use hex address in <reg>
> - Re-order nodes to keep proper sorting by unit address
> - Patch #2:
> - Re-order codec/cpu nodes (Konrad)
> - Link to v1: https://lore.kernel.org/r/20250424-sm8750-audio-part-2-v1-0-50133a0ec35f@linaro.org
>
> Bindings for the new Soundwire compatible:
> https://lore.kernel.org/r/20250519080453.29858-2-krzysztof.kozlowski@linaro.org/T/#u
>
> Dependencies were merged, so this brings the necessary sound on SM8750
> MTP. I have patches work-in-progress for QRD and also USB headset, but
> this have dependencies and need some cleanup. I will be posting these
> separately.
>
> Best regards,
> Krzysztof
>
> ---
> Krzysztof Kozlowski (2):
> arm64: dts: qcom: sm8750: Add Soundwire nodes
> arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics)
>
> arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 214 ++++++++++++++++++++++++++++++++
> arch/arm64/boot/dts/qcom/sm8750.dtsi | 122 ++++++++++++++++++
> 2 files changed, 336 insertions(+)
> ---
> base-commit: 0fde2d760e610a74f67eee9e757a3d4a95388f36
> change-id: 20241122-sm8750-audio-part-2-943277d85302
>
> Best regards,
> --
> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: base-commit 0fde2d760e610a74f67eee9e757a3d4a95388f36 not known, ignoring
Base: attempting to guess base-commit...
Base: tags/v6.15-rc1-312-ga18226be95c7 (exact match)
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
New warnings running 'make CHECK_DTBS=y for arch/arm64/boot/dts/qcom/' for 20250519-sm8750-audio-part-2-v2-0-5ac5afdf4ee2@linaro.org:
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6ab0000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6ab0000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: /soc@0/soundwire@6ab0000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6ad0000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6ad0000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6ad0000 (qcom,soundwire-v2.1.0): Unevaluated properties are not allowed ('compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: /soc@0/soundwire@6ad0000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6b10000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6b10000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@6b10000 (qcom,soundwire-v2.1.0): Unevaluated properties are not allowed ('compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: /soc@0/soundwire@6b10000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@7630000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@7630000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: soundwire@7630000 (qcom,soundwire-v2.1.0): Unevaluated properties are not allowed ('compatible' was unexpected)
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: /soc@0/soundwire@7630000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@6ab0000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@6ab0000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: /soc@0/soundwire@6ab0000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@6ad0000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@6ad0000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: /soc@0/soundwire@6ad0000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@6b10000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@6b10000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: /soc@0/soundwire@6b10000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@7630000 (qcom,soundwire-v2.1.0): compatible:0: 'qcom,soundwire-v2.1.0' is not one of ['qcom,soundwire-v1.3.0', 'qcom,soundwire-v1.5.0', 'qcom,soundwire-v1.5.1', 'qcom,soundwire-v1.6.0', 'qcom,soundwire-v1.7.0', 'qcom,soundwire-v2.0.0']
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: soundwire@7630000 (qcom,soundwire-v2.1.0): compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0'] is too long
from schema $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: /soc@0/soundwire@7630000: failed to match any schema with compatible: ['qcom,soundwire-v2.1.0', 'qcom,soundwire-v2.0.0']
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes
2025-05-19 9:54 ` [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes Krzysztof Kozlowski
@ 2025-05-20 15:51 ` Konrad Dybcio
0 siblings, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2025-05-20 15:51 UTC (permalink / raw)
To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 5/19/25 11:54 AM, Krzysztof Kozlowski wrote:
> Add Soundwire controllers on SM8750, fully compatible with earlier
> SM8650 generation.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2 2/2] arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics)
2025-05-19 9:54 ` [PATCH v2 2/2] arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics) Krzysztof Kozlowski
@ 2025-05-20 16:44 ` Konrad Dybcio
0 siblings, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2025-05-20 16:44 UTC (permalink / raw)
To: Krzysztof Kozlowski, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 5/19/25 11:54 AM, Krzysztof Kozlowski wrote:
> Add device nodes for most of the sound support - WSA883x smart speakers,
> WCD9395 audio codec (headset) and sound card - which allows sound
> playback via speakers and recording via DMIC microphones. Changes bring
> necessary foundation for headset playback/recording via USB, but that
> part is not yet ready.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-05-20 16:44 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-19 9:54 [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Krzysztof Kozlowski
2025-05-19 9:54 ` [PATCH v2 1/2] arm64: dts: qcom: sm8750: Add Soundwire nodes Krzysztof Kozlowski
2025-05-20 15:51 ` Konrad Dybcio
2025-05-19 9:54 ` [PATCH v2 2/2] arm64: dts: qcom: sm8750-mtp: Add sound (speakers, headset codec, dmics) Krzysztof Kozlowski
2025-05-20 16:44 ` Konrad Dybcio
2025-05-19 13:01 ` [PATCH v2 0/2] arm64: dts: qcom: sm8750: Add sound Rob Herring (Arm)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).