162306a36Sopenharmony_ciNVIDIA Tegra Graphics Processing Units 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciRequired properties: 462306a36Sopenharmony_ci- compatible: "nvidia,<gpu>" 562306a36Sopenharmony_ci Currently recognized values: 662306a36Sopenharmony_ci - nvidia,gk20a 762306a36Sopenharmony_ci - nvidia,gm20b 862306a36Sopenharmony_ci - nvidia,gp10b 962306a36Sopenharmony_ci - nvidia,gv11b 1062306a36Sopenharmony_ci- reg: Physical base address and length of the controller's registers. 1162306a36Sopenharmony_ci Must contain two entries: 1262306a36Sopenharmony_ci - first entry for bar0 1362306a36Sopenharmony_ci - second entry for bar1 1462306a36Sopenharmony_ci- interrupts: Must contain an entry for each entry in interrupt-names. 1562306a36Sopenharmony_ci See ../interrupt-controller/interrupts.txt for details. 1662306a36Sopenharmony_ci- interrupt-names: Must include the following entries: 1762306a36Sopenharmony_ci - stall 1862306a36Sopenharmony_ci - nonstall 1962306a36Sopenharmony_ci- vdd-supply: regulator for supply voltage. Only required for GPUs not using 2062306a36Sopenharmony_ci power domains. 2162306a36Sopenharmony_ci- clocks: Must contain an entry for each entry in clock-names. 2262306a36Sopenharmony_ci See ../clocks/clock-bindings.txt for details. 2362306a36Sopenharmony_ci- clock-names: Must include the following entries: 2462306a36Sopenharmony_ci - gpu 2562306a36Sopenharmony_ci - pwr 2662306a36Sopenharmony_ciIf the compatible string is "nvidia,gm20b", then the following clock 2762306a36Sopenharmony_ciis also required: 2862306a36Sopenharmony_ci - ref 2962306a36Sopenharmony_ciIf the compatible string is "nvidia,gv11b", then the following clock is also 3062306a36Sopenharmony_cirequired: 3162306a36Sopenharmony_ci - fuse 3262306a36Sopenharmony_ci- resets: Must contain an entry for each entry in reset-names. 3362306a36Sopenharmony_ci See ../reset/reset.txt for details. 3462306a36Sopenharmony_ci- reset-names: Must include the following entries: 3562306a36Sopenharmony_ci - gpu 3662306a36Sopenharmony_ci- power-domains: GPUs that make use of power domains can define this property 3762306a36Sopenharmony_ci instead of vdd-supply. Currently "nvidia,gp10b" makes use of this. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ciOptional properties: 4062306a36Sopenharmony_ci- iommus: A reference to the IOMMU. See ../iommu/iommu.txt for details. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciExample for GK20A: 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci gpu@57000000 { 4562306a36Sopenharmony_ci compatible = "nvidia,gk20a"; 4662306a36Sopenharmony_ci reg = <0x0 0x57000000 0x0 0x01000000>, 4762306a36Sopenharmony_ci <0x0 0x58000000 0x0 0x01000000>; 4862306a36Sopenharmony_ci interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 4962306a36Sopenharmony_ci <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 5062306a36Sopenharmony_ci interrupt-names = "stall", "nonstall"; 5162306a36Sopenharmony_ci vdd-supply = <&vdd_gpu>; 5262306a36Sopenharmony_ci clocks = <&tegra_car TEGRA124_CLK_GPU>, 5362306a36Sopenharmony_ci <&tegra_car TEGRA124_CLK_PLL_P_OUT5>; 5462306a36Sopenharmony_ci clock-names = "gpu", "pwr"; 5562306a36Sopenharmony_ci resets = <&tegra_car 184>; 5662306a36Sopenharmony_ci reset-names = "gpu"; 5762306a36Sopenharmony_ci iommus = <&mc TEGRA_SWGROUP_GPU>; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciExample for GM20B: 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci gpu@57000000 { 6362306a36Sopenharmony_ci compatible = "nvidia,gm20b"; 6462306a36Sopenharmony_ci reg = <0x0 0x57000000 0x0 0x01000000>, 6562306a36Sopenharmony_ci <0x0 0x58000000 0x0 0x01000000>; 6662306a36Sopenharmony_ci interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 6762306a36Sopenharmony_ci <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 6862306a36Sopenharmony_ci interrupt-names = "stall", "nonstall"; 6962306a36Sopenharmony_ci clocks = <&tegra_car TEGRA210_CLK_GPU>, 7062306a36Sopenharmony_ci <&tegra_car TEGRA210_CLK_PLL_P_OUT5>, 7162306a36Sopenharmony_ci <&tegra_car TEGRA210_CLK_PLL_G_REF>; 7262306a36Sopenharmony_ci clock-names = "gpu", "pwr", "ref"; 7362306a36Sopenharmony_ci resets = <&tegra_car 184>; 7462306a36Sopenharmony_ci reset-names = "gpu"; 7562306a36Sopenharmony_ci iommus = <&mc TEGRA_SWGROUP_GPU>; 7662306a36Sopenharmony_ci }; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciExample for GP10B: 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci gpu@17000000 { 8162306a36Sopenharmony_ci compatible = "nvidia,gp10b"; 8262306a36Sopenharmony_ci reg = <0x0 0x17000000 0x0 0x1000000>, 8362306a36Sopenharmony_ci <0x0 0x18000000 0x0 0x1000000>; 8462306a36Sopenharmony_ci interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH 8562306a36Sopenharmony_ci GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 8662306a36Sopenharmony_ci interrupt-names = "stall", "nonstall"; 8762306a36Sopenharmony_ci clocks = <&bpmp TEGRA186_CLK_GPCCLK>, 8862306a36Sopenharmony_ci <&bpmp TEGRA186_CLK_GPU>; 8962306a36Sopenharmony_ci clock-names = "gpu", "pwr"; 9062306a36Sopenharmony_ci resets = <&bpmp TEGRA186_RESET_GPU>; 9162306a36Sopenharmony_ci reset-names = "gpu"; 9262306a36Sopenharmony_ci power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>; 9362306a36Sopenharmony_ci iommus = <&smmu TEGRA186_SID_GPU>; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciExample for GV11B: 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci gpu@17000000 { 9962306a36Sopenharmony_ci compatible = "nvidia,gv11b"; 10062306a36Sopenharmony_ci reg = <0x17000000 0x1000000>, 10162306a36Sopenharmony_ci <0x18000000 0x1000000>; 10262306a36Sopenharmony_ci interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 10362306a36Sopenharmony_ci <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 10462306a36Sopenharmony_ci interrupt-names = "stall", "nonstall"; 10562306a36Sopenharmony_ci clocks = <&bpmp TEGRA194_CLK_GPCCLK>, 10662306a36Sopenharmony_ci <&bpmp TEGRA194_CLK_GPU_PWR>, 10762306a36Sopenharmony_ci <&bpmp TEGRA194_CLK_FUSE>; 10862306a36Sopenharmony_ci clock-names = "gpu", "pwr", "fuse"; 10962306a36Sopenharmony_ci resets = <&bpmp TEGRA194_RESET_GPU>; 11062306a36Sopenharmony_ci reset-names = "gpu"; 11162306a36Sopenharmony_ci dma-coherent; 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>; 11462306a36Sopenharmony_ci iommus = <&smmu TEGRA194_SID_GPU>; 11562306a36Sopenharmony_ci }; 116