1*842b4aecSRob Herring# SPDX-License-Identifier: GPL-2.0-only 2*842b4aecSRob Herring%YAML 1.2 3*842b4aecSRob Herring--- 4*842b4aecSRob Herring$id: http://devicetree.org/schemas/gpu/arm,mali-bifrost.yaml# 5*842b4aecSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6*842b4aecSRob Herring 7*842b4aecSRob Herringtitle: ARM Mali Bifrost GPU 8*842b4aecSRob Herring 9*842b4aecSRob Herringmaintainers: 10*842b4aecSRob Herring - Rob Herring <robh@kernel.org> 11*842b4aecSRob Herring 12*842b4aecSRob Herringproperties: 13*842b4aecSRob Herring $nodename: 14*842b4aecSRob Herring pattern: '^gpu@[a-f0-9]+$' 15*842b4aecSRob Herring 16*842b4aecSRob Herring compatible: 17*842b4aecSRob Herring items: 18*842b4aecSRob Herring - enum: 19*842b4aecSRob Herring - amlogic,meson-g12a-mali 20*842b4aecSRob Herring - const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable 21*842b4aecSRob Herring 22*842b4aecSRob Herring reg: 23*842b4aecSRob Herring maxItems: 1 24*842b4aecSRob Herring 25*842b4aecSRob Herring interrupts: 26*842b4aecSRob Herring items: 27*842b4aecSRob Herring - description: Job interrupt 28*842b4aecSRob Herring - description: MMU interrupt 29*842b4aecSRob Herring - description: GPU interrupt 30*842b4aecSRob Herring 31*842b4aecSRob Herring interrupt-names: 32*842b4aecSRob Herring items: 33*842b4aecSRob Herring - const: job 34*842b4aecSRob Herring - const: mmu 35*842b4aecSRob Herring - const: gpu 36*842b4aecSRob Herring 37*842b4aecSRob Herring clocks: 38*842b4aecSRob Herring maxItems: 1 39*842b4aecSRob Herring 40*842b4aecSRob Herring mali-supply: 41*842b4aecSRob Herring maxItems: 1 42*842b4aecSRob Herring 43*842b4aecSRob Herring operating-points-v2: true 44*842b4aecSRob Herring 45*842b4aecSRob Herringrequired: 46*842b4aecSRob Herring - compatible 47*842b4aecSRob Herring - reg 48*842b4aecSRob Herring - interrupts 49*842b4aecSRob Herring - interrupt-names 50*842b4aecSRob Herring - clocks 51*842b4aecSRob Herring 52*842b4aecSRob HerringallOf: 53*842b4aecSRob Herring - if: 54*842b4aecSRob Herring properties: 55*842b4aecSRob Herring compatible: 56*842b4aecSRob Herring contains: 57*842b4aecSRob Herring const: amlogic,meson-g12a-mali 58*842b4aecSRob Herring then: 59*842b4aecSRob Herring properties: 60*842b4aecSRob Herring resets: 61*842b4aecSRob Herring minItems: 2 62*842b4aecSRob Herring required: 63*842b4aecSRob Herring - resets 64*842b4aecSRob Herring 65*842b4aecSRob Herringexamples: 66*842b4aecSRob Herring - | 67*842b4aecSRob Herring #include <dt-bindings/interrupt-controller/irq.h> 68*842b4aecSRob Herring #include <dt-bindings/interrupt-controller/arm-gic.h> 69*842b4aecSRob Herring 70*842b4aecSRob Herring gpu@ffe40000 { 71*842b4aecSRob Herring compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost"; 72*842b4aecSRob Herring reg = <0xffe40000 0x10000>; 73*842b4aecSRob Herring interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 74*842b4aecSRob Herring <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 75*842b4aecSRob Herring <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 76*842b4aecSRob Herring interrupt-names = "job", "mmu", "gpu"; 77*842b4aecSRob Herring clocks = <&clk 1>; 78*842b4aecSRob Herring mali-supply = <&vdd_gpu>; 79*842b4aecSRob Herring operating-points-v2 = <&gpu_opp_table>; 80*842b4aecSRob Herring resets = <&reset 0>, <&reset 1>; 81*842b4aecSRob Herring }; 82*842b4aecSRob Herring 83*842b4aecSRob Herring gpu_opp_table: opp_table0 { 84*842b4aecSRob Herring compatible = "operating-points-v2"; 85*842b4aecSRob Herring 86*842b4aecSRob Herring opp@533000000 { 87*842b4aecSRob Herring opp-hz = /bits/ 64 <533000000>; 88*842b4aecSRob Herring opp-microvolt = <1250000>; 89*842b4aecSRob Herring }; 90*842b4aecSRob Herring opp@450000000 { 91*842b4aecSRob Herring opp-hz = /bits/ 64 <450000000>; 92*842b4aecSRob Herring opp-microvolt = <1150000>; 93*842b4aecSRob Herring }; 94*842b4aecSRob Herring opp@400000000 { 95*842b4aecSRob Herring opp-hz = /bits/ 64 <400000000>; 96*842b4aecSRob Herring opp-microvolt = <1125000>; 97*842b4aecSRob Herring }; 98*842b4aecSRob Herring opp@350000000 { 99*842b4aecSRob Herring opp-hz = /bits/ 64 <350000000>; 100*842b4aecSRob Herring opp-microvolt = <1075000>; 101*842b4aecSRob Herring }; 102*842b4aecSRob Herring opp@266000000 { 103*842b4aecSRob Herring opp-hz = /bits/ 64 <266000000>; 104*842b4aecSRob Herring opp-microvolt = <1025000>; 105*842b4aecSRob Herring }; 106*842b4aecSRob Herring opp@160000000 { 107*842b4aecSRob Herring opp-hz = /bits/ 64 <160000000>; 108*842b4aecSRob Herring opp-microvolt = <925000>; 109*842b4aecSRob Herring }; 110*842b4aecSRob Herring opp@100000000 { 111*842b4aecSRob Herring opp-hz = /bits/ 64 <100000000>; 112*842b4aecSRob Herring opp-microvolt = <912500>; 113*842b4aecSRob Herring }; 114*842b4aecSRob Herring }; 115*842b4aecSRob Herring 116*842b4aecSRob Herring... 117