xref: /linux/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml (revision cb18a7979a35f5f14cab49715e97efe7700fd349)
1*cb18a797SStefan Wahren# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*cb18a797SStefan Wahren%YAML 1.2
3*cb18a797SStefan Wahren---
4*cb18a797SStefan Wahren$id: http://devicetree.org/schemas/gpu/brcm,bcm-v3d.yaml#
5*cb18a797SStefan Wahren$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cb18a797SStefan Wahren
7*cb18a797SStefan Wahrentitle: Broadcom V3D GPU Bindings
8*cb18a797SStefan Wahren
9*cb18a797SStefan Wahrenmaintainers:
10*cb18a797SStefan Wahren  - Eric Anholt <eric@anholt.net>
11*cb18a797SStefan Wahren  - Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
12*cb18a797SStefan Wahren
13*cb18a797SStefan Wahrenproperties:
14*cb18a797SStefan Wahren  $nodename:
15*cb18a797SStefan Wahren    pattern: '^gpu@[a-f0-9]+$'
16*cb18a797SStefan Wahren
17*cb18a797SStefan Wahren  compatible:
18*cb18a797SStefan Wahren    enum:
19*cb18a797SStefan Wahren      - brcm,7268-v3d
20*cb18a797SStefan Wahren      - brcm,7278-v3d
21*cb18a797SStefan Wahren
22*cb18a797SStefan Wahren  reg:
23*cb18a797SStefan Wahren    items:
24*cb18a797SStefan Wahren      - description: hub register (required)
25*cb18a797SStefan Wahren      - description: core0 register (required)
26*cb18a797SStefan Wahren      - description: GCA cache controller register (if GCA controller present)
27*cb18a797SStefan Wahren      - description: bridge register (if no external reset controller)
28*cb18a797SStefan Wahren    minItems: 2
29*cb18a797SStefan Wahren
30*cb18a797SStefan Wahren  reg-names:
31*cb18a797SStefan Wahren    items:
32*cb18a797SStefan Wahren      - const: hub
33*cb18a797SStefan Wahren      - const: core0
34*cb18a797SStefan Wahren      - enum: [ bridge, gca ]
35*cb18a797SStefan Wahren      - enum: [ bridge, gca ]
36*cb18a797SStefan Wahren    minItems: 2
37*cb18a797SStefan Wahren    maxItems: 4
38*cb18a797SStefan Wahren
39*cb18a797SStefan Wahren  interrupts:
40*cb18a797SStefan Wahren    items:
41*cb18a797SStefan Wahren      - description: hub interrupt (required)
42*cb18a797SStefan Wahren      - description: core interrupts (if it doesn't share the hub's interrupt)
43*cb18a797SStefan Wahren    minItems: 1
44*cb18a797SStefan Wahren
45*cb18a797SStefan Wahren  clocks:
46*cb18a797SStefan Wahren    maxItems: 1
47*cb18a797SStefan Wahren
48*cb18a797SStefan Wahren  resets:
49*cb18a797SStefan Wahren    maxItems: 1
50*cb18a797SStefan Wahren
51*cb18a797SStefan Wahren  power-domains:
52*cb18a797SStefan Wahren    maxItems: 1
53*cb18a797SStefan Wahren
54*cb18a797SStefan Wahrenrequired:
55*cb18a797SStefan Wahren  - compatible
56*cb18a797SStefan Wahren  - reg
57*cb18a797SStefan Wahren  - reg-names
58*cb18a797SStefan Wahren  - interrupts
59*cb18a797SStefan Wahren
60*cb18a797SStefan WahrenadditionalProperties: false
61*cb18a797SStefan Wahren
62*cb18a797SStefan Wahrenexamples:
63*cb18a797SStefan Wahren  - |
64*cb18a797SStefan Wahren    gpu@f1200000 {
65*cb18a797SStefan Wahren      compatible = "brcm,7268-v3d";
66*cb18a797SStefan Wahren      reg = <0xf1200000 0x4000>,
67*cb18a797SStefan Wahren            <0xf1208000 0x4000>,
68*cb18a797SStefan Wahren            <0xf1204000 0x100>,
69*cb18a797SStefan Wahren            <0xf1204100 0x100>;
70*cb18a797SStefan Wahren      reg-names = "hub", "core0", "bridge", "gca";
71*cb18a797SStefan Wahren      interrupts = <0 78 4>,
72*cb18a797SStefan Wahren                   <0 77 4>;
73*cb18a797SStefan Wahren    };
74*cb18a797SStefan Wahren
75*cb18a797SStefan Wahren...
76