FILE
qcom,wcnss-pil.yaml
File preview with syntax highlighting.
linux-6.19.14/Documentation/devicetree/bindings/remoteproc/qcom,wcnss-pil.yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 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 Loader 8 9maintainers: 10 - Bjorn Andersson <andersson@kernel.org> 11 12description: 13 This document defines the binding for a component that loads and boots 14 firmware on the Qualcomm WCNSS core. 15 16properties: 17 compatible: 18 description: 19 Append "qcom,pronto" if the device is actually pronto, and not riva 20 oneOf: 21 - items: 22 - enum: 23 - qcom,pronto-v1-pil 24 - qcom,pronto-v2-pil 25 - qcom,pronto-v3-pil 26 - const: qcom,pronto 27 - const: qcom,riva-pil 28 29 reg: 30 maxItems: 3 31 description: 32 The base address and size of the CCU, DXE and PMU register blocks 33 34 reg-names: 35 items: 36 - const: ccu 37 - const: dxe 38 - const: pmu 39 40 interrupts: 41 minItems: 2 42 maxItems: 5 43 44 interrupt-names: 45 minItems: 2 46 items: 47 - const: wdog 48 - const: fatal 49 - const: ready 50 - const: handover 51 - const: stop-ack 52 53 firmware-name: 54 maxItems: 1 55 description: 56 Relative firmware image path for the WCNSS core. Defaults to 57 "wcnss.mdt". 58 59 vddpx-supply: 60 description: 61 PX regulator to be held on behalf of the booting of the WCNSS core 62 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 minItems: 1 73 maxItems: 2 74 75 power-domain-names: 76 minItems: 1 77 items: 78 - const: cx 79 - const: mx 80 81 qcom,smem-states: 82 $ref: /schemas/types.yaml#/definitions/phandle-array 83 description: 84 States used by the AP to signal the WCNSS core that it should shutdown 85 items: 86 - description: Stop the modem 87 88 qcom,smem-state-names: 89 description: The names of the state bits used for SMP2P output 90 items: 91 - const: stop 92 93 memory-region: 94 maxItems: 1 95 description: reserved-memory for the WCNSS core 96 97 smd-edge: 98 $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 99 description: 100 Qualcomm Shared Memory subnode which represents communication edge, 101 channels and devices related to the ADSP. 102 103 iris: 104 type: object 105 description: 106 The iris subnode of the WCNSS PIL is used to describe the attached RF module 107 and its resource dependencies. 108 109 properties: 110 compatible: 111 enum: 112 - qcom,wcn3620 113 - qcom,wcn3660 114 - qcom,wcn3660b 115 - qcom,wcn3680 116 117 clocks: 118 minItems: 1 119 items: 120 - description: XO clock 121 - description: RF clock 122 123 clock-names: 124 minItems: 1 125 items: 126 - const: xo 127 - const: rf 128 129 vddxo-supply: 130 description: 131 Reference to the regulator to be held on behalf of the booting WCNSS 132 core 133 134 vddrfa-supply: 135 description: 136 Reference to the regulator to be held on behalf of the booting WCNSS 137 core 138 139 vddpa-supply: 140 description: 141 Reference to the regulator to be held on behalf of the booting WCNSS 142 core 143 144 vdddig-supply: 145 description: 146 Reference to the regulator to be held on behalf of the booting WCNSS 147 core 148 149 required: 150 - compatible 151 - clocks 152 - clock-names 153 - vddxo-supply 154 - vddrfa-supply 155 - vddpa-supply 156 - vdddig-supply 157 158 additionalProperties: false 159 160required: 161 - compatible 162 - reg 163 - reg-names 164 - interrupts 165 - interrupt-names 166 - iris 167 - vddpx-supply 168 - memory-region 169 - smd-edge 170 171additionalProperties: false 172 173allOf: 174 - if: 175 properties: 176 compatible: 177 contains: 178 const: qcom,riva-pil 179 then: 180 required: 181 - vddcx-supply 182 - vddmx-supply 183 184 - if: 185 properties: 186 compatible: 187 contains: 188 enum: 189 - qcom,pronto-v1-pil 190 - qcom,pronto-v2-pil 191 then: 192 # CX and MX must be present either as power domains or regulators 193 oneOf: 194 # Both CX and MX represented as power domains 195 - required: 196 - power-domains 197 - power-domain-names 198 properties: 199 power-domains: 200 minItems: 2 201 power-domain-names: 202 minItems: 2 203 vddmx-supply: false 204 vddcx-supply: false 205 # CX represented as power domain, MX as regulator 206 - required: 207 - power-domains 208 - power-domain-names 209 - vddmx-supply 210 properties: 211 power-domains: 212 maxItems: 1 213 power-domain-names: 214 maxItems: 1 215 vddcx-supply: false 216 # Both CX and MX represented as regulators 217 - required: 218 - vddmx-supply 219 - vddcx-supply 220 properties: 221 power-domains: false 222 power-domain-names: false 223 vddmx-supply: 224 deprecated: true 225 description: Deprecated for qcom,pronto-v1/2-pil 226 vddcx-supply: 227 deprecated: true 228 description: Deprecated for qcom,pronto-v1/2-pil 229 230 - if: 231 properties: 232 compatible: 233 contains: 234 enum: 235 - qcom,pronto-v3-pil 236 then: 237 properties: 238 power-domains: 239 minItems: 2 240 power-domain-names: 241 minItems: 2 242 vddmx-supply: false 243 vddcx-supply: false 244 245 required: 246 - power-domains 247 - power-domain-names 248 249examples: 250 - | 251 #include <dt-bindings/interrupt-controller/arm-gic.h> 252 #include <dt-bindings/clock/qcom,rpmcc.h> 253 #include <dt-bindings/power/qcom-rpmpd.h> 254 pronto@a21b000 { 255 compatible = "qcom,pronto-v2-pil", "qcom,pronto"; 256 reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; 257 reg-names = "ccu", "dxe", "pmu"; 258 259 interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 260 <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 261 <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 262 <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 263 <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 264 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 265 266 power-domains = <&rpmpd MSM8916_VDDCX>, <&rpmpd MSM8916_VDDMX>; 267 power-domain-names = "cx", "mx"; 268 269 vddpx-supply = <&pm8916_l7>; 270 271 qcom,smem-states = <&wcnss_smp2p_out 0>; 272 qcom,smem-state-names = "stop"; 273 274 memory-region = <&wcnss_region>; 275 276 pinctrl-names = "default"; 277 pinctrl-0 = <&wcnss_pin_a>; 278 279 iris { 280 compatible = "qcom,wcn3620"; 281 vddxo-supply = <&pm8916_l7>; 282 vddrfa-supply = <&pm8916_s3>; 283 vddpa-supply = <&pm8916_l9>; 284 vdddig-supply = <&pm8916_l5>; 285 286 clocks = <&rpmcc RPM_SMD_RF_CLK2>; 287 clock-names = "xo"; 288 }; 289 290 smd-edge { 291 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 292 293 qcom,ipc = <&apcs 8 17>; 294 qcom,smd-edge = <6>; 295 qcom,remote-pid = <4>; 296 297 label = "pronto"; 298 299 wcnss_ctrl: wcnss { 300 compatible = "qcom,wcnss"; 301 qcom,smd-channels = "WCNSS_CTRL"; 302 303 qcom,mmio = <&pronto>; 304 305 bluetooth { 306 compatible = "qcom,wcnss-bt"; 307 }; 308 309 wifi { 310 compatible = "qcom,wcnss-wlan"; 311 312 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 313 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 314 interrupt-names = "tx", "rx"; 315 316 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 317 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 318 }; 319 }; 320 }; 321 };
~/
Read-only file preview.