Lines Matching +full:ipa +full:- +full:ap +full:- +full:to +full:- +full:modem

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
19 a Generic Software Interface (GSI) to each execution environment.
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 - qcom,msm8998-ipa
48 - qcom,sc7180-ipa
49 - qcom,sc7280-ipa
50 - qcom,sdm845-ipa
51 - qcom,sdx55-ipa
52 - qcom,sdx65-ipa
53 - qcom,sm6350-ipa
54 - qcom,sm8350-ipa
58 - description: IPA registers
59 - description: IPA shared memory
60 - description: GSI registers
62 reg-names:
64 - const: ipa-reg
65 - const: ipa-shared
66 - const: gsi
75 clock-names:
80 - description: IPA interrupt (hardware IRQ)
81 - description: GSI interrupt (hardware IRQ)
82 - description: Modem clock query interrupt (smp2p interrupt)
83 - description: Modem setup ready interrupt (smp2p interrupt)
85 interrupt-names:
87 - const: ipa
88 - const: gsi
89 - const: ipa-clock-query
90 - const: ipa-setup-ready
94 - items:
95 - description: Path leading to system memory
96 - description: Path between the AP and IPA config space
97 - items:
98 - description: Path leading to system memory
99 - description: Path leading to internal memory
100 - description: Path between the AP and IPA config space
102 interconnect-names:
104 - items:
105 - const: memory
106 - const: config
107 - items:
108 - const: memory
109 - const: imem
110 - const: config
114 description: phandle to the AOSS side-channel message RAM
116 qcom,smem-states:
117 $ref: /schemas/types.yaml#/definitions/phandle-array
118 description: State bits used in by the AP to signal the modem.
120 - description: Whether the "ipa-clock-enabled" state bit is valid
121 - description: Whether the IPA clock is enabled (if valid)
123 qcom,smem-state-names:
126 - const: ipa-clock-enabled-valid
127 - const: ipa-clock-enabled
129 qcom,gsi-loader:
131 - self
132 - modem
133 - skip
135 Indicates how GSI firmware should be loaded. If the AP loads
137 If the modem does this, this property has value "modem".
140 modem-init:
145 should be loaded. If present, the modem loads GSI firmware; if
146 absent, the AP loads GSI firmware.
148 memory-region:
152 the firmware passed to Trust Zone for authentication. Required
153 when the AP (not the modem) performs early initialization.
155 firmware-name:
160 initializing IPA hardware. Optional, and only used when
164 - compatible
165 - iommus
166 - reg
167 - clocks
168 - interrupts
169 - interconnects
170 - qcom,smem-states
173 # If qcom,gsi-loader is present, modem-init must not be present
174 - if:
176 - qcom,gsi-loader
179 modem-init: false
181 # If qcom,gsi-loader is "self", the AP loads GSI firmware, and
182 # memory-region must be specified
185 qcom,gsi-loader:
190 - memory-region
192 # If qcom,gsi-loader is not present, we use deprecated behavior.
193 # If modem-init is not present, the AP loads GSI firmware, and
194 # memory-region must be specified.
198 - modem-init
201 - memory-region
206 - |
207 #include <dt-bindings/interrupt-controller/arm-gic.h>
208 #include <dt-bindings/clock/qcom,rpmh.h>
209 #include <dt-bindings/interconnect/qcom,sdm845.h>
211 smp2p-mpss {
216 qcom,local-pid = <0>;
217 qcom,remote-pid = <5>;
219 ipa_smp2p_out: ipa-ap-to-modem {
220 qcom,entry-name = "ipa";
221 #qcom,smem-state-cells = <1>;
224 ipa_smp2p_in: ipa-modem-to-ap {
225 qcom,entry-name = "ipa";
226 interrupt-controller;
227 #interrupt-cells = <2>;
231 ipa@1e40000 {
232 compatible = "qcom,sc7180-ipa";
234 qcom,gsi-loader = "self";
235 memory-region = <&ipa_fw_mem>;
236 firmware-name = "qcom/sc7180-trogdor/modem/modem.mdt";
243 reg-names = "ipa-reg",
244 "ipa-shared",
247 interrupts-extended = <&intc GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
251 interrupt-names = "ipa",
253 "ipa-clock-query",
254 "ipa-setup-ready";
257 clock-names = "core";
263 interconnect-names = "memory",
269 qcom,smem-states = <&ipa_smp2p_out 0>,
271 qcom,smem-state-names = "ipa-clock-enabled-valid",
272 "ipa-clock-enabled";