xref: /linux/Documentation/devicetree/bindings/gpu/arm,mali-utgard.yaml (revision 260f6f4fda93c8485c8037865c941b42b9cba5d2)
1146fa399SRob Herring# SPDX-License-Identifier: GPL-2.0-only
2146fa399SRob Herring%YAML 1.2
3146fa399SRob Herring---
4146fa399SRob Herring$id: http://devicetree.org/schemas/gpu/arm,mali-utgard.yaml#
5146fa399SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6146fa399SRob Herring
7146fa399SRob Herringtitle: ARM Mali Utgard GPU
8146fa399SRob Herring
9146fa399SRob Herringmaintainers:
10146fa399SRob Herring  - Rob Herring <robh@kernel.org>
112c1fb9f4SKrzysztof Kozlowski  - Maxime Ripard <mripard@kernel.org>
12146fa399SRob Herring  - Heiko Stuebner <heiko@sntech.de>
13146fa399SRob Herring
14146fa399SRob Herringproperties:
15146fa399SRob Herring  $nodename:
16146fa399SRob Herring    pattern: '^gpu@[a-f0-9]+$'
17146fa399SRob Herring  compatible:
18146fa399SRob Herring    oneOf:
19146fa399SRob Herring      - items:
20146fa399SRob Herring          - const: allwinner,sun8i-a23-mali
21146fa399SRob Herring          - const: allwinner,sun7i-a20-mali
22146fa399SRob Herring          - const: arm,mali-400
23146fa399SRob Herring      - items:
24146fa399SRob Herring          - enum:
25146fa399SRob Herring              - allwinner,sun4i-a10-mali
26146fa399SRob Herring              - allwinner,sun7i-a20-mali
27146fa399SRob Herring              - allwinner,sun8i-h3-mali
284a6c1be2SJernej Skrabec              - allwinner,sun8i-r40-mali
29146fa399SRob Herring              - allwinner,sun50i-a64-mali
30146fa399SRob Herring              - rockchip,rk3036-mali
31146fa399SRob Herring              - rockchip,rk3066-mali
325d86c15cSAlex Bee              - rockchip,rk3128-mali
33146fa399SRob Herring              - rockchip,rk3188-mali
34146fa399SRob Herring              - rockchip,rk3228-mali
35146fa399SRob Herring              - samsung,exynos4210-mali
360deaca4cSAlain Volmat              - st,stih410-mali
37146fa399SRob Herring              - stericsson,db8500-mali
3880550562SParth Gajjar              - xlnx,zynqmp-mali
39146fa399SRob Herring          - const: arm,mali-400
40146fa399SRob Herring      - items:
41146fa399SRob Herring          - enum:
42146fa399SRob Herring              - allwinner,sun50i-h5-mali
43146fa399SRob Herring              - amlogic,meson8-mali
44146fa399SRob Herring              - amlogic,meson8b-mali
45146fa399SRob Herring              - amlogic,meson-gxbb-mali
46146fa399SRob Herring              - amlogic,meson-gxl-mali
47146fa399SRob Herring              - hisilicon,hi6220-mali
48795240b5SSean Wang              - mediatek,mt7623-mali
49146fa399SRob Herring              - rockchip,rk3328-mali
50*6f446bbeSJonas Karlman              - rockchip,rk3528-mali
51146fa399SRob Herring          - const: arm,mali-450
52146fa399SRob Herring
53146fa399SRob Herring      # "arm,mali-300"
54146fa399SRob Herring
55146fa399SRob Herring  reg:
56146fa399SRob Herring    maxItems: 1
57146fa399SRob Herring
58146fa399SRob Herring  interrupts:
59146fa399SRob Herring    minItems: 4
60146fa399SRob Herring    maxItems: 20
61146fa399SRob Herring
62146fa399SRob Herring  interrupt-names:
63146fa399SRob Herring    allOf:
64146fa399SRob Herring      - additionalItems: true
65146fa399SRob Herring        minItems: 4
66146fa399SRob Herring        maxItems: 20
67146fa399SRob Herring        items:
68146fa399SRob Herring          # At least enforce the first 2 interrupts
69146fa399SRob Herring          - const: gp
70146fa399SRob Herring          - const: gpmmu
71146fa399SRob Herring      - items:
72146fa399SRob Herring          # Not ideal as any order and combination are allowed
73146fa399SRob Herring          enum:
74146fa399SRob Herring            - gp        # Geometry Processor interrupt
75146fa399SRob Herring            - gpmmu     # Geometry Processor MMU interrupt
76146fa399SRob Herring            - pp        # Pixel Processor broadcast interrupt (mali-450 only)
77146fa399SRob Herring            - pp0       # Pixel Processor X interrupt (X from 0 to 7)
78146fa399SRob Herring            - ppmmu0    # Pixel Processor X MMU interrupt (X from 0 to 7)
79146fa399SRob Herring            - pp1
80146fa399SRob Herring            - ppmmu1
81146fa399SRob Herring            - pp2
82146fa399SRob Herring            - ppmmu2
83146fa399SRob Herring            - pp3
84146fa399SRob Herring            - ppmmu3
85146fa399SRob Herring            - pp4
86146fa399SRob Herring            - ppmmu4
87146fa399SRob Herring            - pp5
88146fa399SRob Herring            - ppmmu5
89146fa399SRob Herring            - pp6
90146fa399SRob Herring            - ppmmu6
91146fa399SRob Herring            - pp7
92146fa399SRob Herring            - ppmmu7
93146fa399SRob Herring            - pmu       # Power Management Unit interrupt (optional)
94146fa399SRob Herring            - combined  # stericsson,db8500-mali only
95146fa399SRob Herring
96146fa399SRob Herring  clocks:
97146fa399SRob Herring    maxItems: 2
98146fa399SRob Herring
99146fa399SRob Herring  clock-names:
100146fa399SRob Herring    items:
101146fa399SRob Herring      - const: bus
102146fa399SRob Herring      - const: core
103146fa399SRob Herring
104146fa399SRob Herring  memory-region: true
105146fa399SRob Herring
106f3dde260SRob Herring  mali-supply: true
107146fa399SRob Herring
108c8fa60b2SKrzysztof Kozlowski  opp-table:
109c8fa60b2SKrzysztof Kozlowski    type: object
11071487289SKrzysztof Kozlowski
111146fa399SRob Herring  power-domains:
112146fa399SRob Herring    maxItems: 1
113146fa399SRob Herring
114146fa399SRob Herring  resets:
115146fa399SRob Herring    maxItems: 1
116146fa399SRob Herring
117146fa399SRob Herring  operating-points-v2: true
118146fa399SRob Herring
11902c625c5SMartin Blumenstingl  "#cooling-cells":
12002c625c5SMartin Blumenstingl    const: 2
12102c625c5SMartin Blumenstingl
122146fa399SRob Herringrequired:
123146fa399SRob Herring  - compatible
124146fa399SRob Herring  - reg
125146fa399SRob Herring  - interrupts
126146fa399SRob Herring  - interrupt-names
127146fa399SRob Herring  - clocks
128146fa399SRob Herring  - clock-names
129146fa399SRob Herring
1307f464532SRob HerringadditionalProperties: false
1317f464532SRob Herring
132146fa399SRob HerringallOf:
133146fa399SRob Herring  - if:
134146fa399SRob Herring      properties:
135146fa399SRob Herring        compatible:
136146fa399SRob Herring          contains:
137146fa399SRob Herring            enum:
138146fa399SRob Herring              - allwinner,sun4i-a10-mali
139146fa399SRob Herring              - allwinner,sun7i-a20-mali
1404a6c1be2SJernej Skrabec              - allwinner,sun8i-r40-mali
141146fa399SRob Herring              - allwinner,sun50i-a64-mali
142146fa399SRob Herring              - allwinner,sun50i-h5-mali
143146fa399SRob Herring              - amlogic,meson8-mali
144146fa399SRob Herring              - amlogic,meson8b-mali
145146fa399SRob Herring              - hisilicon,hi6220-mali
146795240b5SSean Wang              - mediatek,mt7623-mali
147146fa399SRob Herring              - rockchip,rk3036-mali
148146fa399SRob Herring              - rockchip,rk3066-mali
149146fa399SRob Herring              - rockchip,rk3188-mali
150146fa399SRob Herring              - rockchip,rk3228-mali
151146fa399SRob Herring              - rockchip,rk3328-mali
152*6f446bbeSJonas Karlman              - rockchip,rk3528-mali
153146fa399SRob Herring    then:
154146fa399SRob Herring      required:
155146fa399SRob Herring        - resets
156146fa399SRob Herring
157146fa399SRob Herringexamples:
158146fa399SRob Herring  - |
159146fa399SRob Herring    #include <dt-bindings/interrupt-controller/irq.h>
160146fa399SRob Herring    #include <dt-bindings/interrupt-controller/arm-gic.h>
161146fa399SRob Herring
162146fa399SRob Herring    mali: gpu@1c40000 {
163146fa399SRob Herring      compatible = "allwinner,sun7i-a20-mali", "arm,mali-400";
164146fa399SRob Herring      reg = <0x01c40000 0x10000>;
165146fa399SRob Herring      interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
166146fa399SRob Herring             <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
167146fa399SRob Herring             <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
168146fa399SRob Herring             <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
169146fa399SRob Herring             <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
170146fa399SRob Herring             <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
171146fa399SRob Herring             <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
172146fa399SRob Herring      interrupt-names = "gp",
173146fa399SRob Herring            "gpmmu",
174146fa399SRob Herring            "pp0",
175146fa399SRob Herring            "ppmmu0",
176146fa399SRob Herring            "pp1",
177146fa399SRob Herring            "ppmmu1",
178146fa399SRob Herring            "pmu";
179146fa399SRob Herring      clocks = <&ccu 1>, <&ccu 2>;
180146fa399SRob Herring      clock-names = "bus", "core";
181146fa399SRob Herring      resets = <&ccu 1>;
18202c625c5SMartin Blumenstingl      #cooling-cells = <2>;
183146fa399SRob Herring    };
184146fa399SRob Herring
185146fa399SRob Herring...
186