xref: /linux/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml (revision e78f70bad29c5ae1e1076698b690b15794e9b81e)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpu/brcm,bcm-v3d.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom V3D GPU
8
9maintainers:
10  - Maíra Canal <mcanal@igalia.com>
11  - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
12
13properties:
14  $nodename:
15    pattern: '^gpu@[a-f0-9]+$'
16
17  compatible:
18    enum:
19      - brcm,2711-v3d
20      - brcm,2712-v3d
21      - brcm,7268-v3d
22      - brcm,7278-v3d
23
24  reg:
25    minItems: 2
26    maxItems: 4
27
28  reg-names:
29    minItems: 2
30    maxItems: 4
31
32  interrupts:
33    items:
34      - description: hub interrupt (required)
35      - description: core interrupts (if it doesn't share the hub's interrupt)
36    minItems: 1
37
38  clocks:
39    maxItems: 1
40
41  resets:
42    maxItems: 1
43
44  power-domains:
45    maxItems: 1
46
47required:
48  - compatible
49  - reg
50  - reg-names
51  - interrupts
52
53allOf:
54  - if:
55      properties:
56        compatible:
57          contains:
58            const: brcm,2711-v3d
59    then:
60      properties:
61        reg:
62          items:
63            - description: hub register
64            - description: core0 register
65        reg-names:
66          items:
67            - const: hub
68            - const: core0
69  - if:
70      properties:
71        compatible:
72          contains:
73            const: brcm,2712-v3d
74    then:
75      properties:
76        reg:
77          items:
78            - description: hub register
79            - description: core0 register
80            - description: SMS state manager register
81        reg-names:
82          items:
83            - const: hub
84            - const: core0
85            - const: sms
86  - if:
87      properties:
88        compatible:
89          contains:
90            const: brcm,7268-v3d
91    then:
92      properties:
93        reg:
94          items:
95            - description: hub register
96            - description: core0 register
97            - description: GCA cache controller register
98            - description: bridge register
99        reg-names:
100          items:
101            - const: hub
102            - const: core0
103            - const: gca
104            - const: bridge
105  - if:
106      properties:
107        compatible:
108          contains:
109            const: brcm,7278-v3d
110    then:
111      properties:
112        reg:
113          items:
114            - description: hub register
115            - description: core0 register
116            - description: bridge register
117        reg-names:
118          items:
119            - const: hub
120            - const: core0
121            - const: bridge
122
123additionalProperties: false
124
125examples:
126  - |
127    gpu@f1200000 {
128      compatible = "brcm,7268-v3d";
129      reg = <0xf1200000 0x4000>,
130            <0xf1208000 0x4000>,
131            <0xf1204100 0x100>,
132            <0xf1204000 0x100>;
133      reg-names = "hub", "core0", "gca", "bridge";
134      interrupts = <0 78 4>,
135                   <0 77 4>;
136    };
137
138...
139