18c2ecf20Sopenharmony_ciNVIDIA Tegra Graphics Processing Units 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: "nvidia,<gpu>" 58c2ecf20Sopenharmony_ci Currently recognized values: 68c2ecf20Sopenharmony_ci - nvidia,gk20a 78c2ecf20Sopenharmony_ci - nvidia,gm20b 88c2ecf20Sopenharmony_ci - nvidia,gp10b 98c2ecf20Sopenharmony_ci - nvidia,gv11b 108c2ecf20Sopenharmony_ci- reg: Physical base address and length of the controller's registers. 118c2ecf20Sopenharmony_ci Must contain two entries: 128c2ecf20Sopenharmony_ci - first entry for bar0 138c2ecf20Sopenharmony_ci - second entry for bar1 148c2ecf20Sopenharmony_ci- interrupts: Must contain an entry for each entry in interrupt-names. 158c2ecf20Sopenharmony_ci See ../interrupt-controller/interrupts.txt for details. 168c2ecf20Sopenharmony_ci- interrupt-names: Must include the following entries: 178c2ecf20Sopenharmony_ci - stall 188c2ecf20Sopenharmony_ci - nonstall 198c2ecf20Sopenharmony_ci- vdd-supply: regulator for supply voltage. Only required for GPUs not using 208c2ecf20Sopenharmony_ci power domains. 218c2ecf20Sopenharmony_ci- clocks: Must contain an entry for each entry in clock-names. 228c2ecf20Sopenharmony_ci See ../clocks/clock-bindings.txt for details. 238c2ecf20Sopenharmony_ci- clock-names: Must include the following entries: 248c2ecf20Sopenharmony_ci - gpu 258c2ecf20Sopenharmony_ci - pwr 268c2ecf20Sopenharmony_ciIf the compatible string is "nvidia,gm20b", then the following clock 278c2ecf20Sopenharmony_ciis also required: 288c2ecf20Sopenharmony_ci - ref 298c2ecf20Sopenharmony_ciIf the compatible string is "nvidia,gv11b", then the following clock is also 308c2ecf20Sopenharmony_cirequired: 318c2ecf20Sopenharmony_ci - fuse 328c2ecf20Sopenharmony_ci- resets: Must contain an entry for each entry in reset-names. 338c2ecf20Sopenharmony_ci See ../reset/reset.txt for details. 348c2ecf20Sopenharmony_ci- reset-names: Must include the following entries: 358c2ecf20Sopenharmony_ci - gpu 368c2ecf20Sopenharmony_ci- power-domains: GPUs that make use of power domains can define this property 378c2ecf20Sopenharmony_ci instead of vdd-supply. Currently "nvidia,gp10b" makes use of this. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ciOptional properties: 408c2ecf20Sopenharmony_ci- iommus: A reference to the IOMMU. See ../iommu/iommu.txt for details. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ciExample for GK20A: 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci gpu@57000000 { 458c2ecf20Sopenharmony_ci compatible = "nvidia,gk20a"; 468c2ecf20Sopenharmony_ci reg = <0x0 0x57000000 0x0 0x01000000>, 478c2ecf20Sopenharmony_ci <0x0 0x58000000 0x0 0x01000000>; 488c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 498c2ecf20Sopenharmony_ci <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 508c2ecf20Sopenharmony_ci interrupt-names = "stall", "nonstall"; 518c2ecf20Sopenharmony_ci vdd-supply = <&vdd_gpu>; 528c2ecf20Sopenharmony_ci clocks = <&tegra_car TEGRA124_CLK_GPU>, 538c2ecf20Sopenharmony_ci <&tegra_car TEGRA124_CLK_PLL_P_OUT5>; 548c2ecf20Sopenharmony_ci clock-names = "gpu", "pwr"; 558c2ecf20Sopenharmony_ci resets = <&tegra_car 184>; 568c2ecf20Sopenharmony_ci reset-names = "gpu"; 578c2ecf20Sopenharmony_ci iommus = <&mc TEGRA_SWGROUP_GPU>; 588c2ecf20Sopenharmony_ci }; 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ciExample for GM20B: 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ci gpu@57000000 { 638c2ecf20Sopenharmony_ci compatible = "nvidia,gm20b"; 648c2ecf20Sopenharmony_ci reg = <0x0 0x57000000 0x0 0x01000000>, 658c2ecf20Sopenharmony_ci <0x0 0x58000000 0x0 0x01000000>; 668c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 678c2ecf20Sopenharmony_ci <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 688c2ecf20Sopenharmony_ci interrupt-names = "stall", "nonstall"; 698c2ecf20Sopenharmony_ci clocks = <&tegra_car TEGRA210_CLK_GPU>, 708c2ecf20Sopenharmony_ci <&tegra_car TEGRA210_CLK_PLL_P_OUT5>, 718c2ecf20Sopenharmony_ci <&tegra_car TEGRA210_CLK_PLL_G_REF>; 728c2ecf20Sopenharmony_ci clock-names = "gpu", "pwr", "ref"; 738c2ecf20Sopenharmony_ci resets = <&tegra_car 184>; 748c2ecf20Sopenharmony_ci reset-names = "gpu"; 758c2ecf20Sopenharmony_ci iommus = <&mc TEGRA_SWGROUP_GPU>; 768c2ecf20Sopenharmony_ci }; 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciExample for GP10B: 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci gpu@17000000 { 818c2ecf20Sopenharmony_ci compatible = "nvidia,gp10b"; 828c2ecf20Sopenharmony_ci reg = <0x0 0x17000000 0x0 0x1000000>, 838c2ecf20Sopenharmony_ci <0x0 0x18000000 0x0 0x1000000>; 848c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH 858c2ecf20Sopenharmony_ci GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 868c2ecf20Sopenharmony_ci interrupt-names = "stall", "nonstall"; 878c2ecf20Sopenharmony_ci clocks = <&bpmp TEGRA186_CLK_GPCCLK>, 888c2ecf20Sopenharmony_ci <&bpmp TEGRA186_CLK_GPU>; 898c2ecf20Sopenharmony_ci clock-names = "gpu", "pwr"; 908c2ecf20Sopenharmony_ci resets = <&bpmp TEGRA186_RESET_GPU>; 918c2ecf20Sopenharmony_ci reset-names = "gpu"; 928c2ecf20Sopenharmony_ci power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>; 938c2ecf20Sopenharmony_ci iommus = <&smmu TEGRA186_SID_GPU>; 948c2ecf20Sopenharmony_ci }; 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciExample for GV11B: 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci gpu@17000000 { 998c2ecf20Sopenharmony_ci compatible = "nvidia,gv11b"; 1008c2ecf20Sopenharmony_ci reg = <0x17000000 0x10000000>, 1018c2ecf20Sopenharmony_ci <0x18000000 0x10000000>; 1028c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>, 1038c2ecf20Sopenharmony_ci <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 1048c2ecf20Sopenharmony_ci interrupt-names = "stall", "nonstall"; 1058c2ecf20Sopenharmony_ci clocks = <&bpmp TEGRA194_CLK_GPCCLK>, 1068c2ecf20Sopenharmony_ci <&bpmp TEGRA194_CLK_GPU_PWR>, 1078c2ecf20Sopenharmony_ci <&bpmp TEGRA194_CLK_FUSE>; 1088c2ecf20Sopenharmony_ci clock-names = "gpu", "pwr", "fuse"; 1098c2ecf20Sopenharmony_ci resets = <&bpmp TEGRA194_RESET_GPU>; 1108c2ecf20Sopenharmony_ci reset-names = "gpu"; 1118c2ecf20Sopenharmony_ci dma-coherent; 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci power-domains = <&bpmp TEGRA194_POWER_DOMAIN_GPU>; 1148c2ecf20Sopenharmony_ci iommus = <&smmu TEGRA194_SID_GPU>; 1158c2ecf20Sopenharmony_ci }; 116