1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2# Copyright (c) 2023 Imagination Technologies Ltd. 3%YAML 1.2 4--- 5$id: http://devicetree.org/schemas/gpu/img,powervr-rogue.yaml# 6$schema: http://devicetree.org/meta-schemas/core.yaml# 7 8title: Imagination Technologies PowerVR and IMG Rogue GPUs 9 10maintainers: 11 - Frank Binns <frank.binns@imgtec.com> 12 13properties: 14 compatible: 15 oneOf: 16 - items: 17 - enum: 18 - ti,am62-gpu 19 - const: img,img-axe-1-16m 20 # This deprecated element must be kept around to allow old kernels to 21 # work with newer dts. 22 - const: img,img-axe 23 - const: img,img-rogue 24 - items: 25 - enum: 26 - ti,j721s2-gpu 27 - const: img,img-bxs-4-64 28 - const: img,img-rogue 29 30 # This legacy combination of compatible strings was introduced early on 31 # before the more specific GPU identifiers were used. 32 - items: 33 - enum: 34 - ti,am62-gpu 35 - const: img,img-axe 36 deprecated: true 37 38 reg: 39 maxItems: 1 40 41 clocks: 42 minItems: 1 43 maxItems: 3 44 45 clock-names: 46 items: 47 - const: core 48 - const: mem 49 - const: sys 50 minItems: 1 51 52 interrupts: 53 maxItems: 1 54 55 power-domains: 56 minItems: 1 57 maxItems: 2 58 59 power-domain-names: 60 items: 61 - const: a 62 - const: b 63 minItems: 1 64 65 dma-coherent: true 66 67 resets: 68 maxItems: 1 69 70required: 71 - compatible 72 - reg 73 - clocks 74 - clock-names 75 - interrupts 76 77additionalProperties: false 78 79allOf: 80 # Constraints added alongside the new compatible strings that would otherwise 81 # create an ABI break. 82 - if: 83 properties: 84 compatible: 85 contains: 86 const: img,img-rogue 87 then: 88 required: 89 - power-domains 90 - power-domain-names 91 92 - if: 93 properties: 94 compatible: 95 contains: 96 const: img,img-axe-1-16m 97 then: 98 properties: 99 power-domains: 100 maxItems: 1 101 power-domain-names: 102 maxItems: 1 103 104 - if: 105 properties: 106 compatible: 107 contains: 108 const: img,img-bxs-4-64 109 then: 110 properties: 111 power-domains: 112 minItems: 2 113 power-domain-names: 114 minItems: 2 115 116 - if: 117 properties: 118 compatible: 119 contains: 120 enum: 121 - ti,am62-gpu 122 - ti,j721s2-gpu 123 then: 124 properties: 125 clocks: 126 maxItems: 1 127 128examples: 129 - | 130 #include <dt-bindings/interrupt-controller/irq.h> 131 #include <dt-bindings/interrupt-controller/arm-gic.h> 132 #include <dt-bindings/soc/ti,sci_pm_domain.h> 133 134 gpu@fd00000 { 135 compatible = "ti,am62-gpu", "img,img-axe-1-16m", "img,img-axe", 136 "img,img-rogue"; 137 reg = <0x0fd00000 0x20000>; 138 clocks = <&k3_clks 187 0>; 139 clock-names = "core"; 140 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 141 power-domains = <&k3_pds 187 TI_SCI_PD_EXCLUSIVE>; 142 power-domain-names = "a"; 143 }; 144