153cafb93SAlexandre CourbotNVIDIA Tegra Graphics Processing Units 22b372f56SAlexandre Courbot 32b372f56SAlexandre CourbotRequired properties: 435815801SAlexandre Courbot- compatible: "nvidia,<gpu>" 52b372f56SAlexandre Courbot Currently recognized values: 635815801SAlexandre Courbot - nvidia,gk20a 753cafb93SAlexandre Courbot - nvidia,gm20b 82b372f56SAlexandre Courbot- reg: Physical base address and length of the controller's registers. 92b372f56SAlexandre Courbot Must contain two entries: 102b372f56SAlexandre Courbot - first entry for bar0 112b372f56SAlexandre Courbot - second entry for bar1 122b372f56SAlexandre Courbot- interrupts: Must contain an entry for each entry in interrupt-names. 132b372f56SAlexandre Courbot See ../interrupt-controller/interrupts.txt for details. 142b372f56SAlexandre Courbot- interrupt-names: Must include the following entries: 152b372f56SAlexandre Courbot - stall 162b372f56SAlexandre Courbot - nonstall 172b372f56SAlexandre Courbot- vdd-supply: regulator for supply voltage. 182b372f56SAlexandre Courbot- clocks: Must contain an entry for each entry in clock-names. 192b372f56SAlexandre Courbot See ../clocks/clock-bindings.txt for details. 202b372f56SAlexandre Courbot- clock-names: Must include the following entries: 212b372f56SAlexandre Courbot - gpu 222b372f56SAlexandre Courbot - pwr 2353cafb93SAlexandre CourbotIf the compatible string is "nvidia,gm20b", then the following clock 2453cafb93SAlexandre Courbotis also required: 2553cafb93SAlexandre Courbot - ref 262b372f56SAlexandre Courbot- resets: Must contain an entry for each entry in reset-names. 272b372f56SAlexandre Courbot See ../reset/reset.txt for details. 282b372f56SAlexandre Courbot- reset-names: Must include the following entries: 292b372f56SAlexandre Courbot - gpu 302b372f56SAlexandre Courbot 31375d2447SAlexandre CourbotOptional properties: 32375d2447SAlexandre Courbot- iommus: A reference to the IOMMU. See ../iommu/iommu.txt for details. 33375d2447SAlexandre Courbot 3453cafb93SAlexandre CourbotExample for GK20A: 352b372f56SAlexandre Courbot 3653cafb93SAlexandre Courbot gpu@57000000 { 372b372f56SAlexandre Courbot compatible = "nvidia,gk20a"; 382b372f56SAlexandre Courbot reg = <0x0 0x57000000 0x0 0x01000000>, 392b372f56SAlexandre Courbot <0x0 0x58000000 0x0 0x01000000>; 402b372f56SAlexandre Courbot interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 412b372f56SAlexandre Courbot <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 422b372f56SAlexandre Courbot interrupt-names = "stall", "nonstall"; 432b372f56SAlexandre Courbot vdd-supply = <&vdd_gpu>; 442b372f56SAlexandre Courbot clocks = <&tegra_car TEGRA124_CLK_GPU>, 452b372f56SAlexandre Courbot <&tegra_car TEGRA124_CLK_PLL_P_OUT5>; 462b372f56SAlexandre Courbot clock-names = "gpu", "pwr"; 472b372f56SAlexandre Courbot resets = <&tegra_car 184>; 482b372f56SAlexandre Courbot reset-names = "gpu"; 49375d2447SAlexandre Courbot iommus = <&mc TEGRA_SWGROUP_GPU>; 502b372f56SAlexandre Courbot status = "disabled"; 512b372f56SAlexandre Courbot }; 5253cafb93SAlexandre Courbot 5353cafb93SAlexandre CourbotExample for GM20B: 5453cafb93SAlexandre Courbot 5553cafb93SAlexandre Courbot gpu@57000000 { 5653cafb93SAlexandre Courbot compatible = "nvidia,gm20b"; 5753cafb93SAlexandre Courbot reg = <0x0 0x57000000 0x0 0x01000000>, 5853cafb93SAlexandre Courbot <0x0 0x58000000 0x0 0x01000000>; 5953cafb93SAlexandre Courbot interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 6053cafb93SAlexandre Courbot <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>; 6153cafb93SAlexandre Courbot interrupt-names = "stall", "nonstall"; 6253cafb93SAlexandre Courbot clocks = <&tegra_car TEGRA210_CLK_GPU>, 6353cafb93SAlexandre Courbot <&tegra_car TEGRA210_CLK_PLL_P_OUT5>, 6453cafb93SAlexandre Courbot <&tegra_car TEGRA210_CLK_PLL_G_REF>; 6553cafb93SAlexandre Courbot clock-names = "gpu", "pwr", "ref"; 6653cafb93SAlexandre Courbot resets = <&tegra_car 184>; 6753cafb93SAlexandre Courbot reset-names = "gpu"; 6853cafb93SAlexandre Courbot iommus = <&mc TEGRA_SWGROUP_GPU>; 6953cafb93SAlexandre Courbot status = "disabled"; 7053cafb93SAlexandre Courbot }; 71