1# SPDX-License-Identifier: GPL-2.0-only 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpu/arm,mali-midgard.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: ARM Mali Midgard GPU 8 9maintainers: 10 - Rob Herring <robh@kernel.org> 11 12properties: 13 $nodename: 14 pattern: '^gpu@[a-f0-9]+$' 15 compatible: 16 oneOf: 17 - items: 18 - enum: 19 - samsung,exynos5250-mali 20 - const: arm,mali-t604 21 - items: 22 - enum: 23 - samsung,exynos5420-mali 24 - const: arm,mali-t628 25 - items: 26 - enum: 27 - allwinner,sun50i-h6-mali 28 - const: arm,mali-t720 29 - items: 30 - enum: 31 - amlogic,meson-gxm-mali 32 - realtek,rtd1295-mali 33 - const: arm,mali-t820 34 - items: 35 - enum: 36 - arm,juno-mali 37 - const: arm,mali-t624 38 - items: 39 - enum: 40 - rockchip,rk3288-mali 41 - samsung,exynos5433-mali 42 - const: arm,mali-t760 43 - items: 44 - enum: 45 - rockchip,rk3399-mali 46 - const: arm,mali-t860 47 48 # "arm,mali-t830" 49 # "arm,mali-t880" 50 51 reg: 52 maxItems: 1 53 54 interrupts: 55 items: 56 - description: Job interrupt 57 - description: MMU interrupt 58 - description: GPU interrupt 59 60 interrupt-names: 61 items: 62 - const: job 63 - const: mmu 64 - const: gpu 65 66 clocks: 67 minItems: 1 68 maxItems: 2 69 70 clock-names: 71 minItems: 1 72 items: 73 - const: core 74 - const: bus 75 76 mali-supply: true 77 78 power-domains: 79 maxItems: 1 80 81 resets: 82 minItems: 1 83 maxItems: 2 84 85 operating-points-v2: true 86 87 "#cooling-cells": 88 const: 2 89 90 dma-coherent: true 91 92required: 93 - compatible 94 - reg 95 - interrupts 96 - interrupt-names 97 - clocks 98 99additionalProperties: false 100 101allOf: 102 - if: 103 properties: 104 compatible: 105 contains: 106 const: allwinner,sun50i-h6-mali 107 then: 108 properties: 109 clocks: 110 minItems: 2 111 required: 112 - clock-names 113 - resets 114 - if: 115 properties: 116 compatible: 117 contains: 118 const: amlogic,meson-gxm-mali 119 then: 120 properties: 121 resets: 122 minItems: 2 123 required: 124 - resets 125 126examples: 127 - | 128 #include <dt-bindings/interrupt-controller/irq.h> 129 #include <dt-bindings/interrupt-controller/arm-gic.h> 130 131 gpu@ffa30000 { 132 compatible = "rockchip,rk3288-mali", "arm,mali-t760"; 133 reg = <0xffa30000 0x10000>; 134 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 135 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 136 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 137 interrupt-names = "job", "mmu", "gpu"; 138 clocks = <&cru 0>; 139 mali-supply = <&vdd_gpu>; 140 operating-points-v2 = <&gpu_opp_table>; 141 power-domains = <&power 0>; 142 #cooling-cells = <2>; 143 }; 144 145 gpu_opp_table: opp_table0 { 146 compatible = "operating-points-v2"; 147 148 opp-533000000 { 149 opp-hz = /bits/ 64 <533000000>; 150 opp-microvolt = <1250000>; 151 }; 152 opp-450000000 { 153 opp-hz = /bits/ 64 <450000000>; 154 opp-microvolt = <1150000>; 155 }; 156 opp-400000000 { 157 opp-hz = /bits/ 64 <400000000>; 158 opp-microvolt = <1125000>; 159 }; 160 opp-350000000 { 161 opp-hz = /bits/ 64 <350000000>; 162 opp-microvolt = <1075000>; 163 }; 164 opp-266000000 { 165 opp-hz = /bits/ 64 <266000000>; 166 opp-microvolt = <1025000>; 167 }; 168 opp-160000000 { 169 opp-hz = /bits/ 64 <160000000>; 170 opp-microvolt = <925000>; 171 }; 172 opp-100000000 { 173 opp-hz = /bits/ 64 <100000000>; 174 opp-microvolt = <912500>; 175 }; 176 }; 177 178... 179