diff --git a/bindings/platform/msm/ipa.txt b/bindings/platform/msm/ipa.txt index c72d25fa..c02c1a56 100644 --- a/bindings/platform/msm/ipa.txt +++ b/bindings/platform/msm/ipa.txt @@ -45,6 +45,8 @@ Optional: - qcom,smmu-fast-map: Boolean context flag to set SMMU to fastpath mode - ipa_smmu_ap: AP general purpose SMMU device compatible "qcom,ipa-smmu-ap-cb" +- ipa_smmu_rtp: RTP SMMU device + compatible "qcom,ipa-smmu-rtp-cb" - ipa_smmu_wlan: WDI SMMU device compatible "qcom,ipa-smmu-wlan-cb" - ipa_smmu_uc: uc SMMU device @@ -182,6 +184,8 @@ IPA SMMU sub nodes -compatible: "qcom,ipa-smmu-wlan-cb" - represents IPA WLAN context bank. +-compatible: "qcom,ipa-smmu-rtp-cb" - represents IPA RTP context bank. + -compatible: "qcom,ipa-smmu-uc-cb" - represents IPA uC context bank (for uC offload scenarios). diff --git a/qcom/niobe.dtsi b/qcom/niobe.dtsi index 2d12e50f..22d9ee4a 100644 --- a/qcom/niobe.dtsi +++ b/qcom/niobe.dtsi @@ -2670,12 +2670,10 @@ qcom,ulso-ip-id-max-linux-val = <0xffff>; qcom,ulso-ip-id-min-windows-val = <0>; qcom,ulso-ip-id-max-windows-val = <0x7fff>; - qcom,max_num_smmu_cb = <4>; + qcom,max_num_smmu_cb = <5>; clock-names = "core_clk"; clocks = <&rpmhcc RPMH_IPA_CLK>; qcom,throughput-threshold = <2000 4000 8000>; - /* Map IPCC Region to uC CB */ - qcom,ipcc-mapping = <0x00400000 0x00400000 0x000F0000>; qcom,ipa-wdi-opt-dpath; qcom,scaling-exceptions = <>; qcom,interconnect,num-cases = <5>; @@ -2729,6 +2727,16 @@ compatible = "qcom,ipa-smmu-uc-cb"; iommus = <&apps_smmu 0x4A2 0x0>; qcom,iommu-dma-addr-pool = <0x20000000 0x20000000>; + /* Map IPCC Fence Protocol Region to uC CB */ + qcom,ipcc-mapping = <0x500000 0x500000 0x40000>; + qcom,iommu-dma = "atomic"; + dma-coherent; + }; + + ipa_smmu_rtp: ipa_smmu_rtp { + compatible = "qcom,ipa-smmu-rtp-cb"; + iommus = <&apps_smmu 0x4A3 0x0>; + qcom,iommu-dma-addr-pool = <0x20000000 0x20000000>; qcom,iommu-dma = "atomic"; dma-coherent; };