arm64: dts: qcom: sm6350: enable IPA
cover arm64: dts: qcom: sm6350: enable IPA
Enable IPA for the SM6350 SoC, which implements IPA v4.7. Enable it on the Fairphone 4, which incorporates IPA definitions used for the SM6350.
Please delay applying this until after Linux v6.1 is tagged.
-Alex
Luca Weiss (2):
arm64: dts: qcom: sm6350: add IPA node
arm64: dts: qcom: sm7225-fairphone-fp4: enable IPA
arch/arm64/boot/dts/qcom/sm6350.dtsi | 47 +++++++++++++++++++ .../boot/dts/qcom/sm7225-fairphone-fp4.dts | 7 +++ 2 files changed, 54 insertions(+)
Signature · 1 line
2.34.1
PATCH 1/2 arm64: dts: qcom: sm6350: add IPA node
From: Luca Weiss <[email protected]>
IPA is used for mobile data. Add a node describing it.
Signed-off-by Luca Weiss <[email protected]>
Signed-off-by Alex Elder <[email protected]>
--- arch/arm64/boot/dts/qcom/sm6350.dtsi | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+)
arch/arm64/boot/dts/qcom/sm6350.dtsi +47 -0
@@ -432,7 +432,17 @@ modem_smp2p_out: master-kernel { 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>; };
@@ -847,6 +857,43 @@ ufs_mem_phy_lanes: phy@1d87400 { }; }; + 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>;
Signature · 1 line
2.34.1
PATCH 2/2 arm64: dts: qcom: sm7225-fairphone-fp4: enable IPA
In reply to Alex ElderFrom: Luca Weiss <[email protected]>
IPA is used for mobile data. Enable it.
Signed-off-by Luca Weiss <[email protected]>
Signed-off-by Alex Elder <[email protected]>
--- arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts | 7 +++++++ 1 file changed, 7 insertions(+)
arch/arm64/boot/dts/qcom/sm7225-fairphone-fp4.dts +7 -0
@@ -362,6 +362,13 @@ haptics@5a { }; }; +&ipa { + status = "okay"; + + memory-region = <&pil_ipa_fw_mem>; + firmware-name = "qcom/sm7225/fairphone4/ipa_fws.mdt"; +}; + &mpss { status = "okay"; firmware-name = "qcom/sm7225/fairphone4/modem.mdt";
Signature · 1 line
2.34.1