arm64: dts: qcom: sm6350: add IPA node
authorLuca Weiss <luca.weiss@fairphone.com>
Wed, 4 Jan 2023 19:37:58 +0000 (13:37 -0600)
committerBjorn Andersson <andersson@kernel.org>
Wed, 18 Jan 2023 23:33:10 +0000 (17:33 -0600)
IPA is used for mobile data. Add a node describing it.

Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230104193759.3286014-2-elder@linaro.org
arch/arm64/boot/dts/qcom/sm6350.dtsi

index a03cc680ae154640a315940a0b9fbd627a33fcc3..05101f69ebcbd7d52561fb19f3893d3168f6cc7a 100644 (file)
 
                modem_smp2p_in: slave-kernel {
                        qcom,entry-name = "slave-kernel";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
 
+               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: ipa@1e40000 {
+                       compatible = "qcom,sm6350-ipa";
+
+                       iommus = <&apps_smmu 0x440 0x0>,
+                                <&apps_smmu 0x442 0x0>;
+                       reg = <0 0x01e40000 0 0x8000>,
+                             <0 0x01e50000 0 0x3000>,
+                             <0 0x01e04000 0 0x23000>;
+                       reg-names = "ipa-reg",
+                                   "ipa-shared",
+                                   "gsi";
+
+                       interrupts-extended = <&intc GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
+                                             <&intc GIC_SPI 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 = <&aggre2_noc MASTER_IPA 0 &clk_virt SLAVE_EBI_CH0 0>,
+                                       <&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_OCIMEM 0>,
+                                       <&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_IPA_CFG 0>;
+                       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";
+
+                       status = "disabled";
+               };
+
                tcsr_mutex: hwlock@1f40000 {
                        compatible = "qcom,tcsr-mutex";
                        reg = <0x0 0x01f40000 0x0 0x40000>;