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