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