Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | Qualcomm WCNSS Peripheral Image Loader This document defines the binding for a component that loads and boots firmware on the Qualcomm WCNSS core. - compatible: Usage: required Value type: <string> Definition: must be one of: "qcom,riva-pil", "qcom,pronto-v1-pil", "qcom,pronto-v2-pil" - reg: Usage: required Value type: <prop-encoded-array> Definition: must specify the base address and size of the CCU, DXE and PMU register blocks - reg-names: Usage: required Value type: <stringlist> Definition: must be "ccu", "dxe", "pmu" - interrupts-extended: Usage: required Value type: <prop-encoded-array> Definition: must list the watchdog and fatal IRQs and may specify the ready, handover and stop-ack IRQs - interrupt-names: Usage: required Value type: <stringlist> Definition: should be "wdog", "fatal", optionally followed by "ready", "handover", "stop-ack" - firmware-name: Usage: optional Value type: <string> Definition: must list the relative firmware image path for the WCNSS core. Defaults to "wcnss.mdt". - vddmx-supply: (deprecated for qcom,pronto-v1/2-pil) - vddcx-supply: (deprecated for qcom,pronto-v1/2-pil) - vddpx-supply: Usage: required Value type: <phandle> Definition: reference to the regulators to be held on behalf of the booting of the WCNSS core - power-domains: Usage: required (for qcom,pronto-v1/2-pil) Value type: <phandle> Definition: reference to the power domains to be held on behalf of the booting of the WCNSS core - power-domain-names: Usage: required (for qcom,pronto-v1/2-pil) Value type: <stringlist> Definition: must be "cx", "mx" - qcom,smem-states: Usage: optional Value type: <prop-encoded-array> Definition: reference to the SMEM state used to indicate to WCNSS that it should shut down - qcom,smem-state-names: Usage: optional Value type: <stringlist> Definition: should be "stop" - memory-region: Usage: required Value type: <prop-encoded-array> Definition: reference to reserved-memory node for the remote processor see ../reserved-memory/reserved-memory.txt = SUBNODES A required subnode of the WCNSS PIL is used to describe the attached rf module and its resource dependencies. It is described by the following properties: - compatible: Usage: required Value type: <string> Definition: must be one of: "qcom,wcn3620", "qcom,wcn3660", "qcom,wcn3660b", "qcom,wcn3680" - clocks: Usage: required Value type: <prop-encoded-array> Definition: should specify the xo clock and optionally the rf clock - clock-names: Usage: required Value type: <stringlist> Definition: should be "xo", optionally followed by "rf" - vddxo-supply: - vddrfa-supply: - vddpa-supply: - vdddig-supply: Usage: required Value type: <phandle> Definition: reference to the regulators to be held on behalf of the booting of the WCNSS core The wcnss node can also have an subnode named "smd-edge" that describes the SMD edge, channels and devices related to the WCNSS. See ../soc/qcom/qcom,smd.txt for details on how to describe the SMD edge. = EXAMPLE The following example describes the resources needed to boot control the WCNSS, with attached WCN3680, as it is commonly found on MSM8974 boards. pronto@fb204000 { compatible = "qcom,pronto-v2-pil"; reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>; reg-names = "ccu", "dxe", "pmu"; interrupts-extended = <&intc 0 149 1>, <&wcnss_smp2p_slave 0 0>, <&wcnss_smp2p_slave 1 0>, <&wcnss_smp2p_slave 2 0>, <&wcnss_smp2p_slave 3 0>; interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack"; power-domains = <&rpmpd MSM8974_VDDCX>, <&rpmpd MSM8974_VDDMX>; power-domain-names = "cx", "mx"; vddpx-supply = <&pm8941_s3>; qcom,smem-states = <&wcnss_smp2p_out 0>; qcom,smem-state-names = "stop"; memory-region = <&wcnss_region>; pinctrl-names = "default"; pinctrl-0 = <&wcnss_pin_a>; iris { compatible = "qcom,wcn3680"; clocks = <&rpmcc RPM_CXO_CLK_SRC>, <&rpmcc RPM_CXO_A2>; clock-names = "xo", "rf"; vddxo-supply = <&pm8941_l6>; vddrfa-supply = <&pm8941_l11>; vddpa-supply = <&pm8941_l19>; vdddig-supply = <&pm8941_s3>; }; smd-edge { interrupts = <0 142 1>; qcom,ipc = <&apcs 8 17>; qcom,smd-edge = <6>; qcom,remote-pid = <4>; label = "pronto"; wcnss { compatible = "qcom,wcnss"; qcom,smd-channels = "WCNSS_CTRL"; qcom,mmio = <&pronto>; bt { compatible = "qcom,wcnss-bt"; }; }; }; }; |