Skip to content

Commit 5b9500a

Browse files
mohsRafiKomal-Bajaj
authored andcommitted
FROMLIST: arm64: dts: qcom: sc7280: Add WSA SoundWire and LPASS support
Add WSA LPASS macro Codec along with SoundWire controller. Co-developed-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com> Signed-off-by: Prasad Kumpatla <quic_pkumpatl@quicinc.com> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Link: https://lore.kernel.org/linux-arm-msm/20250527111227.2318021-4-quic_pkumpatl@quicinc.com/ Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
1 parent a78d9c3 commit 5b9500a

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

arch/arm64/boot/dts/qcom/sc7280.dtsi

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2636,6 +2636,66 @@
26362636
status = "disabled";
26372637
};
26382638

2639+
lpass_wsa_macro: codec@3240000 {
2640+
compatible = "qcom,sc7280-lpass-wsa-macro";
2641+
reg = <0x0 0x03240000 0x0 0x1000>;
2642+
2643+
clocks = <&lpass_aon LPASS_AON_CC_TX_MCLK_CLK>,
2644+
<&lpass_aon LPASS_AON_CC_TX_MCLK_2X_CLK>,
2645+
<&lpass_va_macro>;
2646+
clock-names = "mclk",
2647+
"npl",
2648+
"fsgen";
2649+
2650+
pinctrl-0 = <&lpass_wsa_swr_clk>, <&lpass_wsa_swr_data>;
2651+
pinctrl-names = "default";
2652+
2653+
power-domains = <&lpass_hm LPASS_CORE_CC_LPASS_CORE_HM_GDSC>,
2654+
<&lpass_aon LPASS_AON_CC_LPASS_AUDIO_HM_GDSC>;
2655+
power-domain-names = "macro", "dcodec";
2656+
2657+
#clock-cells = <0>;
2658+
clock-output-names = "mclk";
2659+
#sound-dai-cells = <1>;
2660+
2661+
status = "disabled";
2662+
};
2663+
2664+
swr2: soundwire@3250000 {
2665+
compatible = "qcom,soundwire-v1.6.0";
2666+
reg = <0x0 0x03250000 0x0 0x2000>;
2667+
2668+
interrupts = <GIC_SPI 170 IRQ_TYPE_LEVEL_HIGH>;
2669+
clocks = <&lpass_wsa_macro>;
2670+
clock-names = "iface";
2671+
2672+
resets = <&lpass_audiocc LPASS_AUDIO_SWR_WSA_CGCR>;
2673+
reset-names = "swr_audio_cgcr";
2674+
2675+
qcom,din-ports = <2>;
2676+
qcom,dout-ports = <6>;
2677+
2678+
qcom,ports-sinterval-low = /bits/ 8 <0x07 0x1f 0x3f 0x07
2679+
0x1f 0x3f 0x0f 0x0f>;
2680+
qcom,ports-offset1 = /bits/ 8 <0x01 0x02 0x0c 0x06 0x12 0x0d 0x07 0x0a>;
2681+
qcom,ports-offset2 = /bits/ 8 <0xff 0x00 0x1f 0xff 0x00 0x1f 0x00 0x00>;
2682+
qcom,ports-hstart = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2683+
qcom,ports-hstop = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2684+
qcom,ports-word-length = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff>;
2685+
qcom,ports-block-pack-mode = /bits/ 8 <0xff 0xff 0x01 0xff 0xff 0x01
2686+
0xff 0xff>;
2687+
qcom,ports-block-group-count = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
2688+
0xff 0xff>;
2689+
qcom,ports-lane-control = /bits/ 8 <0xff 0xff 0xff 0xff 0xff 0xff
2690+
0xff 0xff>;
2691+
2692+
#address-cells = <2>;
2693+
#size-cells = <0>;
2694+
#sound-dai-cells = <1>;
2695+
2696+
status = "disabled";
2697+
};
2698+
26392699
lpass_audiocc: clock-controller@3300000 {
26402700
compatible = "qcom,sc7280-lpassaudiocc";
26412701
reg = <0 0x03300000 0 0x30000>,
@@ -2839,6 +2899,22 @@
28392899
pins = "gpio1", "gpio2", "gpio14";
28402900
function = "swr_tx_data";
28412901
};
2902+
2903+
lpass_wsa_swr_clk: wsa-swr-clk-state {
2904+
pins = "gpio10";
2905+
function = "wsa_swr_clk";
2906+
drive-strength = <2>;
2907+
slew-rate = <1>;
2908+
bias-disable;
2909+
};
2910+
2911+
lpass_wsa_swr_data: wsa-swr-data-state {
2912+
pins = "gpio11";
2913+
function = "wsa_swr_data";
2914+
drive-strength = <2>;
2915+
slew-rate = <1>;
2916+
bias-bus-hold;
2917+
};
28422918
};
28432919

28442920
gpu: gpu@3d00000 {

0 commit comments

Comments
 (0)