1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies legacy IOMMU implementations
10 - Konrad Dybcio <konrad.dybcio@linaro.org>
13 Qualcomm "B" family devices which are not compatible with arm-smmu have
14 a similar looking IOMMU, but without access to the global register space
15 and optionally requiring additional configuration to route context IRQs
16 to non-secure vs secure interrupt line.
25 - const: qcom,msm-iommu-v1
29 - const: qcom,msm-iommu-v2
33 - description: Clock required for IOMMU register group access
34 - description: Clock required for underlying bus access
50 $ref: /schemas/types.yaml#/definitions/uint32
52 The SCM secure ID of the IOMMU instance.
64 "^iommu-ctx@[0-9a-f]+$":
66 additionalProperties: false
70 - qcom,msm-iommu-v1-ns
71 - qcom,msm-iommu-v1-sec
72 - qcom,msm-iommu-v2-ns
73 - qcom,msm-iommu-v2-sec
82 $ref: /schemas/types.yaml#/definitions/uint32
84 The ASID number associated to the context bank.
100 additionalProperties: false
104 #include <dt-bindings/clock/qcom,gcc-msm8916.h>
105 #include <dt-bindings/interrupt-controller/arm-gic.h>
107 apps_iommu: iommu@1e20000 {
108 compatible = "qcom,msm8916-iommu", "qcom,msm-iommu-v1";
109 reg = <0x01ef0000 0x3000>;
110 clocks = <&gcc GCC_SMMU_CFG_CLK>,
111 <&gcc GCC_APSS_TCU_CLK>;
112 clock-names = "iface", "bus";
113 qcom,iommu-secure-id = <17>;
114 #address-cells = <1>;
117 ranges = <0 0x01e20000 0x40000>;
121 compatible = "qcom,msm-iommu-v1-ns";
122 reg = <0x4000 0x1000>;
123 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;