19a660c7fSSireesh Kodali# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 29a660c7fSSireesh Kodali%YAML 1.2 39a660c7fSSireesh Kodali--- 49a660c7fSSireesh Kodali$id: http://devicetree.org/schemas/remoteproc/qcom,wcnss-pil.yaml# 59a660c7fSSireesh Kodali$schema: http://devicetree.org/meta-schemas/core.yaml# 69a660c7fSSireesh Kodali 79a660c7fSSireesh Kodalititle: Qualcomm WCNSS Peripheral Image Loader 89a660c7fSSireesh Kodali 99a660c7fSSireesh Kodalimaintainers: 109a660c7fSSireesh Kodali - Bjorn Andersson <andersson@kernel.org> 119a660c7fSSireesh Kodali 129a660c7fSSireesh Kodalidescription: 139a660c7fSSireesh Kodali This document defines the binding for a component that loads and boots 149a660c7fSSireesh Kodali firmware on the Qualcomm WCNSS core. 159a660c7fSSireesh Kodali 169a660c7fSSireesh Kodaliproperties: 179a660c7fSSireesh Kodali compatible: 18409db7b7SSireesh Kodali description: 19409db7b7SSireesh Kodali Append "qcom,pronto" if the device is actually pronto, and not riva 20409db7b7SSireesh Kodali oneOf: 21409db7b7SSireesh Kodali - items: 22409db7b7SSireesh Kodali - enum: 239a660c7fSSireesh Kodali - qcom,pronto-v1-pil 249a660c7fSSireesh Kodali - qcom,pronto-v2-pil 25a890eebeSSireesh Kodali - qcom,pronto-v3-pil 26409db7b7SSireesh Kodali - const: qcom,pronto 27409db7b7SSireesh Kodali - const: qcom,riva-pil 289a660c7fSSireesh Kodali 299a660c7fSSireesh Kodali reg: 309a660c7fSSireesh Kodali maxItems: 3 319a660c7fSSireesh Kodali description: 329a660c7fSSireesh Kodali The base address and size of the CCU, DXE and PMU register blocks 339a660c7fSSireesh Kodali 349a660c7fSSireesh Kodali reg-names: 359a660c7fSSireesh Kodali items: 369a660c7fSSireesh Kodali - const: ccu 379a660c7fSSireesh Kodali - const: dxe 389a660c7fSSireesh Kodali - const: pmu 399a660c7fSSireesh Kodali 409a660c7fSSireesh Kodali interrupts: 419a660c7fSSireesh Kodali minItems: 2 429a660c7fSSireesh Kodali maxItems: 5 439a660c7fSSireesh Kodali 449a660c7fSSireesh Kodali interrupt-names: 459a660c7fSSireesh Kodali minItems: 2 469a660c7fSSireesh Kodali items: 479a660c7fSSireesh Kodali - const: wdog 489a660c7fSSireesh Kodali - const: fatal 499a660c7fSSireesh Kodali - const: ready 509a660c7fSSireesh Kodali - const: handover 519a660c7fSSireesh Kodali - const: stop-ack 529a660c7fSSireesh Kodali 539a660c7fSSireesh Kodali firmware-name: 54506355c5SKrzysztof Kozlowski maxItems: 1 559a660c7fSSireesh Kodali description: 569a660c7fSSireesh Kodali Relative firmware image path for the WCNSS core. Defaults to 579a660c7fSSireesh Kodali "wcnss.mdt". 589a660c7fSSireesh Kodali 599a660c7fSSireesh Kodali vddpx-supply: 609a660c7fSSireesh Kodali description: 619a660c7fSSireesh Kodali PX regulator to be held on behalf of the booting of the WCNSS core 629a660c7fSSireesh Kodali 639a660c7fSSireesh Kodali vddmx-supply: 649a660c7fSSireesh Kodali description: 659a660c7fSSireesh Kodali MX regulator to be held on behalf of the booting of the WCNSS core. 669a660c7fSSireesh Kodali 679a660c7fSSireesh Kodali vddcx-supply: 689a660c7fSSireesh Kodali description: 699a660c7fSSireesh Kodali CX regulator to be held on behalf of the booting of the WCNSS core. 709a660c7fSSireesh Kodali 719a660c7fSSireesh Kodali power-domains: 72*14198a0cSMatti Lehtimäki minItems: 1 739a660c7fSSireesh Kodali maxItems: 2 749a660c7fSSireesh Kodali 759a660c7fSSireesh Kodali power-domain-names: 76*14198a0cSMatti Lehtimäki minItems: 1 779a660c7fSSireesh Kodali items: 789a660c7fSSireesh Kodali - const: cx 799a660c7fSSireesh Kodali - const: mx 809a660c7fSSireesh Kodali 819a660c7fSSireesh Kodali qcom,smem-states: 829a660c7fSSireesh Kodali $ref: /schemas/types.yaml#/definitions/phandle-array 839a660c7fSSireesh Kodali description: 849a660c7fSSireesh Kodali States used by the AP to signal the WCNSS core that it should shutdown 859a660c7fSSireesh Kodali items: 869a660c7fSSireesh Kodali - description: Stop the modem 879a660c7fSSireesh Kodali 889a660c7fSSireesh Kodali qcom,smem-state-names: 899a660c7fSSireesh Kodali description: The names of the state bits used for SMP2P output 909a660c7fSSireesh Kodali items: 919a660c7fSSireesh Kodali - const: stop 929a660c7fSSireesh Kodali 939a660c7fSSireesh Kodali memory-region: 949a660c7fSSireesh Kodali maxItems: 1 959a660c7fSSireesh Kodali description: reserved-memory for the WCNSS core 969a660c7fSSireesh Kodali 979a660c7fSSireesh Kodali smd-edge: 989a660c7fSSireesh Kodali $ref: /schemas/remoteproc/qcom,smd-edge.yaml# 999a660c7fSSireesh Kodali description: 1009a660c7fSSireesh Kodali Qualcomm Shared Memory subnode which represents communication edge, 1019a660c7fSSireesh Kodali channels and devices related to the ADSP. 1029a660c7fSSireesh Kodali 1039a660c7fSSireesh Kodali iris: 1049a660c7fSSireesh Kodali type: object 1059a660c7fSSireesh Kodali description: 1069a660c7fSSireesh Kodali The iris subnode of the WCNSS PIL is used to describe the attached RF module 1079a660c7fSSireesh Kodali and its resource dependencies. 1089a660c7fSSireesh Kodali 1099a660c7fSSireesh Kodali properties: 1109a660c7fSSireesh Kodali compatible: 1119a660c7fSSireesh Kodali enum: 1129a660c7fSSireesh Kodali - qcom,wcn3620 1139a660c7fSSireesh Kodali - qcom,wcn3660 1149a660c7fSSireesh Kodali - qcom,wcn3660b 1159a660c7fSSireesh Kodali - qcom,wcn3680 1169a660c7fSSireesh Kodali 1179a660c7fSSireesh Kodali clocks: 1189a660c7fSSireesh Kodali minItems: 1 1199a660c7fSSireesh Kodali items: 1209a660c7fSSireesh Kodali - description: XO clock 1219a660c7fSSireesh Kodali - description: RF clock 1229a660c7fSSireesh Kodali 1239a660c7fSSireesh Kodali clock-names: 1249a660c7fSSireesh Kodali minItems: 1 1259a660c7fSSireesh Kodali items: 1269a660c7fSSireesh Kodali - const: xo 1279a660c7fSSireesh Kodali - const: rf 1289a660c7fSSireesh Kodali 1299a660c7fSSireesh Kodali vddxo-supply: 1309a660c7fSSireesh Kodali description: 1319a660c7fSSireesh Kodali Reference to the regulator to be held on behalf of the booting WCNSS 1329a660c7fSSireesh Kodali core 1339a660c7fSSireesh Kodali 1349a660c7fSSireesh Kodali vddrfa-supply: 1359a660c7fSSireesh Kodali description: 1369a660c7fSSireesh Kodali Reference to the regulator to be held on behalf of the booting WCNSS 1379a660c7fSSireesh Kodali core 1389a660c7fSSireesh Kodali 1399a660c7fSSireesh Kodali vddpa-supply: 1409a660c7fSSireesh Kodali description: 1419a660c7fSSireesh Kodali Reference to the regulator to be held on behalf of the booting WCNSS 1429a660c7fSSireesh Kodali core 1439a660c7fSSireesh Kodali 1449a660c7fSSireesh Kodali vdddig-supply: 1459a660c7fSSireesh Kodali description: 1469a660c7fSSireesh Kodali Reference to the regulator to be held on behalf of the booting WCNSS 1479a660c7fSSireesh Kodali core 1489a660c7fSSireesh Kodali 1499a660c7fSSireesh Kodali required: 1509a660c7fSSireesh Kodali - compatible 1519a660c7fSSireesh Kodali - clocks 1529a660c7fSSireesh Kodali - clock-names 1539a660c7fSSireesh Kodali - vddxo-supply 1549a660c7fSSireesh Kodali - vddrfa-supply 1559a660c7fSSireesh Kodali - vddpa-supply 1569a660c7fSSireesh Kodali - vdddig-supply 1579a660c7fSSireesh Kodali 1589a660c7fSSireesh Kodali additionalProperties: false 1599a660c7fSSireesh Kodali 1609a660c7fSSireesh Kodalirequired: 1619a660c7fSSireesh Kodali - compatible 1629a660c7fSSireesh Kodali - reg 1639a660c7fSSireesh Kodali - reg-names 1649a660c7fSSireesh Kodali - interrupts 1659a660c7fSSireesh Kodali - interrupt-names 1669a660c7fSSireesh Kodali - iris 1679a660c7fSSireesh Kodali - vddpx-supply 1689a660c7fSSireesh Kodali - memory-region 1699a660c7fSSireesh Kodali - smd-edge 1709a660c7fSSireesh Kodali 1719a660c7fSSireesh KodaliadditionalProperties: false 1729a660c7fSSireesh Kodali 1739a660c7fSSireesh KodaliallOf: 1749a660c7fSSireesh Kodali - if: 1759a660c7fSSireesh Kodali properties: 1769a660c7fSSireesh Kodali compatible: 1779a660c7fSSireesh Kodali contains: 1789a660c7fSSireesh Kodali const: qcom,riva-pil 1799a660c7fSSireesh Kodali then: 1809a660c7fSSireesh Kodali required: 1819a660c7fSSireesh Kodali - vddcx-supply 1829a660c7fSSireesh Kodali - vddmx-supply 1839a660c7fSSireesh Kodali 1849a660c7fSSireesh Kodali - if: 1859a660c7fSSireesh Kodali properties: 1869a660c7fSSireesh Kodali compatible: 1879a660c7fSSireesh Kodali contains: 1889a660c7fSSireesh Kodali enum: 1899a660c7fSSireesh Kodali - qcom,pronto-v1-pil 1909a660c7fSSireesh Kodali - qcom,pronto-v2-pil 1919a660c7fSSireesh Kodali then: 192*14198a0cSMatti Lehtimäki # CX and MX must be present either as power domains or regulators 193a4421a22SSireesh Kodali oneOf: 194*14198a0cSMatti Lehtimäki # Both CX and MX represented as power domains 195a4421a22SSireesh Kodali - required: 1969a660c7fSSireesh Kodali - power-domains 1979a660c7fSSireesh Kodali - power-domain-names 198*14198a0cSMatti Lehtimäki properties: 199*14198a0cSMatti Lehtimäki power-domains: 200*14198a0cSMatti Lehtimäki minItems: 2 201*14198a0cSMatti Lehtimäki power-domain-names: 202*14198a0cSMatti Lehtimäki minItems: 2 203*14198a0cSMatti Lehtimäki vddmx-supply: false 204*14198a0cSMatti Lehtimäki vddcx-supply: false 205*14198a0cSMatti Lehtimäki # CX represented as power domain, MX as regulator 206*14198a0cSMatti Lehtimäki - required: 207*14198a0cSMatti Lehtimäki - power-domains 208*14198a0cSMatti Lehtimäki - power-domain-names 209*14198a0cSMatti Lehtimäki - vddmx-supply 210*14198a0cSMatti Lehtimäki properties: 211*14198a0cSMatti Lehtimäki power-domains: 212*14198a0cSMatti Lehtimäki maxItems: 1 213*14198a0cSMatti Lehtimäki power-domain-names: 214*14198a0cSMatti Lehtimäki maxItems: 1 215*14198a0cSMatti Lehtimäki vddcx-supply: false 216*14198a0cSMatti Lehtimäki # Both CX and MX represented as regulators 217a4421a22SSireesh Kodali - required: 218a4421a22SSireesh Kodali - vddmx-supply 219a4421a22SSireesh Kodali - vddcx-supply 220*14198a0cSMatti Lehtimäki properties: 221*14198a0cSMatti Lehtimäki power-domains: false 222*14198a0cSMatti Lehtimäki power-domain-names: false 223*14198a0cSMatti Lehtimäki vddmx-supply: 224*14198a0cSMatti Lehtimäki deprecated: true 225*14198a0cSMatti Lehtimäki description: Deprecated for qcom,pronto-v1/2-pil 226*14198a0cSMatti Lehtimäki vddcx-supply: 227*14198a0cSMatti Lehtimäki deprecated: true 228*14198a0cSMatti Lehtimäki description: Deprecated for qcom,pronto-v1/2-pil 2299a660c7fSSireesh Kodali 230a890eebeSSireesh Kodali - if: 231a890eebeSSireesh Kodali properties: 232a890eebeSSireesh Kodali compatible: 233a890eebeSSireesh Kodali contains: 234a890eebeSSireesh Kodali enum: 235a890eebeSSireesh Kodali - qcom,pronto-v3-pil 236a890eebeSSireesh Kodali then: 237a890eebeSSireesh Kodali properties: 238*14198a0cSMatti Lehtimäki power-domains: 239*14198a0cSMatti Lehtimäki minItems: 2 240*14198a0cSMatti Lehtimäki power-domain-names: 241*14198a0cSMatti Lehtimäki minItems: 2 242a890eebeSSireesh Kodali vddmx-supply: false 243a890eebeSSireesh Kodali vddcx-supply: false 244a890eebeSSireesh Kodali 245a890eebeSSireesh Kodali required: 246a890eebeSSireesh Kodali - power-domains 247a890eebeSSireesh Kodali - power-domain-names 248a890eebeSSireesh Kodali 2499a660c7fSSireesh Kodaliexamples: 2509a660c7fSSireesh Kodali - | 2519a660c7fSSireesh Kodali #include <dt-bindings/interrupt-controller/arm-gic.h> 2529a660c7fSSireesh Kodali #include <dt-bindings/clock/qcom,rpmcc.h> 2539a660c7fSSireesh Kodali #include <dt-bindings/power/qcom-rpmpd.h> 2549a660c7fSSireesh Kodali pronto@a21b000 { 255409db7b7SSireesh Kodali compatible = "qcom,pronto-v2-pil", "qcom,pronto"; 2569a660c7fSSireesh Kodali reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>; 2579a660c7fSSireesh Kodali reg-names = "ccu", "dxe", "pmu"; 2589a660c7fSSireesh Kodali 2599a660c7fSSireesh Kodali interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 2609a660c7fSSireesh Kodali <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>, 2619a660c7fSSireesh Kodali <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>, 2629a660c7fSSireesh Kodali <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>, 2639a660c7fSSireesh Kodali <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>; 2649a660c7fSSireesh Kodali interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; 2659a660c7fSSireesh Kodali 2669a660c7fSSireesh Kodali power-domains = <&rpmpd MSM8916_VDDCX>, <&rpmpd MSM8916_VDDMX>; 2679a660c7fSSireesh Kodali power-domain-names = "cx", "mx"; 2689a660c7fSSireesh Kodali 2699a660c7fSSireesh Kodali vddpx-supply = <&pm8916_l7>; 2709a660c7fSSireesh Kodali 2719a660c7fSSireesh Kodali qcom,smem-states = <&wcnss_smp2p_out 0>; 2729a660c7fSSireesh Kodali qcom,smem-state-names = "stop"; 2739a660c7fSSireesh Kodali 2749a660c7fSSireesh Kodali memory-region = <&wcnss_region>; 2759a660c7fSSireesh Kodali 2769a660c7fSSireesh Kodali pinctrl-names = "default"; 2779a660c7fSSireesh Kodali pinctrl-0 = <&wcnss_pin_a>; 2789a660c7fSSireesh Kodali 2799a660c7fSSireesh Kodali iris { 2809a660c7fSSireesh Kodali compatible = "qcom,wcn3620"; 2819a660c7fSSireesh Kodali vddxo-supply = <&pm8916_l7>; 2829a660c7fSSireesh Kodali vddrfa-supply = <&pm8916_s3>; 2839a660c7fSSireesh Kodali vddpa-supply = <&pm8916_l9>; 2849a660c7fSSireesh Kodali vdddig-supply = <&pm8916_l5>; 2859a660c7fSSireesh Kodali 2869a660c7fSSireesh Kodali clocks = <&rpmcc RPM_SMD_RF_CLK2>; 2879a660c7fSSireesh Kodali clock-names = "xo"; 2889a660c7fSSireesh Kodali }; 2899a660c7fSSireesh Kodali 2909a660c7fSSireesh Kodali smd-edge { 2919a660c7fSSireesh Kodali interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 2929a660c7fSSireesh Kodali 2939a660c7fSSireesh Kodali qcom,ipc = <&apcs 8 17>; 2949a660c7fSSireesh Kodali qcom,smd-edge = <6>; 2959a660c7fSSireesh Kodali qcom,remote-pid = <4>; 2969a660c7fSSireesh Kodali 2979a660c7fSSireesh Kodali label = "pronto"; 2989a660c7fSSireesh Kodali 2999a660c7fSSireesh Kodali wcnss_ctrl: wcnss { 3009a660c7fSSireesh Kodali compatible = "qcom,wcnss"; 3019a660c7fSSireesh Kodali qcom,smd-channels = "WCNSS_CTRL"; 3029a660c7fSSireesh Kodali 3039a660c7fSSireesh Kodali qcom,mmio = <&pronto>; 3049a660c7fSSireesh Kodali 3059a660c7fSSireesh Kodali bluetooth { 3069a660c7fSSireesh Kodali compatible = "qcom,wcnss-bt"; 3079a660c7fSSireesh Kodali }; 3089a660c7fSSireesh Kodali 3099a660c7fSSireesh Kodali wifi { 3109a660c7fSSireesh Kodali compatible = "qcom,wcnss-wlan"; 3119a660c7fSSireesh Kodali 3129a660c7fSSireesh Kodali interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 3139a660c7fSSireesh Kodali <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 3149a660c7fSSireesh Kodali interrupt-names = "tx", "rx"; 3159a660c7fSSireesh Kodali 3169a660c7fSSireesh Kodali qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 3179a660c7fSSireesh Kodali qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 3189a660c7fSSireesh Kodali }; 3199a660c7fSSireesh Kodali }; 3209a660c7fSSireesh Kodali }; 3219a660c7fSSireesh Kodali }; 322