Lines Matching +full:ipa +full:- +full:reg
1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/net/qcom,ipa.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm IP Accelerator (IPA)
10 - Alex Elder <elder@kernel.org>
13 This binding describes the Qualcomm IPA. The IPA is capable of offloading
17 The IPA sits between multiple independent "execution environments,"
18 including the Application Processor (AP) and the modem. The IPA presents
20 The GSI is an integral part of the IPA, but it is logically isolated
21 and has a distinct interrupt and a separately-defined address space.
28 - |
29 -------- ---------
31 | AP +<---. .----+ Modem |
32 | +--. | | .->+ |
34 -------- | | | | ---------
36 --+-+---+-+--
38 |-----------|
40 | IPA |
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
62 reg:
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
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
146 modem-init:
154 memory-region:
161 firmware-name:
166 initializing IPA hardware. Optional, and only 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>;
237 ipa@1e40000 {
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";
246 reg = <0x1e40000 0x7000>,
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";