1 Qualcomm WCNSS Peripheral Image Loader
3 This document defines the binding for a component that loads and boots firmware
4 on the Qualcomm WCNSS core.
9 Definition: must be one of:
16 Value type: <prop-encoded-array>
17 Definition: must specify the base address and size of the CCU, DXE and
22 Value type: <stringlist>
23 Definition: must be "ccu", "dxe", "pmu"
25 - interrupts-extended:
27 Value type: <prop-encoded-array>
28 Definition: must list the watchdog and fatal IRQs and may specify the
29 ready, handover and stop-ack IRQs
33 Value type: <stringlist>
34 Definition: should be "wdog", "fatal", optionally followed by "ready",
35 "handover", "stop-ack"
40 Definition: must list the relative firmware image path for the
41 WCNSS core. Defaults to "/*(DEBLOBBED)*/".
43 - vddmx-supply: (deprecated for qcom,pronto-v1/2-pil)
44 - vddcx-supply: (deprecated for qcom,pronto-v1/2-pil)
48 Definition: reference to the regulators to be held on behalf of the
49 booting of the WCNSS core
52 Usage: required (for qcom,pronto-v1/2-pil)
54 Definition: reference to the power domains to be held on behalf of the
55 booting of the WCNSS core
58 Usage: required (for qcom,pronto-v1/2-pil)
59 Value type: <stringlist>
60 Definition: must be "cx", "mx"
64 Value type: <prop-encoded-array>
65 Definition: reference to the SMEM state used to indicate to WCNSS that
68 - qcom,smem-state-names:
70 Value type: <stringlist>
71 Definition: should be "stop"
75 Value type: <prop-encoded-array>
76 Definition: reference to reserved-memory node for the remote processor
77 see ../reserved-memory/reserved-memory.txt
80 A required subnode of the WCNSS PIL is used to describe the attached rf module
81 and its resource dependencies. It is described by the following properties:
86 Definition: must be one of:
94 Value type: <prop-encoded-array>
95 Definition: should specify the xo clock and optionally the rf clock
99 Value type: <stringlist>
100 Definition: should be "xo", optionally followed by "rf"
107 Value type: <phandle>
108 Definition: reference to the regulators to be held on behalf of the
109 booting of the WCNSS core
112 The wcnss node can also have an subnode named "smd-edge" that describes the SMD
113 edge, channels and devices related to the WCNSS.
114 See ../soc/qcom/qcom,smd.yaml for details on how to describe the SMD edge.
117 The following example describes the resources needed to boot control the WCNSS,
118 with attached WCN3680, as it is commonly found on MSM8974 boards.
121 compatible = "qcom,pronto-v2-pil";
122 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
123 reg-names = "ccu", "dxe", "pmu";
125 interrupts-extended = <&intc 0 149 1>,
126 <&wcnss_smp2p_slave 0 0>,
127 <&wcnss_smp2p_slave 1 0>,
128 <&wcnss_smp2p_slave 2 0>,
129 <&wcnss_smp2p_slave 3 0>;
130 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
132 power-domains = <&rpmpd MSM8974_VDDCX>, <&rpmpd MSM8974_VDDMX>;
133 power-domain-names = "cx", "mx";
135 vddpx-supply = <&pm8941_s3>;
137 qcom,smem-states = <&wcnss_smp2p_out 0>;
138 qcom,smem-state-names = "stop";
140 memory-region = <&wcnss_region>;
142 pinctrl-names = "default";
143 pinctrl-0 = <&wcnss_pin_a>;
146 compatible = "qcom,wcn3680";
148 clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>;
149 clock-names = "xo", "rf";
151 vddxo-supply = <&pm8941_l6>;
152 vddrfa-supply = <&pm8941_l11>;
153 vddpa-supply = <&pm8941_l19>;
154 vdddig-supply = <&pm8941_s3>;
158 interrupts = <0 142 1>;
160 qcom,ipc = <&apcs 8 17>;
162 qcom,remote-pid = <4>;
167 compatible = "qcom,wcnss";
168 qcom,smd-channels = "WCNSS_CTRL";
170 qcom,mmio = <&pronto>;
173 compatible = "qcom,wcnss-bt";