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 maxItems: 2 63 64allOf: 65 - if: 66 properties: 67 compatible: 68 contains: 69 const: nvidia,tegra20-gr2d 70 then: 71 properties: 72 clocks: 73 items: 74 - description: module clock 75 76 clock-names: 77 items: 78 - const: 3d 79 80 resets: 81 items: 82 - description: module reset 83 - description: memory client hotflush reset 84 85 reset-names: 86 items: 87 - const: 3d 88 - const: mc 89 90 iommus: 91 maxItems: 1 92 93 interconnects: 94 minItems: 4 95 maxItems: 4 96 97 interconnect-names: 98 minItems: 4 99 maxItems: 4 100 101 power-domains: 102 items: 103 - description: phandle to the TD power domain 104 105 - if: 106 properties: 107 compatible: 108 contains: 109 const: nvidia,tegra30-gr3d 110 then: 111 properties: 112 clocks: 113 items: 114 - description: primary module clock 115 - description: secondary module clock 116 117 clock-names: 118 items: 119 - const: 3d 120 - const: 3d2 121 122 resets: 123 items: 124 - description: primary module reset 125 - description: secondary module reset 126 - description: primary memory client hotflush reset 127 - description: secondary memory client hotflush reset 128 129 reset-names: 130 items: 131 - const: 3d 132 - const: 3d2 133 - const: mc 134 - const: mc2 135 136 iommus: 137 minItems: 2 138 maxItems: 2 139 140 interconnects: 141 minItems: 8 142 maxItems: 8 143 144 interconnect-names: 145 minItems: 8 146 maxItems: 8 147 148 power-domains: 149 items: 150 - description: phandle to the TD power domain 151 - description: phandle to the TD2 power domain 152 153 power-domain-names: 154 items: 155 - const: 3d0 156 - const: 3d1 157 158 dependencies: 159 power-domains: [ power-domain-names ] 160 161 - if: 162 properties: 163 compatible: 164 contains: 165 const: nvidia,tegra114-gr2d 166 then: 167 properties: 168 clocks: 169 items: 170 - description: module clock 171 172 clock-names: 173 items: 174 - const: 3d 175 176 resets: 177 items: 178 - description: module reset 179 - description: memory client hotflush reset 180 181 reset-names: 182 items: 183 - const: 3d 184 - const: mc 185 186 iommus: 187 maxItems: 1 188 189 interconnects: 190 minItems: 10 191 maxItems: 10 192 193 interconnect-names: 194 minItems: 10 195 maxItems: 10 196 197 power-domains: 198 items: 199 - description: phandle to the TD power domain 200 201additionalProperties: false 202 203examples: 204 - | 205 #include <dt-bindings/clock/tegra20-car.h> 206 #include <dt-bindings/memory/tegra20-mc.h> 207 208 gr3d@54180000 { 209 compatible = "nvidia,tegra20-gr3d"; 210 reg = <0x54180000 0x00040000>; 211 clocks = <&tegra_car TEGRA20_CLK_GR3D>; 212 resets = <&tegra_car 24>, <&mc TEGRA20_MC_RESET_3D>; 213 reset-names = "3d", "mc"; 214 }; 215