From: Alex Elder <elder@linaro.org>
To: davem@davemloft.net, arnd@arndb.de, bjorn.andersson@linaro.org,
ilias.apalodimas@linaro.org, robh+dt@kernel.org,
mark.rutland@arm.com, andy.gross@linaro.org,
david.brown@linaro.org
Cc: syadagir@codeaurora.org, mjavid@codeaurora.org,
evgreen@chromium.org, benchan@google.com, ejcaruso@google.com,
abhishek.esse@gmail.com, linux-kernel@vger.kernel.org,
Alex Elder <elder@linaro.org>
Subject: [PATCH 03/18] dt-bindings: soc: qcom: add IPA bindings
Date: Sat, 11 May 2019 20:24:53 -0500 [thread overview]
Message-ID: <20190512012508.10608-4-elder@linaro.org> (raw)
In-Reply-To: <20190512012508.10608-1-elder@linaro.org>
Add the binding definitions for the "qcom,ipa" device tree node.
Signed-off-by: Alex Elder <elder@linaro.org>
---
.../devicetree/bindings/net/qcom,ipa.txt | 164 ++++++++++++++++++
1 file changed, 164 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/qcom,ipa.txt
diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.txt b/Documentation/devicetree/bindings/net/qcom,ipa.txt
new file mode 100644
index 000000000000..2705e198f12e
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/qcom,ipa.txt
@@ -0,0 +1,164 @@
+Qualcomm IP Accelerator (IPA)
+
+This binding describes the Qualcomm IPA. The IPA is capable of offloading
+certain network processing tasks (e.g. filtering, routing, and NAT) from
+the main processor.
+
+The IPA sits between multiple independent "execution environments,"
+including the Application Processor (AP) and the modem. The IPA presents
+a Generic Software Interface (GSI) to each execution environment.
+The GSI is an integral part of the IPA, but it is logically isolated
+and has a distinct interrupt and a separately-defined address space.
+
+ -------- ---------
+ | | | |
+ | AP +<---. .----+ Modem |
+ | +--. | | .->+ |
+ | | | | | | | |
+ -------- | | | | ---------
+ v | v |
+ --+-+---+-+--
+ | GSI |
+ |-----------|
+ | |
+ | IPA |
+ | |
+ -------------
+
+See also:
+ bindings/interrupt-controller/interrupts.txt
+ bindings/interconnect/interconnect.txt
+ bindings/soc/qcom/qcom,smp2p.txt
+ bindings/reserved-memory/reserved-memory.txt
+ bindings/clock/clock-bindings.txt
+
+All properties except "modem-init" defined below are required.
+
+- compatible:
+ Must be "qcom,sdm845-ipa".
+
+- modem-init:
+ This Boolean property is optional. If present, it indicates that
+ the modem is responsible for performing early IPA initialization,
+ including loading and validating firwmare used by the GSI. This
+ early initialization is performed by Trust Zone otherwise.
+
+- reg:
+ Resources specifying the physical address spaces of the IPA and GSI.
+
+- reg-names:
+ The names of the two address space ranges defined by the "reg"
+ property. Must be:
+ "ipa-reg"
+ "ipa-shared"
+ "gsi"
+
+- interrupts:
+ Specifies the IRQs used by the IPA. Four interrupts are required,
+ specifying: the IPA IRQ; the GSI IRQ; the clock query interrupt
+ from the modem; and the "ready for setup" interrupt from the modem.
+ The first two are hardware IRQs; the third and fourth are SMP2P
+ input interrupts.
+
+- interrupt-names:
+ The names of the interrupts defined by the "interrupts-extended"
+ property. Must be:
+ "ipa"
+ "gsi"
+ "ipa-clock-query"
+ "ipa-setup-ready"
+
+- clocks:
+ Resource that defines the IPA core clock.
+
+- clock-names:
+ The name used for the IPA core clock. Must be "core".
+
+- interconnects:
+ Specifies the interconnects used by the IPA. Three interconnects
+ are required, specifying: the path from the IPA to memory; from
+ IPA to internal (SoC resident) memory; and between the AP subsystem
+ and IPA for register access.
+
+- interconnect-names:
+ The names of the interconnects defined by the "interconnects"
+ property. Must be:
+ "memory"
+ "imem"
+ "config"
+
+- qcom,smem-states
+ The state bits used for SMP2P output. Two states must be specified.
+ The first indicates whether the value in the second bit is valid
+ (1 means valid). The second, if valid, defines whether the IPA
+ clock is enabled (1 means enabled).
+
+- qcom,smem-state-names
+ The names of the state bits used for SMP2P output. Must be:
+ "ipa-clock-enabled-valid"
+ "ipa-clock-enabled"
+
+- memory-region
+ A phandle for a reserved memory area that holds the firmware passed
+ to Trust Zone for authentication. (Note, this is required
+ only when Trust Zone performs early initialization; that is,
+ it is required if "modem-init" is not defined.)
+
+= EXAMPLE
+
+The following example represents the IPA present in the SDM845 SoC. It
+shows portions of the "modem-smp2p" node to indicate its relationship
+with the interrupts and SMEM states used by the IPA.
+
+ smp2p-mpss {
+ compatible = "qcom,smp2p";
+ . . .
+ ipa_smp2p_out: ipa-ap-to-modem {
+ qcom,entry-name = "ipa";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ ipa_smp2p_in: ipa-modem-to-ap {
+ qcom,entry-name = "ipa";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ ipa@1e40000 {
+ compatible = "qcom,sdm845-ipa";
+
+ modem-init;
+
+ reg = <0 0x1e40000 0 0x7000>,
+ <0 0x1e47000 0 0x2000>,
+ <0 0x1e04000 0 0x2c000>;
+ reg-names = "ipa-reg",
+ "ipa-shared";
+ "gsi";
+
+ interrupts-extended = <&intc 0 311 IRQ_TYPE_EDGE_RISING>,
+ <&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
+ <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "ipa",
+ "gsi",
+ "ipa-clock-query",
+ "ipa-setup-ready";
+
+ clocks = <&rpmhcc RPMH_IPA_CLK>;
+ clock-names = "core";
+
+ interconnects =
+ <&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_EBI1>,
+ <&rsc_hlos MASTER_IPA &rsc_hlos SLAVE_IMEM>,
+ <&rsc_hlos MASTER_APPSS_PROC &rsc_hlos SLAVE_IPA_CFG>;
+ interconnect-names = "memory",
+ "imem",
+ "config";
+
+ qcom,smem-states = <&ipa_smp2p_out 0>,
+ <&ipa_smp2p_out 1>;
+ qcom,smem-state-names = "ipa-clock-enabled-valid",
+ "ipa-clock-enabled";
+ };
--
2.20.1
next prev parent reply other threads:[~2019-05-12 1:26 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-12 1:24 [PATCH 00/18] net: introduce Qualcomm IPA driver Alex Elder
2019-05-12 1:24 ` [PATCH 01/18] bitfield.h: add FIELD_MAX() and field_max() Alex Elder
2019-05-12 6:33 ` Kalle Valo
2019-05-12 12:18 ` Alex Elder
2019-05-12 19:30 ` Johannes Berg
2019-05-12 1:24 ` [PATCH 02/18] soc: qcom: create "include/soc/qcom/rmnet.h" Alex Elder
2019-05-12 2:34 ` Joe Perches
2019-05-12 12:15 ` Alex Elder
2019-05-15 6:59 ` Arnd Bergmann
2019-05-15 12:03 ` Alex Elder
2019-05-16 1:09 ` Subash Abhinov Kasiviswanathan
2019-05-17 17:27 ` Alex Elder
2019-05-17 18:08 ` Subash Abhinov Kasiviswanathan
2019-05-19 17:37 ` Alex Elder
2019-05-12 1:24 ` Alex Elder [this message]
2019-05-15 7:03 ` [PATCH 03/18] dt-bindings: soc: qcom: add IPA bindings Arnd Bergmann
2019-05-15 12:04 ` Alex Elder
2019-05-15 16:50 ` Rob Herring
2019-05-15 17:05 ` Alex Elder
2019-05-12 1:24 ` [PATCH 04/18] soc: qcom: ipa: main code Alex Elder
2019-05-12 1:24 ` [PATCH 05/18] soc: qcom: ipa: configuration data Alex Elder
2019-05-12 1:24 ` [PATCH 06/18] soc: qcom: ipa: clocking, interrupts, and memory Alex Elder
2019-05-12 1:24 ` [PATCH 07/18] soc: qcom: ipa: GSI headers Alex Elder
2019-05-12 1:24 ` [PATCH 08/18] soc: qcom: ipa: the generic software interface Alex Elder
2019-05-15 7:21 ` Arnd Bergmann
2019-05-15 12:13 ` Alex Elder
2019-05-15 12:40 ` Arnd Bergmann
2019-05-15 10:47 ` Arnd Bergmann
2019-05-15 13:32 ` Alex Elder
2019-05-15 19:37 ` Arnd Bergmann
2019-05-12 1:24 ` [PATCH 09/18] soc: qcom: ipa: GSI transactions Alex Elder
2019-05-15 7:34 ` Arnd Bergmann
2019-05-15 12:25 ` Alex Elder
2019-05-15 20:50 ` Arnd Bergmann
2019-05-17 18:08 ` Alex Elder
2019-05-17 18:33 ` Arnd Bergmann
2019-05-17 18:44 ` Alex Elder
2019-05-19 17:11 ` Alex Elder
2019-05-20 9:25 ` Arnd Bergmann
2019-05-20 12:50 ` Alex Elder
2019-05-20 14:43 ` Arnd Bergmann
2019-05-20 14:44 ` Alex Elder
2019-05-20 16:34 ` Evan Green
2019-05-20 16:50 ` Alex Elder
2019-05-20 17:36 ` Evan Green
2019-05-12 1:25 ` [PATCH 10/18] soc: qcom: ipa: IPA interface to GSI Alex Elder
2019-05-12 1:25 ` [PATCH 11/18] soc: qcom: ipa: IPA endpoints Alex Elder
2019-05-12 1:25 ` [PATCH 12/18] soc: qcom: ipa: immediate commands Alex Elder
2019-05-15 8:16 ` Arnd Bergmann
2019-05-15 12:35 ` Alex Elder
2019-05-18 0:34 ` Alex Elder
2019-05-20 14:50 ` Arnd Bergmann
2019-05-20 14:55 ` Alex Elder
2019-05-20 17:35 ` Christoph Hellwig
2019-05-12 1:25 ` [PATCH 13/18] soc: qcom: ipa: IPA network device and microcontroller Alex Elder
2019-05-15 8:21 ` Arnd Bergmann
2019-05-15 12:46 ` Alex Elder
2019-05-12 1:25 ` [PATCH 14/18] soc: qcom: ipa: AP/modem communications Alex Elder
2019-05-12 1:25 ` [PATCH 15/18] soc: qcom: ipa: support build of IPA code Alex Elder
2019-05-12 1:25 ` [PATCH 16/18] MAINTAINERS: add entry for the Qualcomm IPA driver Alex Elder
2019-05-12 1:25 ` [PATCH 17/18] arm64: dts: sdm845: add IPA information Alex Elder
2019-05-12 1:25 ` [PATCH 18/18] arm64: defconfig: enable build of IPA code Alex Elder
2019-05-15 8:23 ` Arnd Bergmann
2019-05-15 12:49 ` Alex Elder
2019-05-15 12:37 ` [PATCH 00/18] net: introduce Qualcomm IPA driver Arnd Bergmann
2019-05-15 12:52 ` Alex Elder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190512012508.10608-4-elder@linaro.org \
--to=elder@linaro.org \
--cc=abhishek.esse@gmail.com \
--cc=andy.gross@linaro.org \
--cc=arnd@arndb.de \
--cc=benchan@google.com \
--cc=bjorn.andersson@linaro.org \
--cc=davem@davemloft.net \
--cc=david.brown@linaro.org \
--cc=ejcaruso@google.com \
--cc=evgreen@chromium.org \
--cc=ilias.apalodimas@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mjavid@codeaurora.org \
--cc=robh+dt@kernel.org \
--cc=syadagir@codeaurora.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).