Skip to content

Commit b124286

Browse files
Kiciukandersson
authored andcommitted
arm64: dts: MSM8953: Add wcnss nodes
Add nodes for remoteproc, smp2p and smsm to make it possible to use wifi/bt functionality on this platform. Signed-off-by: Adam Skladowski <a39.skl@gmail.com> Signed-off-by: Bjorn Andersson <andersson@kernel.org> Link: https://lore.kernel.org/r/20230407165345.42800-2-a39.skl@gmail.com
1 parent a72768e commit b124286

1 file changed

Lines changed: 130 additions & 0 deletions

File tree

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

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,31 @@
326326
};
327327
};
328328

329+
smp2p-wcnss {
330+
compatible = "qcom,smp2p";
331+
qcom,smem = <451>, <431>;
332+
333+
interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
334+
335+
qcom,ipc = <&apcs 8 18>;
336+
337+
qcom,local-pid = <0>;
338+
qcom,remote-pid = <4>;
339+
340+
smp2p_wcnss_out: master-kernel {
341+
qcom,entry-name = "master-kernel";
342+
343+
#qcom,smem-state-cells = <1>;
344+
};
345+
346+
smp2p_wcnss_in: slave-kernel {
347+
qcom,entry-name = "slave-kernel";
348+
349+
interrupt-controller;
350+
#interrupt-cells = <2>;
351+
};
352+
};
353+
329354
smsm {
330355
compatible = "qcom,smsm";
331356

@@ -340,6 +365,14 @@
340365

341366
#qcom,smem-state-cells = <1>;
342367
};
368+
369+
wcnss_smsm: wcnss@6 {
370+
reg = <6>;
371+
interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
372+
373+
interrupt-controller;
374+
#interrupt-cells = <2>;
375+
};
343376
};
344377

345378
soc: soc@0 {
@@ -630,6 +663,37 @@
630663
drive-strength = <2>;
631664
bias-disable;
632665
};
666+
667+
wcnss_pin_a: wcnss-active-state {
668+
669+
wcss-wlan2-pins {
670+
pins = "gpio76";
671+
function = "wcss_wlan2";
672+
drive-strength = <6>;
673+
bias-pull-up;
674+
};
675+
676+
wcss-wlan1-pins {
677+
pins = "gpio77";
678+
function = "wcss_wlan1";
679+
drive-strength = <6>;
680+
bias-pull-up;
681+
};
682+
683+
wcss-wlan0-pins {
684+
pins = "gpio78";
685+
function = "wcss_wlan0";
686+
drive-strength = <6>;
687+
bias-pull-up;
688+
};
689+
690+
wcss-wlan-pins {
691+
pins = "gpio79", "gpio80";
692+
function = "wcss_wlan";
693+
drive-strength = <6>;
694+
bias-pull-up;
695+
};
696+
};
633697
};
634698

635699
gcc: clock-controller@1800000 {
@@ -1245,6 +1309,72 @@
12451309
status = "disabled";
12461310
};
12471311

1312+
wcnss: remoteproc@a21b000 {
1313+
compatible = "qcom,pronto-v3-pil", "qcom,pronto";
1314+
reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
1315+
reg-names = "ccu", "dxe", "pmu";
1316+
1317+
memory-region = <&wcnss_fw_mem>;
1318+
1319+
interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
1320+
<&smp2p_wcnss_in 0 IRQ_TYPE_EDGE_RISING>,
1321+
<&smp2p_wcnss_in 1 IRQ_TYPE_EDGE_RISING>,
1322+
<&smp2p_wcnss_in 2 IRQ_TYPE_EDGE_RISING>,
1323+
<&smp2p_wcnss_in 3 IRQ_TYPE_EDGE_RISING>;
1324+
interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
1325+
1326+
power-domains = <&rpmpd MSM8953_VDDCX>,
1327+
<&rpmpd MSM8953_VDDMX>;
1328+
power-domain-names = "cx", "mx";
1329+
1330+
qcom,smem-states = <&smp2p_wcnss_out 0>;
1331+
qcom,smem-state-names = "stop";
1332+
1333+
pinctrl-names = "default";
1334+
pinctrl-0 = <&wcnss_pin_a>;
1335+
1336+
status = "disabled";
1337+
1338+
wcnss_iris: iris {
1339+
/* Separate chip, compatible is board-specific */
1340+
clocks = <&rpmcc RPM_SMD_RF_CLK2>;
1341+
clock-names = "xo";
1342+
};
1343+
1344+
smd-edge {
1345+
interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
1346+
1347+
qcom,ipc = <&apcs 8 17>;
1348+
qcom,smd-edge = <6>;
1349+
qcom,remote-pid = <4>;
1350+
1351+
label = "pronto";
1352+
1353+
wcnss_ctrl: wcnss {
1354+
compatible = "qcom,wcnss";
1355+
qcom,smd-channels = "WCNSS_CTRL";
1356+
1357+
qcom,mmio = <&wcnss>;
1358+
1359+
wcnss_bt: bluetooth {
1360+
compatible = "qcom,wcnss-bt";
1361+
};
1362+
1363+
wcnss_wifi: wifi {
1364+
compatible = "qcom,wcnss-wlan";
1365+
1366+
interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1367+
<GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1368+
interrupt-names = "tx", "rx";
1369+
1370+
qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
1371+
qcom,smem-state-names = "tx-enable",
1372+
"tx-rings-empty";
1373+
};
1374+
};
1375+
};
1376+
};
1377+
12481378
intc: interrupt-controller@b000000 {
12491379
compatible = "qcom,msm-qgic2";
12501380
interrupt-controller;

0 commit comments

Comments
 (0)