1*1537cf73SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*1537cf73SEmmanuel Vadot%YAML 1.2 3*1537cf73SEmmanuel Vadot--- 4*1537cf73SEmmanuel Vadot$id: http://devicetree.org/schemas/gpu/nvidia,gk20a.yaml# 5*1537cf73SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*1537cf73SEmmanuel Vadot 7*1537cf73SEmmanuel Vadottitle: NVIDIA Tegra Graphics Processing Units 8*1537cf73SEmmanuel Vadot 9*1537cf73SEmmanuel Vadotmaintainers: 10*1537cf73SEmmanuel Vadot - Alexandre Courbot <acourbot@nvidia.com> 11*1537cf73SEmmanuel Vadot - Jon Hunter <jonathanh@nvidia.com> 12*1537cf73SEmmanuel Vadot - Thierry Reding <treding@nvidia.com> 13*1537cf73SEmmanuel Vadot 14*1537cf73SEmmanuel Vadotproperties: 15*1537cf73SEmmanuel Vadot compatible: 16*1537cf73SEmmanuel Vadot enum: 17*1537cf73SEmmanuel Vadot - nvidia,gk20a 18*1537cf73SEmmanuel Vadot - nvidia,gm20b 19*1537cf73SEmmanuel Vadot - nvidia,gp10b 20*1537cf73SEmmanuel Vadot - nvidia,gv11b 21*1537cf73SEmmanuel Vadot 22*1537cf73SEmmanuel Vadot reg: 23*1537cf73SEmmanuel Vadot items: 24*1537cf73SEmmanuel Vadot - description: Bar0 register window 25*1537cf73SEmmanuel Vadot - description: Bar1 register window 26*1537cf73SEmmanuel Vadot 27*1537cf73SEmmanuel Vadot interrupts: 28*1537cf73SEmmanuel Vadot items: 29*1537cf73SEmmanuel Vadot - description: Stall interrupt 30*1537cf73SEmmanuel Vadot - description: Nonstall interrupt 31*1537cf73SEmmanuel Vadot 32*1537cf73SEmmanuel Vadot interrupt-names: 33*1537cf73SEmmanuel Vadot items: 34*1537cf73SEmmanuel Vadot - const: stall 35*1537cf73SEmmanuel Vadot - const: nonstall 36*1537cf73SEmmanuel Vadot 37*1537cf73SEmmanuel Vadot vdd-supply: 38*1537cf73SEmmanuel Vadot description: 39*1537cf73SEmmanuel Vadot Regulator for GPU supply voltage 40*1537cf73SEmmanuel Vadot 41*1537cf73SEmmanuel Vadot clocks: 42*1537cf73SEmmanuel Vadot minItems: 2 43*1537cf73SEmmanuel Vadot items: 44*1537cf73SEmmanuel Vadot - description: GPU clock 45*1537cf73SEmmanuel Vadot - description: Power clock 46*1537cf73SEmmanuel Vadot - description: Reference or fuse clock 47*1537cf73SEmmanuel Vadot 48*1537cf73SEmmanuel Vadot clock-names: 49*1537cf73SEmmanuel Vadot minItems: 2 50*1537cf73SEmmanuel Vadot items: 51*1537cf73SEmmanuel Vadot - const: gpu 52*1537cf73SEmmanuel Vadot - const: pwr 53*1537cf73SEmmanuel Vadot - enum: [ ref, fuse ] 54*1537cf73SEmmanuel Vadot 55*1537cf73SEmmanuel Vadot resets: 56*1537cf73SEmmanuel Vadot maxItems: 1 57*1537cf73SEmmanuel Vadot 58*1537cf73SEmmanuel Vadot reset-names: 59*1537cf73SEmmanuel Vadot items: 60*1537cf73SEmmanuel Vadot - const: gpu 61*1537cf73SEmmanuel Vadot 62*1537cf73SEmmanuel Vadot power-domains: 63*1537cf73SEmmanuel Vadot maxItems: 1 64*1537cf73SEmmanuel Vadot 65*1537cf73SEmmanuel Vadot interconnects: 66*1537cf73SEmmanuel Vadot minItems: 4 67*1537cf73SEmmanuel Vadot maxItems: 12 68*1537cf73SEmmanuel Vadot 69*1537cf73SEmmanuel Vadot interconnect-names: 70*1537cf73SEmmanuel Vadot minItems: 4 71*1537cf73SEmmanuel Vadot maxItems: 12 72*1537cf73SEmmanuel Vadot 73*1537cf73SEmmanuel Vadot iommus: 74*1537cf73SEmmanuel Vadot maxItems: 1 75*1537cf73SEmmanuel Vadot 76*1537cf73SEmmanuel Vadot dma-coherent: true 77*1537cf73SEmmanuel Vadot 78*1537cf73SEmmanuel Vadotrequired: 79*1537cf73SEmmanuel Vadot - compatible 80*1537cf73SEmmanuel Vadot - reg 81*1537cf73SEmmanuel Vadot - interrupts 82*1537cf73SEmmanuel Vadot - interrupt-names 83*1537cf73SEmmanuel Vadot - clocks 84*1537cf73SEmmanuel Vadot - clock-names 85*1537cf73SEmmanuel Vadot - resets 86*1537cf73SEmmanuel Vadot - reset-names 87*1537cf73SEmmanuel Vadot 88*1537cf73SEmmanuel VadotallOf: 89*1537cf73SEmmanuel Vadot - if: 90*1537cf73SEmmanuel Vadot properties: 91*1537cf73SEmmanuel Vadot compatible: 92*1537cf73SEmmanuel Vadot contains: 93*1537cf73SEmmanuel Vadot enum: 94*1537cf73SEmmanuel Vadot - nvidia,gp10b 95*1537cf73SEmmanuel Vadot - nvidia,gv11b 96*1537cf73SEmmanuel Vadot then: 97*1537cf73SEmmanuel Vadot required: 98*1537cf73SEmmanuel Vadot - power-domains 99*1537cf73SEmmanuel Vadot else: 100*1537cf73SEmmanuel Vadot properties: 101*1537cf73SEmmanuel Vadot interconnects: false 102*1537cf73SEmmanuel Vadot interconnect-names: false 103*1537cf73SEmmanuel Vadot 104*1537cf73SEmmanuel Vadot required: 105*1537cf73SEmmanuel Vadot - vdd-supply 106*1537cf73SEmmanuel Vadot - if: 107*1537cf73SEmmanuel Vadot properties: 108*1537cf73SEmmanuel Vadot compatible: 109*1537cf73SEmmanuel Vadot contains: 110*1537cf73SEmmanuel Vadot enum: 111*1537cf73SEmmanuel Vadot - nvidia,gp10b 112*1537cf73SEmmanuel Vadot then: 113*1537cf73SEmmanuel Vadot properties: 114*1537cf73SEmmanuel Vadot interconnects: 115*1537cf73SEmmanuel Vadot maxItems: 4 116*1537cf73SEmmanuel Vadot 117*1537cf73SEmmanuel Vadot interconnect-names: 118*1537cf73SEmmanuel Vadot items: 119*1537cf73SEmmanuel Vadot - const: dma-mem 120*1537cf73SEmmanuel Vadot - const: write-0 121*1537cf73SEmmanuel Vadot - const: read-1 122*1537cf73SEmmanuel Vadot - const: write-1 123*1537cf73SEmmanuel Vadot - if: 124*1537cf73SEmmanuel Vadot properties: 125*1537cf73SEmmanuel Vadot compatible: 126*1537cf73SEmmanuel Vadot contains: 127*1537cf73SEmmanuel Vadot enum: 128*1537cf73SEmmanuel Vadot - nvidia,gv11b 129*1537cf73SEmmanuel Vadot then: 130*1537cf73SEmmanuel Vadot properties: 131*1537cf73SEmmanuel Vadot interconnects: 132*1537cf73SEmmanuel Vadot minItems: 12 133*1537cf73SEmmanuel Vadot 134*1537cf73SEmmanuel Vadot interconnect-names: 135*1537cf73SEmmanuel Vadot items: 136*1537cf73SEmmanuel Vadot - const: dma-mem 137*1537cf73SEmmanuel Vadot - const: read-0-hp 138*1537cf73SEmmanuel Vadot - const: write-0 139*1537cf73SEmmanuel Vadot - const: read-1 140*1537cf73SEmmanuel Vadot - const: read-1-hp 141*1537cf73SEmmanuel Vadot - const: write-1 142*1537cf73SEmmanuel Vadot - const: read-2 143*1537cf73SEmmanuel Vadot - const: read-2-hp 144*1537cf73SEmmanuel Vadot - const: write-2 145*1537cf73SEmmanuel Vadot - const: read-3 146*1537cf73SEmmanuel Vadot - const: read-3-hp 147*1537cf73SEmmanuel Vadot - const: write-3 148*1537cf73SEmmanuel Vadot 149*1537cf73SEmmanuel VadotadditionalProperties: false 150*1537cf73SEmmanuel Vadot 151*1537cf73SEmmanuel Vadotexamples: 152*1537cf73SEmmanuel Vadot - | 153*1537cf73SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 154*1537cf73SEmmanuel Vadot #include <dt-bindings/clock/tegra124-car-common.h> 155*1537cf73SEmmanuel Vadot #include <dt-bindings/memory/tegra124-mc.h> 156*1537cf73SEmmanuel Vadot 157*1537cf73SEmmanuel Vadot gpu@57000000 { 158*1537cf73SEmmanuel Vadot compatible = "nvidia,gk20a"; 159*1537cf73SEmmanuel Vadot reg = <0x57000000 0x01000000>, 160*1537cf73SEmmanuel Vadot <0x58000000 0x01000000>; 161*1537cf73SEmmanuel Vadot interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 162*1537cf73SEmmanuel Vadot <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 163*1537cf73SEmmanuel Vadot interrupt-names = "stall", "nonstall"; 164*1537cf73SEmmanuel Vadot vdd-supply = <&vdd_gpu>; 165*1537cf73SEmmanuel Vadot clocks = <&tegra_car TEGRA124_CLK_GPU>, 166*1537cf73SEmmanuel Vadot <&tegra_car TEGRA124_CLK_PLL_P_OUT5>; 167*1537cf73SEmmanuel Vadot clock-names = "gpu", "pwr"; 168*1537cf73SEmmanuel Vadot resets = <&tegra_car 184>; 169*1537cf73SEmmanuel Vadot reset-names = "gpu"; 170*1537cf73SEmmanuel Vadot iommus = <&mc TEGRA_SWGROUP_GPU>; 171*1537cf73SEmmanuel Vadot }; 172