From: Alex Elder <elder@linaro.org> To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, David Miller <davem@davemloft.net>, Arnd Bergmann <arnd@arndb.de> Cc: Bjorn Andersson <bjorn.andersson@linaro.org>, Andy Gross <agross@kernel.org>, Johannes Berg <johannes@sipsolutions.net>, Dan Williams <dcbw@redhat.com>, Evan Green <evgreen@google.com>, Eric Caruso <ejcaruso@google.com>, Susheel Yadav Yadagiri <syadagir@codeaurora.org>, Chaitanya Pratapa <cpratapa@codeaurora.org>, Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>, Ohad Ben-Cohen <ohad@wizery.com>, Siddharth Gupta <sidgup@codeaurora.org>, netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org, Rob Herring <robh@kernel.org> Subject: [PATCH v2 02/17] dt-bindings: soc: qcom: add IPA bindings Date: Thu, 5 Mar 2020 22:28:16 -0600 [thread overview] Message-ID: <20200306042831.17827-3-elder@linaro.org> (raw) In-Reply-To: <20200306042831.17827-1-elder@linaro.org> Add the binding definitions for the "qcom,ipa" device tree node. Signed-off-by: Alex Elder <elder@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> --- .../devicetree/bindings/net/qcom,ipa.yaml | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/qcom,ipa.yaml diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Documentation/devicetree/bindings/net/qcom,ipa.yaml new file mode 100644 index 000000000000..91d08f2c7791 --- /dev/null +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml @@ -0,0 +1,192 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/qcom,ipa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm IP Accelerator (IPA) + +maintainers: + - Alex Elder <elder@kernel.org> + +description: + 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. + + See also soc/qcom/qcom,smp2p.txt and interconnect/interconnect.txt. + + - | + -------- --------- + | | | | + | AP +<---. .----+ Modem | + | +--. | | .->+ | + | | | | | | | | + -------- | | | | --------- + v | v | + --+-+---+-+-- + | GSI | + |-----------| + | | + | IPA | + | | + ------------- + +properties: + compatible: + const: "qcom,sdm845-ipa" + + reg: + items: + - description: IPA registers + - description: IPA shared memory + - description: GSI registers + + reg-names: + items: + - const: ipa-reg + - const: ipa-shared + - const: gsi + + clocks: + maxItems: 1 + + clock-names: + const: core + + interrupts: + items: + - description: IPA interrupt (hardware IRQ) + - description: GSI interrupt (hardware IRQ) + - description: Modem clock query interrupt (smp2p interrupt) + - description: Modem setup ready interrupt (smp2p interrupt) + + interrupt-names: + items: + - const: ipa + - const: gsi + - const: ipa-clock-query + - const: ipa-setup-ready + + interconnects: + items: + - description: Interconnect path between IPA and main memory + - description: Interconnect path between IPA and internal memory + - description: Interconnect path between IPA and the AP subsystem + + interconnect-names: + items: + - const: memory + - const: imem + - const: config + + qcom,smem-states: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: State bits used in by the AP to signal the modem. + items: + - description: Whether the "ipa-clock-enabled" state bit is valid + - description: Whether the IPA clock is enabled (if valid) + + qcom,smem-state-names: + $ref: /schemas/types.yaml#/definitions/string-array + description: The names of the state bits used for SMP2P output + items: + - const: ipa-clock-enabled-valid + - const: ipa-clock-enabled + + modem-init: + type: boolean + description: + If present, it indicates that the modem is responsible for + performing early IPA initialization, including loading and + validating firwmare used by the GSI. + + modem-remoteproc: + $ref: /schemas/types.yaml#definitions/phandle + description: + This defines the phandle to the remoteproc node representing + the modem subsystem. This is requied so the IPA driver can + receive and act on notifications of modem up/down events. + + memory-region: + $ref: /schemas/types.yaml#/definitions/phandle-array + maxItems: 1 + description: + If present, a phandle for a reserved memory area that holds + the firmware passed to Trust Zone for authentication. Required + when Trust Zone (not the modem) performs early initialization. + +required: + - compatible + - reg + - clocks + - interrupts + - interconnects + - qcom,smem-states + - modem-remoteproc + +oneOf: + - required: + - modem-init + - required: + - memory-region + +examples: + - | + 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; + modem-remoteproc = <&mss_pil>; + + 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
WARNING: multiple messages have this Message-ID (diff)
From: Alex Elder <elder@linaro.org> To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, David Miller <davem@davemloft.net>, Arnd Bergmann <arnd@arndb.de> Cc: Ohad Ben-Cohen <ohad@wizery.com>, devicetree@vger.kernel.org, Susheel Yadav Yadagiri <syadagir@codeaurora.org>, Eric Caruso <ejcaruso@google.com>, Rob Herring <robh@kernel.org>, Dan Williams <dcbw@redhat.com>, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Bjorn Andersson <bjorn.andersson@linaro.org>, Andy Gross <agross@kernel.org>, Evan Green <evgreen@google.com>, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>, Johannes Berg <johannes@sipsolutions.net>, linux-soc@vger.kernel.org, Siddharth Gupta <sidgup@codeaurora.org>, Chaitanya Pratapa <cpratapa@codeaurora.org> Subject: [PATCH v2 02/17] dt-bindings: soc: qcom: add IPA bindings Date: Thu, 5 Mar 2020 22:28:16 -0600 [thread overview] Message-ID: <20200306042831.17827-3-elder@linaro.org> (raw) In-Reply-To: <20200306042831.17827-1-elder@linaro.org> Add the binding definitions for the "qcom,ipa" device tree node. Signed-off-by: Alex Elder <elder@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> --- .../devicetree/bindings/net/qcom,ipa.yaml | 192 ++++++++++++++++++ 1 file changed, 192 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/qcom,ipa.yaml diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Documentation/devicetree/bindings/net/qcom,ipa.yaml new file mode 100644 index 000000000000..91d08f2c7791 --- /dev/null +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml @@ -0,0 +1,192 @@ +# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/qcom,ipa.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm IP Accelerator (IPA) + +maintainers: + - Alex Elder <elder@kernel.org> + +description: + 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. + + See also soc/qcom/qcom,smp2p.txt and interconnect/interconnect.txt. + + - | + -------- --------- + | | | | + | AP +<---. .----+ Modem | + | +--. | | .->+ | + | | | | | | | | + -------- | | | | --------- + v | v | + --+-+---+-+-- + | GSI | + |-----------| + | | + | IPA | + | | + ------------- + +properties: + compatible: + const: "qcom,sdm845-ipa" + + reg: + items: + - description: IPA registers + - description: IPA shared memory + - description: GSI registers + + reg-names: + items: + - const: ipa-reg + - const: ipa-shared + - const: gsi + + clocks: + maxItems: 1 + + clock-names: + const: core + + interrupts: + items: + - description: IPA interrupt (hardware IRQ) + - description: GSI interrupt (hardware IRQ) + - description: Modem clock query interrupt (smp2p interrupt) + - description: Modem setup ready interrupt (smp2p interrupt) + + interrupt-names: + items: + - const: ipa + - const: gsi + - const: ipa-clock-query + - const: ipa-setup-ready + + interconnects: + items: + - description: Interconnect path between IPA and main memory + - description: Interconnect path between IPA and internal memory + - description: Interconnect path between IPA and the AP subsystem + + interconnect-names: + items: + - const: memory + - const: imem + - const: config + + qcom,smem-states: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: State bits used in by the AP to signal the modem. + items: + - description: Whether the "ipa-clock-enabled" state bit is valid + - description: Whether the IPA clock is enabled (if valid) + + qcom,smem-state-names: + $ref: /schemas/types.yaml#/definitions/string-array + description: The names of the state bits used for SMP2P output + items: + - const: ipa-clock-enabled-valid + - const: ipa-clock-enabled + + modem-init: + type: boolean + description: + If present, it indicates that the modem is responsible for + performing early IPA initialization, including loading and + validating firwmare used by the GSI. + + modem-remoteproc: + $ref: /schemas/types.yaml#definitions/phandle + description: + This defines the phandle to the remoteproc node representing + the modem subsystem. This is requied so the IPA driver can + receive and act on notifications of modem up/down events. + + memory-region: + $ref: /schemas/types.yaml#/definitions/phandle-array + maxItems: 1 + description: + If present, a phandle for a reserved memory area that holds + the firmware passed to Trust Zone for authentication. Required + when Trust Zone (not the modem) performs early initialization. + +required: + - compatible + - reg + - clocks + - interrupts + - interconnects + - qcom,smem-states + - modem-remoteproc + +oneOf: + - required: + - modem-init + - required: + - memory-region + +examples: + - | + 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; + modem-remoteproc = <&mss_pil>; + + 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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-03-06 4:30 UTC|newest] Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-06 4:28 [PATCH v2 00/17] net: introduce Qualcomm IPA driver (UPDATED) Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 01/17] remoteproc: add IPA notification to q6v5 driver Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 11:49 ` Leon Romanovsky 2020-03-06 11:49 ` Leon Romanovsky 2020-03-06 13:29 ` Alex Elder 2020-03-06 13:29 ` Alex Elder 2020-03-06 4:28 ` Alex Elder [this message] 2020-03-06 4:28 ` [PATCH v2 02/17] dt-bindings: soc: qcom: add IPA bindings Alex Elder 2020-03-06 4:28 ` [PATCH v2 03/17] soc: qcom: ipa: main code Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 04/17] soc: qcom: ipa: configuration data Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 05/17] soc: qcom: ipa: clocking, interrupts, and memory Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 06/17] soc: qcom: ipa: GSI headers Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 07/17] soc: qcom: ipa: the generic software interface Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 08/17] soc: qcom: ipa: IPA interface to GSI Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 09/17] soc: qcom: ipa: GSI transactions Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 10/17] soc: qcom: ipa: IPA endpoints Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 11/17] soc: qcom: ipa: filter and routing tables Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 12/17] soc: qcom: ipa: immediate commands Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 13/17] soc: qcom: ipa: modem and microcontroller Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 14/17] soc: qcom: ipa: AP/modem communications Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 15/17] soc: qcom: ipa: support build of IPA code Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-11 10:54 ` Jon Hunter 2020-03-11 10:54 ` Jon Hunter 2020-03-11 12:33 ` Alex Elder 2020-03-11 12:33 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 16/17] MAINTAINERS: add entry for the Qualcomm IPA driver Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-06 4:28 ` [PATCH v2 17/17] arm64: dts: sdm845: add IPA information Alex Elder 2020-03-06 4:28 ` Alex Elder 2020-03-11 10:49 ` Jon Hunter 2020-03-11 10:49 ` Jon Hunter 2020-03-11 14:39 ` Alex Elder 2020-03-11 14:39 ` Alex Elder 2020-03-11 19:02 ` Bjorn Andersson 2020-03-11 19:02 ` Bjorn Andersson 2020-03-09 5:09 ` [PATCH v2 00/17] net: introduce Qualcomm IPA driver (UPDATED) David Miller 2020-03-09 5:09 ` David Miller 2020-03-09 16:54 ` Dave Taht 2020-03-09 16:54 ` Dave Taht 2020-03-12 3:09 ` Alex Elder 2020-03-12 3:09 ` Alex Elder 2020-04-29 23:17 ` Evan Green 2020-04-29 23:17 ` Evan Green -- strict thread matches above, loose matches on Subject: below -- 2019-05-31 3:53 [PATCH v2 00/17] net: introduce Qualcomm IPA driver Alex Elder 2019-05-31 3:53 ` [PATCH v2 02/17] dt-bindings: soc: qcom: add IPA bindings Alex Elder 2019-05-31 3:53 ` Alex Elder 2019-05-31 3:53 ` Alex Elder 2019-06-10 22:08 ` Rob Herring 2019-06-10 22:08 ` Rob Herring 2019-06-10 22:08 ` Rob Herring 2019-06-11 2:11 ` Alex Elder 2019-06-11 2:11 ` Alex Elder 2019-06-11 2:11 ` Alex Elder 2019-07-03 15:09 ` Alex Elder 2019-07-03 15:09 ` Alex Elder 2019-07-03 15:09 ` Alex Elder [not found] <20190531034728.7001-1-elder@linaro.org> 2019-05-31 3:47 ` 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=20200306042831.17827-3-elder@linaro.org \ --to=elder@linaro.org \ --cc=agross@kernel.org \ --cc=arnd@arndb.de \ --cc=bjorn.andersson@linaro.org \ --cc=cpratapa@codeaurora.org \ --cc=davem@davemloft.net \ --cc=dcbw@redhat.com \ --cc=devicetree@vger.kernel.org \ --cc=ejcaruso@google.com \ --cc=evgreen@google.com \ --cc=johannes@sipsolutions.net \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-soc@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=netdev@vger.kernel.org \ --cc=ohad@wizery.com \ --cc=robh+dt@kernel.org \ --cc=robh@kernel.org \ --cc=sidgup@codeaurora.org \ --cc=subashab@codeaurora.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.