Lines Matching +full:firmware +full:- +full:phandle
1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Alex Elder <elder@kernel.org>
21 and has a distinct interrupt and a separately-defined address space.
28 - |
29 -------- ---------
31 | AP +<---. .----+ Modem |
32 | +--. | | .->+ |
34 -------- | | | | ---------
36 --+-+---+-+--
38 |-----------|
42 -------------
47 - enum:
48 - qcom,msm8998-ipa
49 - qcom,sc7180-ipa
50 - qcom,sc7280-ipa
51 - qcom,sdm845-ipa
52 - qcom,sdx55-ipa
53 - qcom,sdx65-ipa
54 - qcom,sm6350-ipa
55 - qcom,sm8350-ipa
56 - qcom,sm8550-ipa
57 - items:
58 - enum:
59 - qcom,sm8650-ipa
60 - const: qcom,sm8550-ipa
64 - description: IPA registers
65 - description: IPA shared memory
66 - description: GSI registers
68 reg-names:
70 - const: ipa-reg
71 - const: ipa-shared
72 - const: gsi
81 clock-names:
86 - description: IPA interrupt (hardware IRQ)
87 - description: GSI interrupt (hardware IRQ)
88 - description: Modem clock query interrupt (smp2p interrupt)
89 - description: Modem setup ready interrupt (smp2p interrupt)
91 interrupt-names:
93 - const: ipa
94 - const: gsi
95 - const: ipa-clock-query
96 - const: ipa-setup-ready
100 - items:
101 - description: Path leading to system memory
102 - description: Path between the AP and IPA config space
103 - items:
104 - description: Path leading to system memory
105 - description: Path leading to internal memory
106 - description: Path between the AP and IPA config space
108 interconnect-names:
110 - items:
111 - const: memory
112 - const: config
113 - items:
114 - const: memory
115 - const: imem
116 - const: config
119 $ref: /schemas/types.yaml#/definitions/phandle
120 description: phandle to the AOSS side-channel message RAM
122 qcom,smem-states:
123 $ref: /schemas/types.yaml#/definitions/phandle-array
126 - description: Whether the "ipa-clock-enabled" state bit is valid
127 - description: Whether the IPA clock is enabled (if valid)
129 qcom,smem-state-names:
132 - const: ipa-clock-enabled-valid
133 - const: ipa-clock-enabled
135 qcom,gsi-loader:
137 - self
138 - modem
139 - skip
141 Indicates how GSI firmware should be loaded. If the AP loads
142 and validates GSI firmware, this property has value "self".
144 Otherwise, "skip" means GSI firmware loading is not required.
146 modem-init:
150 This is the older (deprecated) way of indicating how GSI firmware
151 should be loaded. If present, the modem loads GSI firmware; if
152 absent, the AP loads GSI firmware.
154 memory-region:
157 If present, a phandle for a reserved memory area that holds
158 the firmware passed to Trust Zone for authentication. Required
161 firmware-name:
165 firmware search path containing the firmware image used when
170 - compatible
171 - iommus
172 - reg
173 - clocks
174 - interrupts
175 - interconnects
176 - qcom,smem-states
179 # If qcom,gsi-loader is present, modem-init must not be present
180 - if:
182 - qcom,gsi-loader
185 modem-init: false
187 # If qcom,gsi-loader is "self", the AP loads GSI firmware, and
188 # memory-region must be specified
191 qcom,gsi-loader:
196 - memory-region
198 # If qcom,gsi-loader is not present, we use deprecated behavior.
199 # If modem-init is not present, the AP loads GSI firmware, and
200 # memory-region must be specified.
204 - modem-init
207 - memory-region
212 - |
213 #include <dt-bindings/interrupt-controller/arm-gic.h>
214 #include <dt-bindings/clock/qcom,rpmh.h>
215 #include <dt-bindings/interconnect/qcom,sdm845.h>
217 smp2p-mpss {
222 qcom,local-pid = <0>;
223 qcom,remote-pid = <5>;
225 ipa_smp2p_out: ipa-ap-to-modem {
226 qcom,entry-name = "ipa";
227 #qcom,smem-state-cells = <1>;
230 ipa_smp2p_in: ipa-modem-to-ap {
231 qcom,entry-name = "ipa";
232 interrupt-controller;
233 #interrupt-cells = <2>;
238 compatible = "qcom,sc7180-ipa";
240 qcom,gsi-loader = "self";
241 memory-region = <&ipa_fw_mem>;
242 firmware-name = "qcom/sc7180-trogdor/modem/modem.mdt";
249 reg-names = "ipa-reg",
250 "ipa-shared",
253 interrupts-extended = <&intc GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
257 interrupt-names = "ipa",
259 "ipa-clock-query",
260 "ipa-setup-ready";
263 clock-names = "core";
269 interconnect-names = "memory",
275 qcom,smem-states = <&ipa_smp2p_out 0>,
277 qcom,smem-state-names = "ipa-clock-enabled-valid",
278 "ipa-clock-enabled";