xref: /freebsd/sys/contrib/device-tree/Bindings/gpu/img,powervr-rogue.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*01950c46SEmmanuel Vadot# Copyright (c) 2023 Imagination Technologies Ltd.
3*01950c46SEmmanuel Vadot%YAML 1.2
4*01950c46SEmmanuel Vadot---
5*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/gpu/img,powervr-rogue.yaml#
6*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*01950c46SEmmanuel Vadot
8*01950c46SEmmanuel Vadottitle: Imagination Technologies PowerVR and IMG Rogue GPUs
9*01950c46SEmmanuel Vadot
10*01950c46SEmmanuel Vadotmaintainers:
11*01950c46SEmmanuel Vadot  - Frank Binns <frank.binns@imgtec.com>
12*01950c46SEmmanuel Vadot
13*01950c46SEmmanuel Vadotproperties:
14*01950c46SEmmanuel Vadot  compatible:
15*01950c46SEmmanuel Vadot    items:
16*01950c46SEmmanuel Vadot      - enum:
17*01950c46SEmmanuel Vadot          - ti,am62-gpu
18*01950c46SEmmanuel Vadot      - const: img,img-axe # IMG AXE GPU model/revision is fully discoverable
19*01950c46SEmmanuel Vadot
20*01950c46SEmmanuel Vadot  reg:
21*01950c46SEmmanuel Vadot    maxItems: 1
22*01950c46SEmmanuel Vadot
23*01950c46SEmmanuel Vadot  clocks:
24*01950c46SEmmanuel Vadot    minItems: 1
25*01950c46SEmmanuel Vadot    maxItems: 3
26*01950c46SEmmanuel Vadot
27*01950c46SEmmanuel Vadot  clock-names:
28*01950c46SEmmanuel Vadot    items:
29*01950c46SEmmanuel Vadot      - const: core
30*01950c46SEmmanuel Vadot      - const: mem
31*01950c46SEmmanuel Vadot      - const: sys
32*01950c46SEmmanuel Vadot    minItems: 1
33*01950c46SEmmanuel Vadot
34*01950c46SEmmanuel Vadot  interrupts:
35*01950c46SEmmanuel Vadot    maxItems: 1
36*01950c46SEmmanuel Vadot
37*01950c46SEmmanuel Vadot  power-domains:
38*01950c46SEmmanuel Vadot    maxItems: 1
39*01950c46SEmmanuel Vadot
40*01950c46SEmmanuel Vadotrequired:
41*01950c46SEmmanuel Vadot  - compatible
42*01950c46SEmmanuel Vadot  - reg
43*01950c46SEmmanuel Vadot  - clocks
44*01950c46SEmmanuel Vadot  - clock-names
45*01950c46SEmmanuel Vadot  - interrupts
46*01950c46SEmmanuel Vadot
47*01950c46SEmmanuel VadotadditionalProperties: false
48*01950c46SEmmanuel Vadot
49*01950c46SEmmanuel VadotallOf:
50*01950c46SEmmanuel Vadot  - if:
51*01950c46SEmmanuel Vadot      properties:
52*01950c46SEmmanuel Vadot        compatible:
53*01950c46SEmmanuel Vadot          contains:
54*01950c46SEmmanuel Vadot            const: ti,am62-gpu
55*01950c46SEmmanuel Vadot    then:
56*01950c46SEmmanuel Vadot      properties:
57*01950c46SEmmanuel Vadot        clocks:
58*01950c46SEmmanuel Vadot          maxItems: 1
59*01950c46SEmmanuel Vadot
60*01950c46SEmmanuel Vadotexamples:
61*01950c46SEmmanuel Vadot  - |
62*01950c46SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
63*01950c46SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
64*01950c46SEmmanuel Vadot    #include <dt-bindings/soc/ti,sci_pm_domain.h>
65*01950c46SEmmanuel Vadot
66*01950c46SEmmanuel Vadot    gpu@fd00000 {
67*01950c46SEmmanuel Vadot        compatible = "ti,am62-gpu", "img,img-axe";
68*01950c46SEmmanuel Vadot        reg = <0x0fd00000 0x20000>;
69*01950c46SEmmanuel Vadot        clocks = <&k3_clks 187 0>;
70*01950c46SEmmanuel Vadot        clock-names = "core";
71*01950c46SEmmanuel Vadot        interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
72*01950c46SEmmanuel Vadot        power-domains = <&k3_pds 187 TI_SCI_PD_EXCLUSIVE>;
73*01950c46SEmmanuel Vadot    };
74