1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/tegra/nvidia,tegra20-gr3d.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: NVIDIA 3D graphics engine 8 9maintainers: 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Jon Hunter <jonathanh@nvidia.com> 12 13properties: 14 $nodename: 15 pattern: "^gr3d@[0-9a-f]+$" 16 17 compatible: 18 enum: 19 - nvidia,tegra20-gr3d 20 - nvidia,tegra30-gr3d 21 - nvidia,tegra114-gr3d 22 23 reg: 24 maxItems: 1 25 26 clocks: 27 minItems: 1 28 maxItems: 2 29 30 clock-names: 31 minItems: 1 32 maxItems: 2 33 34 resets: 35 minItems: 2 36 maxItems: 4 37 38 reset-names: 39 minItems: 2 40 maxItems: 4 41 42 iommus: 43 minItems: 1 44 maxItems: 2 45 46 interconnects: 47 minItems: 4 48 maxItems: 10 49 50 interconnect-names: 51 minItems: 4 52 maxItems: 10 53 54 operating-points-v2: 55 $ref: "/schemas/types.yaml#/definitions/phandle" 56 57 power-domains: 58 minItems: 1 59 maxItems: 2 60 61 power-domain-names: 62 minItems: 2 63 maxItems: 2 64 65allOf: 66 - if: 67 properties: 68 compatible: 69 contains: 70 const: nvidia,tegra20-gr2d 71 then: 72 properties: 73 clocks: 74 items: 75 - description: module clock 76 77 clock-names: 78 items: 79 - const: 3d 80 81 resets: 82 items: 83 - description: module reset 84 - description: memory client hotflush reset 85 86 reset-names: 87 items: 88 - const: 3d 89 - const: mc 90 91 iommus: 92 maxItems: 1 93 94 interconnects: 95 minItems: 4 96 maxItems: 4 97 98 interconnect-names: 99 minItems: 4 100 maxItems: 4 101 102 power-domains: 103 items: 104 - description: phandle to the TD power domain 105 106 - if: 107 properties: 108 compatible: 109 contains: 110 const: nvidia,tegra30-gr3d 111 then: 112 properties: 113 clocks: 114 items: 115 - description: primary module clock 116 - description: secondary module clock 117 118 clock-names: 119 items: 120 - const: 3d 121 - const: 3d2 122 123 resets: 124 items: 125 - description: primary module reset 126 - description: secondary module reset 127 - description: primary memory client hotflush reset 128 - description: secondary memory client hotflush reset 129 130 reset-names: 131 items: 132 - const: 3d 133 - const: 3d2 134 - const: mc 135 - const: mc2 136 137 iommus: 138 minItems: 2 139 maxItems: 2 140 141 interconnects: 142 minItems: 8 143 maxItems: 8 144 145 interconnect-names: 146 minItems: 8 147 maxItems: 8 148 149 power-domains: 150 items: 151 - description: phandle to the TD power domain 152 - description: phandle to the TD2 power domain 153 154 power-domain-names: 155 items: 156 - const: 3d0 157 - const: 3d1 158 159 dependencies: 160 power-domains: [ power-domain-names ] 161 162 - if: 163 properties: 164 compatible: 165 contains: 166 const: nvidia,tegra114-gr2d 167 then: 168 properties: 169 clocks: 170 items: 171 - description: module clock 172 173 clock-names: 174 items: 175 - const: 3d 176 177 resets: 178 items: 179 - description: module reset 180 - description: memory client hotflush reset 181 182 reset-names: 183 items: 184 - const: 3d 185 - const: mc 186 187 iommus: 188 maxItems: 1 189 190 interconnects: 191 minItems: 10 192 maxItems: 10 193 194 interconnect-names: 195 minItems: 10 196 maxItems: 10 197 198 power-domains: 199 items: 200 - description: phandle to the TD power domain 201 202additionalProperties: false 203 204examples: 205 - | 206 #include <dt-bindings/clock/tegra20-car.h> 207 #include <dt-bindings/memory/tegra20-mc.h> 208 209 gr3d@54180000 { 210 compatible = "nvidia,tegra20-gr3d"; 211 reg = <0x54180000 0x00040000>; 212 clocks = <&tegra_car TEGRA20_CLK_GR3D>; 213 resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>; 214 reset-names = "3d", "mc"; 215 }; 216