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"
42 Definition: reference to the regulators to be held on behalf of the
43 booting of the WCNSS core
47 Value type: <prop-encoded-array>
48 Definition: reference to the SMEM state used to indicate to WCNSS that
51 - qcom,smem-state-names:
53 Value type: <stringlist>
54 Definition: should be "stop"
58 Value type: <prop-encoded-array>
59 Definition: reference to reserved-memory node for the remote processor
60 see ../reserved-memory/reserved-memory.txt
63 A required subnode of the WCNSS PIL is used to describe the attached rf module
64 and its resource dependencies. It is described by the following properties:
69 Definition: must be one of:
76 Value type: <prop-encoded-array>
77 Definition: should specify the xo clock and optionally the rf clock
81 Value type: <stringlist>
82 Definition: should be "xo", optionally followed by "rf"
90 Definition: reference to the regulators to be held on behalf of the
91 booting of the WCNSS core
94 The wcnss node can also have an subnode named "smd-edge" that describes the SMD
95 edge, channels and devices related to the WCNSS.
96 See ../soc/qcom/qcom,smd.txt for details on how to describe the SMD edge.
99 The following example describes the resources needed to boot control the WCNSS,
100 with attached WCN3680, as it is commonly found on MSM8974 boards.
103 compatible = "qcom,pronto-v2-pil";
104 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>;
105 reg-names = "ccu", "dxe", "pmu";
107 interrupts-extended = <&intc 0 149 1>,
108 <&wcnss_smp2p_slave 0 0>,
109 <&wcnss_smp2p_slave 1 0>,
110 <&wcnss_smp2p_slave 2 0>,
111 <&wcnss_smp2p_slave 3 0>;
112 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
114 vddmx-supply = <&pm8841_s1>;
115 vddcx-supply = <&pm8841_s2>;
116 vddpx-supply = <&pm8941_s3>;
118 qcom,smem-states = <&wcnss_smp2p_out 0>;
119 qcom,smem-state-names = "stop";
121 memory-region = <&wcnss_region>;
123 pinctrl-names = "default";
124 pinctrl-0 = <&wcnss_pin_a>;
127 compatible = "qcom,wcn3680";
129 clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>;
130 clock-names = "xo", "rf";
132 vddxo-supply = <&pm8941_l6>;
133 vddrfa-supply = <&pm8941_l11>;
134 vddpa-supply = <&pm8941_l19>;
135 vdddig-supply = <&pm8941_s3>;
139 interrupts = <0 142 1>;
141 qcom,ipc = <&apcs 8 17>;
143 qcom,remote-pid = <4>;
148 compatible = "qcom,wcnss";
149 qcom,smd-channels = "WCNSS_CTRL";
151 qcom,mmio = <&pronto>;
154 compatible = "qcom,wcnss-bt";