Skip to content

Commit 2ecf060

Browse files
mohsRafiKomal-Bajaj
authored andcommitted
FROMLIST: arm64: dts: qcom: qcm6490-idp: Add WSA8830 speakers and WCD9370 headset codec
Add nodes for WSA8830 speakers and WCD9370 headset codec on qcm6490-idp board. Enable lpass macros along with audio support pin controls. Co-developed-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com> Link: https://lore.kernel.org/linux-arm-msm/20250527111227.2318021-8-quic_pkumpatl@quicinc.com/ Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
1 parent 24bba55 commit 2ecf060

2 files changed

Lines changed: 120 additions & 0 deletions

File tree

arch/arm64/boot/dts/qcom/qcm6490-idp.dts

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "pm7325.dtsi"
1919
#include "pm8350c.dtsi"
2020
#include "pmk8350.dtsi"
21+
#include "qcs6490-audioreach.dtsi"
2122

2223
/delete-node/ &ipa_fw_mem;
2324
/delete-node/ &rmtfs_mem;
@@ -169,6 +170,30 @@
169170
regulator-min-microvolt = <3700000>;
170171
regulator-max-microvolt = <3700000>;
171172
};
173+
174+
wcd9370: audio-codec-0 {
175+
compatible = "qcom,wcd9370-codec";
176+
177+
pinctrl-0 = <&wcd_default>;
178+
pinctrl-names = "default";
179+
180+
reset-gpios = <&tlmm 83 GPIO_ACTIVE_HIGH>;
181+
182+
vdd-buck-supply = <&vreg_l17b_1p7>;
183+
vdd-rxtx-supply = <&vreg_l18b_1p8>;
184+
vdd-px-supply = <&vreg_l18b_1p8>;
185+
vdd-mic-bias-supply = <&vreg_bob_3p296>;
186+
187+
qcom,micbias1-microvolt = <1800000>;
188+
qcom,micbias2-microvolt = <1800000>;
189+
qcom,micbias3-microvolt = <1800000>;
190+
qcom,micbias4-microvolt = <1800000>;
191+
192+
qcom,rx-device = <&wcd937x_rx>;
193+
qcom,tx-device = <&wcd937x_tx>;
194+
195+
#sound-dai-cells = <1>;
196+
};
172197
};
173198

174199
&apps_rsc {
@@ -536,6 +561,22 @@
536561
firmware-name = "qcom/qcm6490/a660_zap.mbn";
537562
};
538563

564+
&lpass_rx_macro {
565+
status = "okay";
566+
};
567+
568+
&lpass_tx_macro {
569+
status = "okay";
570+
};
571+
572+
&lpass_va_macro {
573+
status = "okay";
574+
};
575+
576+
&lpass_wsa_macro {
577+
status = "okay";
578+
};
579+
539580
&mdss {
540581
status = "okay";
541582
};
@@ -723,6 +764,54 @@
723764
cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
724765
};
725766

767+
&swr0 {
768+
status = "okay";
769+
770+
wcd937x_rx: codec@0,4 {
771+
compatible = "sdw20217010a00";
772+
reg = <0 4>;
773+
qcom,rx-port-mapping = <1 2 3 4 5>;
774+
qcom,rx-channel-mapping = /bits/ 8 <1 2 1 1 2 1 1 2>;
775+
};
776+
};
777+
778+
&swr1 {
779+
status = "okay";
780+
781+
wcd937x_tx: codec@0,3 {
782+
compatible = "sdw20217010a00";
783+
reg = <0 3>;
784+
qcom,tx-port-mapping = <1 1 2 3>;
785+
qcom,tx-channel-mapping = /bits/ 8 <1 2 1 1 2 3 3 4 1 2 3 4>;
786+
};
787+
};
788+
789+
&swr2 {
790+
status = "okay";
791+
792+
left_spkr: speaker@0,1 {
793+
compatible = "sdw10217020200";
794+
reg = <0 1>;
795+
powerdown-gpios = <&tlmm 63 GPIO_ACTIVE_LOW>;
796+
#sound-dai-cells = <0>;
797+
sound-name-prefix = "SpkrLeft";
798+
#thermal-sensor-cells = <0>;
799+
vdd-supply = <&vreg_l18b_1p8>;
800+
qcom,port-mapping = <1 2 3 7>;
801+
};
802+
803+
right_spkr: speaker@0,2 {
804+
compatible = "sdw10217020200";
805+
reg = <0 2>;
806+
powerdown-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
807+
#sound-dai-cells = <0>;
808+
sound-name-prefix = "SpkrRight";
809+
#thermal-sensor-cells = <0>;
810+
vdd-supply = <&vreg_l18b_1p8>;
811+
qcom,port-mapping = <4 5 6 8>;
812+
};
813+
};
814+
726815
&tlmm {
727816
gpio-reserved-ranges = <32 2>, /* ADSP */
728817
<48 4>; /* NFC */
@@ -732,6 +821,13 @@
732821
function = "gpio";
733822
bias-pull-up;
734823
};
824+
825+
wcd_default: wcd-reset-n-active-state {
826+
pins = "gpio83";
827+
function = "gpio";
828+
drive-strength = <16>;
829+
bias-disable;
830+
};
735831
};
736832

737833
&uart5 {

arch/arm64/boot/dts/qcom/qcs6490-audioreach.dtsi

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,30 @@
2929
bias-pull-down;
3030
};
3131

32+
&lpass_rx_swr_clk {
33+
drive-strength = <2>;
34+
slew-rate = <1>;
35+
bias-disable;
36+
};
37+
38+
&lpass_rx_swr_data {
39+
drive-strength = <2>;
40+
slew-rate = <1>;
41+
bias-bus-hold;
42+
};
43+
44+
&lpass_tx_swr_clk {
45+
drive-strength = <2>;
46+
slew-rate = <1>;
47+
bias-disable;
48+
};
49+
50+
&lpass_tx_swr_data {
51+
drive-strength = <2>;
52+
slew-rate = <1>;
53+
bias-bus-hold;
54+
};
55+
3256
&lpass_rx_macro {
3357
/delete-property/ power-domains;
3458
/delete-property/ power-domain-names;

0 commit comments

Comments
 (0)