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 opp-table: true 78 79 power-domains: 80 maxItems: 1 81 82 resets: 83 minItems: 1 84 maxItems: 2 85 86 operating-points-v2: true 87 88 "#cooling-cells": 89 const: 2 90 91 dma-coherent: true 92 93required: 94 - compatible 95 - reg 96 - interrupts 97 - interrupt-names 98 - clocks 99 100additionalProperties: false 101 102allOf: 103 - if: 104 properties: 105 compatible: 106 contains: 107 const: allwinner,sun50i-h6-mali 108 then: 109 properties: 110 clocks: 111 minItems: 2 112 required: 113 - clock-names 114 - resets 115 - if: 116 properties: 117 compatible: 118 contains: 119 const: amlogic,meson-gxm-mali 120 then: 121 properties: 122 resets: 123 minItems: 2 124 required: 125 - resets 126 127examples: 128 - | 129 #include <dt-bindings/interrupt-controller/irq.h> 130 #include <dt-bindings/interrupt-controller/arm-gic.h> 131 132 gpu@ffa30000 { 133 compatible = "rockchip,rk3288-mali", "arm,mali-t760"; 134 reg = <0xffa30000 0x10000>; 135 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 136 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 137 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 138 interrupt-names = "job", "mmu", "gpu"; 139 clocks = <&cru 0>; 140 mali-supply = <&vdd_gpu>; 141 operating-points-v2 = <&gpu_opp_table>; 142 power-domains = <&power 0>; 143 #cooling-cells = <2>; 144 }; 145 146 gpu_opp_table: opp_table0 { 147 compatible = "operating-points-v2"; 148 149 opp-533000000 { 150 opp-hz = /bits/ 64 <533000000>; 151 opp-microvolt = <1250000>; 152 }; 153 opp-450000000 { 154 opp-hz = /bits/ 64 <450000000>; 155 opp-microvolt = <1150000>; 156 }; 157 opp-400000000 { 158 opp-hz = /bits/ 64 <400000000>; 159 opp-microvolt = <1125000>; 160 }; 161 opp-350000000 { 162 opp-hz = /bits/ 64 <350000000>; 163 opp-microvolt = <1075000>; 164 }; 165 opp-266000000 { 166 opp-hz = /bits/ 64 <266000000>; 167 opp-microvolt = <1025000>; 168 }; 169 opp-160000000 { 170 opp-hz = /bits/ 64 <160000000>; 171 opp-microvolt = <925000>; 172 }; 173 opp-100000000 { 174 opp-hz = /bits/ 64 <100000000>; 175 opp-microvolt = <912500>; 176 }; 177 }; 178 179... 180