295 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/remoteproc/qcom,wcnss-pil.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm WCNSS Peripheral Image Loader8 9maintainers:10 - Bjorn Andersson <andersson@kernel.org>11 12description:13 This document defines the binding for a component that loads and boots14 firmware on the Qualcomm WCNSS core.15 16properties:17 compatible:18 description:19 Append "qcom,pronto" if the device is actually pronto, and not riva20 oneOf:21 - items:22 - enum:23 - qcom,pronto-v1-pil24 - qcom,pronto-v2-pil25 - qcom,pronto-v3-pil26 - const: qcom,pronto27 - const: qcom,riva-pil28 29 reg:30 maxItems: 331 description:32 The base address and size of the CCU, DXE and PMU register blocks33 34 reg-names:35 items:36 - const: ccu37 - const: dxe38 - const: pmu39 40 interrupts:41 minItems: 242 maxItems: 543 44 interrupt-names:45 minItems: 246 items:47 - const: wdog48 - const: fatal49 - const: ready50 - const: handover51 - const: stop-ack52 53 firmware-name:54 maxItems: 155 description:56 Relative firmware image path for the WCNSS core. Defaults to57 "wcnss.mdt".58 59 vddpx-supply:60 description:61 PX regulator to be held on behalf of the booting of the WCNSS core62 63 vddmx-supply:64 description:65 MX regulator to be held on behalf of the booting of the WCNSS core.66 67 vddcx-supply:68 description:69 CX regulator to be held on behalf of the booting of the WCNSS core.70 71 power-domains:72 maxItems: 273 74 power-domain-names:75 items:76 - const: cx77 - const: mx78 79 qcom,smem-states:80 $ref: /schemas/types.yaml#/definitions/phandle-array81 description:82 States used by the AP to signal the WCNSS core that it should shutdown83 items:84 - description: Stop the modem85 86 qcom,smem-state-names:87 description: The names of the state bits used for SMP2P output88 items:89 - const: stop90 91 memory-region:92 maxItems: 193 description: reserved-memory for the WCNSS core94 95 smd-edge:96 $ref: /schemas/remoteproc/qcom,smd-edge.yaml#97 description:98 Qualcomm Shared Memory subnode which represents communication edge,99 channels and devices related to the ADSP.100 101 iris:102 type: object103 description:104 The iris subnode of the WCNSS PIL is used to describe the attached RF module105 and its resource dependencies.106 107 properties:108 compatible:109 enum:110 - qcom,wcn3620111 - qcom,wcn3660112 - qcom,wcn3660b113 - qcom,wcn3680114 115 clocks:116 minItems: 1117 items:118 - description: XO clock119 - description: RF clock120 121 clock-names:122 minItems: 1123 items:124 - const: xo125 - const: rf126 127 vddxo-supply:128 description:129 Reference to the regulator to be held on behalf of the booting WCNSS130 core131 132 vddrfa-supply:133 description:134 Reference to the regulator to be held on behalf of the booting WCNSS135 core136 137 vddpa-supply:138 description:139 Reference to the regulator to be held on behalf of the booting WCNSS140 core141 142 vdddig-supply:143 description:144 Reference to the regulator to be held on behalf of the booting WCNSS145 core146 147 required:148 - compatible149 - clocks150 - clock-names151 - vddxo-supply152 - vddrfa-supply153 - vddpa-supply154 - vdddig-supply155 156 additionalProperties: false157 158required:159 - compatible160 - reg161 - reg-names162 - interrupts163 - interrupt-names164 - iris165 - vddpx-supply166 - memory-region167 - smd-edge168 169additionalProperties: false170 171allOf:172 - if:173 properties:174 compatible:175 contains:176 const: qcom,riva-pil177 then:178 required:179 - vddcx-supply180 - vddmx-supply181 182 - if:183 properties:184 compatible:185 contains:186 enum:187 - qcom,pronto-v1-pil188 - qcom,pronto-v2-pil189 then:190 properties:191 vddmx-supply:192 deprecated: true193 description: Deprecated for qcom,pronto-v1/2-pil194 195 vddcx-supply:196 deprecated: true197 description: Deprecated for qcom,pronto-v1/2-pil198 199 oneOf:200 - required:201 - power-domains202 - power-domain-names203 - required:204 - vddmx-supply205 - vddcx-supply206 207 - if:208 properties:209 compatible:210 contains:211 enum:212 - qcom,pronto-v3-pil213 then:214 properties:215 vddmx-supply: false216 vddcx-supply: false217 218 required:219 - power-domains220 - power-domain-names221 222examples:223 - |224 #include <dt-bindings/interrupt-controller/arm-gic.h>225 #include <dt-bindings/clock/qcom,rpmcc.h>226 #include <dt-bindings/power/qcom-rpmpd.h>227 pronto@a21b000 {228 compatible = "qcom,pronto-v2-pil", "qcom,pronto";229 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;230 reg-names = "ccu", "dxe", "pmu";231 232 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,233 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,234 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,235 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,236 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;237 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";238 239 power-domains = <&rpmpd MSM8916_VDDCX>, <&rpmpd MSM8916_VDDMX>;240 power-domain-names = "cx", "mx";241 242 vddpx-supply = <&pm8916_l7>;243 244 qcom,smem-states = <&wcnss_smp2p_out 0>;245 qcom,smem-state-names = "stop";246 247 memory-region = <&wcnss_region>;248 249 pinctrl-names = "default";250 pinctrl-0 = <&wcnss_pin_a>;251 252 iris {253 compatible = "qcom,wcn3620";254 vddxo-supply = <&pm8916_l7>;255 vddrfa-supply = <&pm8916_s3>;256 vddpa-supply = <&pm8916_l9>;257 vdddig-supply = <&pm8916_l5>;258 259 clocks = <&rpmcc RPM_SMD_RF_CLK2>;260 clock-names = "xo";261 };262 263 smd-edge {264 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;265 266 qcom,ipc = <&apcs 8 17>;267 qcom,smd-edge = <6>;268 qcom,remote-pid = <4>;269 270 label = "pronto";271 272 wcnss_ctrl: wcnss {273 compatible = "qcom,wcnss";274 qcom,smd-channels = "WCNSS_CTRL";275 276 qcom,mmio = <&pronto>;277 278 bluetooth {279 compatible = "qcom,wcnss-bt";280 };281 282 wifi {283 compatible = "qcom,wcnss-wlan";284 285 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,286 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;287 interrupt-names = "tx", "rx";288 289 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;290 qcom,smem-state-names = "tx-enable", "tx-rings-empty";291 };292 };293 };294 };295