Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright (c) 2023 Imagination Technologies Ltd.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/gpu/img,powervr-rogue.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Imagination Technologies PowerVR and IMG Rogue GPUs
9
10maintainers:
11 - Frank Binns <frank.binns@imgtec.com>
12
13properties:
14 compatible:
15 oneOf:
16 - items:
17 - enum:
18 - ti,am62-gpu
19 - const: img,img-axe-1-16m
20 # This deprecated element must be kept around to allow old kernels to
21 # work with newer dts.
22 - const: img,img-axe
23 - const: img,img-rogue
24 - items:
25 - enum:
26 - ti,j721s2-gpu
27 - const: img,img-bxs-4-64
28 - const: img,img-rogue
29
30 # This legacy combination of compatible strings was introduced early on
31 # before the more specific GPU identifiers were used.
32 - items:
33 - enum:
34 - ti,am62-gpu
35 - const: img,img-axe
36 deprecated: true
37
38 reg:
39 maxItems: 1
40
41 clocks:
42 minItems: 1
43 maxItems: 3
44
45 clock-names:
46 items:
47 - const: core
48 - const: mem
49 - const: sys
50 minItems: 1
51
52 interrupts:
53 maxItems: 1
54
55 power-domains:
56 minItems: 1
57 maxItems: 2
58
59 power-domain-names:
60 items:
61 - const: a
62 - const: b
63 minItems: 1
64
65 dma-coherent: true
66
67 resets:
68 maxItems: 1
69
70required:
71 - compatible
72 - reg
73 - clocks
74 - clock-names
75 - interrupts
76
77additionalProperties: false
78
79allOf:
80 # Constraints added alongside the new compatible strings that would otherwise
81 # create an ABI break.
82 - if:
83 properties:
84 compatible:
85 contains:
86 const: img,img-rogue
87 then:
88 required:
89 - power-domains
90 - power-domain-names
91
92 - if:
93 properties:
94 compatible:
95 contains:
96 const: img,img-axe-1-16m
97 then:
98 properties:
99 power-domains:
100 maxItems: 1
101 power-domain-names:
102 maxItems: 1
103
104 - if:
105 properties:
106 compatible:
107 contains:
108 const: img,img-bxs-4-64
109 then:
110 properties:
111 power-domains:
112 minItems: 2
113 power-domain-names:
114 minItems: 2
115
116 - if:
117 properties:
118 compatible:
119 contains:
120 enum:
121 - ti,am62-gpu
122 - ti,j721s2-gpu
123 then:
124 properties:
125 clocks:
126 maxItems: 1
127
128examples:
129 - |
130 #include <dt-bindings/interrupt-controller/irq.h>
131 #include <dt-bindings/interrupt-controller/arm-gic.h>
132 #include <dt-bindings/soc/ti,sci_pm_domain.h>
133
134 gpu@fd00000 {
135 compatible = "ti,am62-gpu", "img,img-axe-1-16m", "img,img-axe",
136 "img,img-rogue";
137 reg = <0x0fd00000 0x20000>;
138 clocks = <&k3_clks 187 0>;
139 clock-names = "core";
140 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
141 power-domains = <&k3_pds 187 TI_SCI_PD_EXCLUSIVE>;
142 power-domain-names = "a";
143 };