1*01950c46SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*01950c46SEmmanuel Vadot# Copyright (c) 2023 Imagination Technologies Ltd. 3*01950c46SEmmanuel Vadot# Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/ 4*01950c46SEmmanuel Vadot%YAML 1.2 5*01950c46SEmmanuel Vadot--- 6*01950c46SEmmanuel Vadot$id: http://devicetree.org/schemas/gpu/img,powervr-sgx.yaml# 7*01950c46SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 8*01950c46SEmmanuel Vadot 9*01950c46SEmmanuel Vadottitle: Imagination Technologies PowerVR SGX GPUs 10*01950c46SEmmanuel Vadot 11*01950c46SEmmanuel Vadotmaintainers: 12*01950c46SEmmanuel Vadot - Frank Binns <frank.binns@imgtec.com> 13*01950c46SEmmanuel Vadot 14*01950c46SEmmanuel Vadotproperties: 15*01950c46SEmmanuel Vadot compatible: 16*01950c46SEmmanuel Vadot oneOf: 17*01950c46SEmmanuel Vadot - items: 18*01950c46SEmmanuel Vadot - enum: 19*01950c46SEmmanuel Vadot - ti,omap3430-gpu # Rev 121 20*01950c46SEmmanuel Vadot - ti,omap3630-gpu # Rev 125 21*01950c46SEmmanuel Vadot - const: img,powervr-sgx530 22*01950c46SEmmanuel Vadot - items: 23*01950c46SEmmanuel Vadot - enum: 24*01950c46SEmmanuel Vadot - ingenic,jz4780-gpu # Rev 130 25*01950c46SEmmanuel Vadot - ti,omap4430-gpu # Rev 120 26*01950c46SEmmanuel Vadot - const: img,powervr-sgx540 27*01950c46SEmmanuel Vadot - items: 28*01950c46SEmmanuel Vadot - enum: 29*01950c46SEmmanuel Vadot - allwinner,sun6i-a31-gpu # MP2 Rev 115 30*01950c46SEmmanuel Vadot - ti,omap4470-gpu # MP1 Rev 112 31*01950c46SEmmanuel Vadot - ti,omap5432-gpu # MP2 Rev 105 32*01950c46SEmmanuel Vadot - ti,am5728-gpu # MP2 Rev 116 33*01950c46SEmmanuel Vadot - ti,am6548-gpu # MP1 Rev 117 34*01950c46SEmmanuel Vadot - const: img,powervr-sgx544 35*01950c46SEmmanuel Vadot 36*01950c46SEmmanuel Vadot reg: 37*01950c46SEmmanuel Vadot maxItems: 1 38*01950c46SEmmanuel Vadot 39*01950c46SEmmanuel Vadot interrupts: 40*01950c46SEmmanuel Vadot maxItems: 1 41*01950c46SEmmanuel Vadot 42*01950c46SEmmanuel Vadot clocks: 43*01950c46SEmmanuel Vadot minItems: 1 44*01950c46SEmmanuel Vadot maxItems: 3 45*01950c46SEmmanuel Vadot 46*01950c46SEmmanuel Vadot clock-names: 47*01950c46SEmmanuel Vadot minItems: 1 48*01950c46SEmmanuel Vadot items: 49*01950c46SEmmanuel Vadot - const: core 50*01950c46SEmmanuel Vadot - const: mem 51*01950c46SEmmanuel Vadot - const: sys 52*01950c46SEmmanuel Vadot 53*01950c46SEmmanuel Vadot power-domains: 54*01950c46SEmmanuel Vadot maxItems: 1 55*01950c46SEmmanuel Vadot 56*01950c46SEmmanuel Vadotrequired: 57*01950c46SEmmanuel Vadot - compatible 58*01950c46SEmmanuel Vadot - reg 59*01950c46SEmmanuel Vadot - interrupts 60*01950c46SEmmanuel Vadot 61*01950c46SEmmanuel VadotallOf: 62*01950c46SEmmanuel Vadot - if: 63*01950c46SEmmanuel Vadot properties: 64*01950c46SEmmanuel Vadot compatible: 65*01950c46SEmmanuel Vadot contains: 66*01950c46SEmmanuel Vadot const: ti,am6548-gpu 67*01950c46SEmmanuel Vadot then: 68*01950c46SEmmanuel Vadot required: 69*01950c46SEmmanuel Vadot - power-domains 70*01950c46SEmmanuel Vadot else: 71*01950c46SEmmanuel Vadot properties: 72*01950c46SEmmanuel Vadot power-domains: false 73*01950c46SEmmanuel Vadot - if: 74*01950c46SEmmanuel Vadot properties: 75*01950c46SEmmanuel Vadot compatible: 76*01950c46SEmmanuel Vadot contains: 77*01950c46SEmmanuel Vadot enum: 78*01950c46SEmmanuel Vadot - allwinner,sun6i-a31-gpu 79*01950c46SEmmanuel Vadot - ingenic,jz4780-gpu 80*01950c46SEmmanuel Vadot then: 81*01950c46SEmmanuel Vadot required: 82*01950c46SEmmanuel Vadot - clocks 83*01950c46SEmmanuel Vadot - clock-names 84*01950c46SEmmanuel Vadot else: 85*01950c46SEmmanuel Vadot properties: 86*01950c46SEmmanuel Vadot clocks: false 87*01950c46SEmmanuel Vadot clock-names: false 88*01950c46SEmmanuel Vadot - if: 89*01950c46SEmmanuel Vadot properties: 90*01950c46SEmmanuel Vadot compatible: 91*01950c46SEmmanuel Vadot contains: 92*01950c46SEmmanuel Vadot const: allwinner,sun6i-a31-gpu 93*01950c46SEmmanuel Vadot then: 94*01950c46SEmmanuel Vadot properties: 95*01950c46SEmmanuel Vadot clocks: 96*01950c46SEmmanuel Vadot minItems: 2 97*01950c46SEmmanuel Vadot maxItems: 2 98*01950c46SEmmanuel Vadot clock-names: 99*01950c46SEmmanuel Vadot minItems: 2 100*01950c46SEmmanuel Vadot maxItems: 2 101*01950c46SEmmanuel Vadot - if: 102*01950c46SEmmanuel Vadot properties: 103*01950c46SEmmanuel Vadot compatible: 104*01950c46SEmmanuel Vadot contains: 105*01950c46SEmmanuel Vadot const: ingenic,jz4780-gpu 106*01950c46SEmmanuel Vadot then: 107*01950c46SEmmanuel Vadot properties: 108*01950c46SEmmanuel Vadot clocks: 109*01950c46SEmmanuel Vadot maxItems: 1 110*01950c46SEmmanuel Vadot clock-names: 111*01950c46SEmmanuel Vadot maxItems: 1 112*01950c46SEmmanuel Vadot 113*01950c46SEmmanuel VadotadditionalProperties: false 114*01950c46SEmmanuel Vadot 115*01950c46SEmmanuel Vadotexamples: 116*01950c46SEmmanuel Vadot - | 117*01950c46SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 118*01950c46SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 119*01950c46SEmmanuel Vadot #include <dt-bindings/soc/ti,sci_pm_domain.h> 120*01950c46SEmmanuel Vadot 121*01950c46SEmmanuel Vadot gpu@7000000 { 122*01950c46SEmmanuel Vadot compatible = "ti,am6548-gpu", "img,powervr-sgx544"; 123*01950c46SEmmanuel Vadot reg = <0x7000000 0x10000>; 124*01950c46SEmmanuel Vadot interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 125*01950c46SEmmanuel Vadot power-domains = <&k3_pds 65 TI_SCI_PD_EXCLUSIVE>; 126*01950c46SEmmanuel Vadot }; 127*01950c46SEmmanuel Vadot 128*01950c46SEmmanuel Vadot - | 129*01950c46SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 130*01950c46SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 131*01950c46SEmmanuel Vadot 132*01950c46SEmmanuel Vadot gpu: gpu@1c40000 { 133*01950c46SEmmanuel Vadot compatible = "allwinner,sun6i-a31-gpu", "img,powervr-sgx544"; 134*01950c46SEmmanuel Vadot reg = <0x01c40000 0x10000>; 135*01950c46SEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 136*01950c46SEmmanuel Vadot clocks = <&ccu 1>, <&ccu 2>; 137*01950c46SEmmanuel Vadot clock-names = "core", "mem"; 138*01950c46SEmmanuel Vadot }; 139