xref: /linux/Documentation/devicetree/bindings/iommu/ti,omap-iommu.yaml (revision 4994ef0fe01e0c58a9af187f98a030c35dfb1a93)
1*57f63e70SBhargav Joshi# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*57f63e70SBhargav Joshi%YAML 1.2
3*57f63e70SBhargav Joshi---
4*57f63e70SBhargav Joshi$id: http://devicetree.org/schemas/iommu/ti,omap-iommu.yaml#
5*57f63e70SBhargav Joshi$schema: http://devicetree.org/meta-schemas/core.yaml#
6*57f63e70SBhargav Joshi
7*57f63e70SBhargav Joshititle: OMAP2+ IOMMU
8*57f63e70SBhargav Joshi
9*57f63e70SBhargav Joshimaintainers:
10*57f63e70SBhargav Joshi  - Bhargav Joshi <j.bhargav.u@gmail.com>
11*57f63e70SBhargav Joshi
12*57f63e70SBhargav Joshiproperties:
13*57f63e70SBhargav Joshi  compatible:
14*57f63e70SBhargav Joshi    enum:
15*57f63e70SBhargav Joshi      - ti,omap2-iommu
16*57f63e70SBhargav Joshi      - ti,omap4-iommu
17*57f63e70SBhargav Joshi      - ti,dra7-dsp-iommu
18*57f63e70SBhargav Joshi      - ti,dra7-iommu
19*57f63e70SBhargav Joshi
20*57f63e70SBhargav Joshi  reg:
21*57f63e70SBhargav Joshi    maxItems: 1
22*57f63e70SBhargav Joshi
23*57f63e70SBhargav Joshi  interrupts:
24*57f63e70SBhargav Joshi    maxItems: 1
25*57f63e70SBhargav Joshi
26*57f63e70SBhargav Joshi  '#iommu-cells':
27*57f63e70SBhargav Joshi    const: 0
28*57f63e70SBhargav Joshi
29*57f63e70SBhargav Joshi  ti,#tlb-entries:
30*57f63e70SBhargav Joshi    description: Number of entries in the translation look-aside buffer.
31*57f63e70SBhargav Joshi    $ref: /schemas/types.yaml#/definitions/uint32
32*57f63e70SBhargav Joshi    enum: [8, 32]
33*57f63e70SBhargav Joshi    default: 32
34*57f63e70SBhargav Joshi
35*57f63e70SBhargav Joshi  ti,iommu-bus-err-back:
36*57f63e70SBhargav Joshi    description:
37*57f63e70SBhargav Joshi      Indicates the IOMMU instance supports throwing back a bus error response
38*57f63e70SBhargav Joshi      on MMU faults.
39*57f63e70SBhargav Joshi    type: boolean
40*57f63e70SBhargav Joshi
41*57f63e70SBhargav Joshi  ti,syscon-mmuconfig:
42*57f63e70SBhargav Joshi    description:
43*57f63e70SBhargav Joshi      Pair of the phandle to the DSP_SYSTEM syscon node that
44*57f63e70SBhargav Joshi      contains the additional control register for enabling the MMU, and the
45*57f63e70SBhargav Joshi      MMU instance number (0-indexed) within the sub-system. The instance number
46*57f63e70SBhargav Joshi      should be 0 for DSP MDMA MMUs and 1 for DSP EDMA MMUs.
47*57f63e70SBhargav Joshi    $ref: /schemas/types.yaml#/definitions/phandle-array
48*57f63e70SBhargav Joshi    maxItems: 1
49*57f63e70SBhargav Joshi    items:
50*57f63e70SBhargav Joshi      items:
51*57f63e70SBhargav Joshi        - description: phandle to the DSP_SYSTEM syscon node
52*57f63e70SBhargav Joshi        - description: MMU instance number
53*57f63e70SBhargav Joshi          enum: [0, 1]
54*57f63e70SBhargav Joshi
55*57f63e70SBhargav Joshi  ti,hwmods:
56*57f63e70SBhargav Joshi    description: Name of the hwmod associated with the IOMMU instance
57*57f63e70SBhargav Joshi    $ref: /schemas/types.yaml#/definitions/string
58*57f63e70SBhargav Joshi    deprecated: true
59*57f63e70SBhargav Joshi
60*57f63e70SBhargav Joshirequired:
61*57f63e70SBhargav Joshi  - compatible
62*57f63e70SBhargav Joshi  - reg
63*57f63e70SBhargav Joshi  - '#iommu-cells'
64*57f63e70SBhargav Joshi  - interrupts
65*57f63e70SBhargav Joshi
66*57f63e70SBhargav JoshiallOf:
67*57f63e70SBhargav Joshi  - if:
68*57f63e70SBhargav Joshi      properties:
69*57f63e70SBhargav Joshi        compatible:
70*57f63e70SBhargav Joshi          contains:
71*57f63e70SBhargav Joshi            const: ti,dra7-dsp-iommu
72*57f63e70SBhargav Joshi    then:
73*57f63e70SBhargav Joshi      required:
74*57f63e70SBhargav Joshi        - ti,syscon-mmuconfig
75*57f63e70SBhargav Joshi    else:
76*57f63e70SBhargav Joshi      properties:
77*57f63e70SBhargav Joshi        ti,syscon-mmuconfig: false
78*57f63e70SBhargav Joshi
79*57f63e70SBhargav JoshiadditionalProperties: false
80*57f63e70SBhargav Joshi
81*57f63e70SBhargav Joshiexamples:
82*57f63e70SBhargav Joshi  - |
83*57f63e70SBhargav Joshi    mmu@480bd400 {
84*57f63e70SBhargav Joshi        #iommu-cells = <0>;
85*57f63e70SBhargav Joshi        compatible = "ti,omap2-iommu";
86*57f63e70SBhargav Joshi        reg = <0x480bd400 0x80>;
87*57f63e70SBhargav Joshi        interrupts = <24>;
88*57f63e70SBhargav Joshi        ti,hwmods = "mmu_isp";
89*57f63e70SBhargav Joshi        ti,#tlb-entries = <8>;
90*57f63e70SBhargav Joshi    };
91*57f63e70SBhargav Joshi
92*57f63e70SBhargav Joshi  - |
93*57f63e70SBhargav Joshi    #include <dt-bindings/interrupt-controller/arm-gic.h>
94*57f63e70SBhargav Joshi
95*57f63e70SBhargav Joshi    mmu@41501000 {
96*57f63e70SBhargav Joshi        compatible = "ti,dra7-dsp-iommu";
97*57f63e70SBhargav Joshi        reg = <0x41501000 0x100>;
98*57f63e70SBhargav Joshi        interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
99*57f63e70SBhargav Joshi        ti,hwmods = "mmu0_dsp2";
100*57f63e70SBhargav Joshi        #iommu-cells = <0>;
101*57f63e70SBhargav Joshi        ti,syscon-mmuconfig = <&dsp2_system 0x0>;
102*57f63e70SBhargav Joshi    };
103*57f63e70SBhargav Joshi
104*57f63e70SBhargav Joshi  - |
105*57f63e70SBhargav Joshi    #include <dt-bindings/interrupt-controller/arm-gic.h>
106*57f63e70SBhargav Joshi
107*57f63e70SBhargav Joshi    mmu@41502000 {
108*57f63e70SBhargav Joshi        compatible = "ti,dra7-dsp-iommu";
109*57f63e70SBhargav Joshi        reg = <0x41502000 0x100>;
110*57f63e70SBhargav Joshi        interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
111*57f63e70SBhargav Joshi        ti,hwmods = "mmu1_dsp2";
112*57f63e70SBhargav Joshi        #iommu-cells = <0>;
113*57f63e70SBhargav Joshi        ti,syscon-mmuconfig = <&dsp2_system 0x1>;
114*57f63e70SBhargav Joshi    };
115