1842b4aecSRob Herring# SPDX-License-Identifier: GPL-2.0-only 2842b4aecSRob Herring%YAML 1.2 3842b4aecSRob Herring--- 4842b4aecSRob Herring$id: http://devicetree.org/schemas/gpu/arm,mali-bifrost.yaml# 5842b4aecSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6842b4aecSRob Herring 7842b4aecSRob Herringtitle: ARM Mali Bifrost GPU 8842b4aecSRob Herring 9842b4aecSRob Herringmaintainers: 10842b4aecSRob Herring - Rob Herring <robh@kernel.org> 11842b4aecSRob Herring 12842b4aecSRob Herringproperties: 13842b4aecSRob Herring $nodename: 14842b4aecSRob Herring pattern: '^gpu@[a-f0-9]+$' 15842b4aecSRob Herring 16842b4aecSRob Herring compatible: 175d82e74aSAlyssa Rosenzweig oneOf: 185d82e74aSAlyssa Rosenzweig - items: 19842b4aecSRob Herring - enum: 20842b4aecSRob Herring - amlogic,meson-g12a-mali 21a7a596cdSNicolas Boichat - mediatek,mt8183-mali 221f03cb1bSAngeloGioacchino Del Regno - mediatek,mt8183b-mali 230b2cf514SAngeloGioacchino Del Regno - mediatek,mt8186-mali 240211b71cSAndreas Färber - realtek,rtd1619-mali 25570df0a5SBiju Das - renesas,r9a07g044-mali 265dc6ce76SLad Prabhakar - renesas,r9a07g054-mali 27ad848dd5SHeiko Stuebner - rockchip,px30-mali 2851ca8fcbSEzequiel Garcia - rockchip,rk3568-mali 29842b4aecSRob Herring - const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable 305d82e74aSAlyssa Rosenzweig - items: 315d82e74aSAlyssa Rosenzweig - enum: 322ade2830SAngeloGioacchino Del Regno - mediatek,mt8195-mali 332ade2830SAngeloGioacchino Del Regno - const: mediatek,mt8192-mali 342ade2830SAngeloGioacchino Del Regno - const: arm,mali-valhall-jm # Mali Valhall GPU model/revision is fully discoverable 352ade2830SAngeloGioacchino Del Regno - items: 362ade2830SAngeloGioacchino Del Regno - enum: 375d82e74aSAlyssa Rosenzweig - mediatek,mt8192-mali 385d82e74aSAlyssa Rosenzweig - const: arm,mali-valhall-jm # Mali Valhall GPU model/revision is fully discoverable 39842b4aecSRob Herring 40842b4aecSRob Herring reg: 41842b4aecSRob Herring maxItems: 1 42842b4aecSRob Herring 43842b4aecSRob Herring interrupts: 44570df0a5SBiju Das minItems: 3 45842b4aecSRob Herring items: 46842b4aecSRob Herring - description: Job interrupt 47842b4aecSRob Herring - description: MMU interrupt 48842b4aecSRob Herring - description: GPU interrupt 49570df0a5SBiju Das - description: Event interrupt 50842b4aecSRob Herring 51842b4aecSRob Herring interrupt-names: 52570df0a5SBiju Das minItems: 3 53842b4aecSRob Herring items: 54842b4aecSRob Herring - const: job 55842b4aecSRob Herring - const: mmu 56842b4aecSRob Herring - const: gpu 57570df0a5SBiju Das - const: event 58842b4aecSRob Herring 59842b4aecSRob Herring clocks: 60570df0a5SBiju Das minItems: 1 61570df0a5SBiju Das maxItems: 3 62570df0a5SBiju Das 63570df0a5SBiju Das clock-names: true 64842b4aecSRob Herring 65f3dde260SRob Herring mali-supply: true 66842b4aecSRob Herring 67a7a596cdSNicolas Boichat sram-supply: true 68a7a596cdSNicolas Boichat 69842b4aecSRob Herring operating-points-v2: true 70842b4aecSRob Herring 712c905f6cSJohan Jonker power-domains: 72a7a596cdSNicolas Boichat minItems: 1 73eccda274SAngeloGioacchino Del Regno maxItems: 5 742c905f6cSJohan Jonker 75aeb73790SAngeloGioacchino Del Regno power-domain-names: 76aeb73790SAngeloGioacchino Del Regno minItems: 2 77aeb73790SAngeloGioacchino Del Regno maxItems: 5 78aeb73790SAngeloGioacchino Del Regno 790d9a302dSRob Herring resets: 80570df0a5SBiju Das minItems: 1 81570df0a5SBiju Das maxItems: 3 82570df0a5SBiju Das 83570df0a5SBiju Das reset-names: true 840d9a302dSRob Herring 852c905f6cSJohan Jonker "#cooling-cells": 862c905f6cSJohan Jonker const: 2 872c905f6cSJohan Jonker 88e33dc2f3SLukasz Luba dynamic-power-coefficient: 89e33dc2f3SLukasz Luba $ref: '/schemas/types.yaml#/definitions/uint32' 90e33dc2f3SLukasz Luba description: 91e33dc2f3SLukasz Luba A u32 value that represents the running time dynamic 92e33dc2f3SLukasz Luba power coefficient in units of uW/MHz/V^2. The 93e33dc2f3SLukasz Luba coefficient can either be calculated from power 94e33dc2f3SLukasz Luba measurements or derived by analysis. 95e33dc2f3SLukasz Luba 96e33dc2f3SLukasz Luba The dynamic power consumption of the GPU is 97e33dc2f3SLukasz Luba proportional to the square of the Voltage (V) and 98e33dc2f3SLukasz Luba the clock frequency (f). The coefficient is used to 99e33dc2f3SLukasz Luba calculate the dynamic power as below - 100e33dc2f3SLukasz Luba 101e33dc2f3SLukasz Luba Pdyn = dynamic-power-coefficient * V^2 * f 102e33dc2f3SLukasz Luba 103e33dc2f3SLukasz Luba where voltage is in V, frequency is in MHz. 104e33dc2f3SLukasz Luba 1053f9a3345SKevin Hilman dma-coherent: true 1063f9a3345SKevin Hilman 107*191308baSAngeloGioacchino Del Regno nvmem-cell-names: 108*191308baSAngeloGioacchino Del Regno items: 109*191308baSAngeloGioacchino Del Regno - const: speed-bin 110*191308baSAngeloGioacchino Del Regno 111*191308baSAngeloGioacchino Del Regno nvmem-cells: 112*191308baSAngeloGioacchino Del Regno maxItems: 1 113*191308baSAngeloGioacchino Del Regno 114842b4aecSRob Herringrequired: 115842b4aecSRob Herring - compatible 116842b4aecSRob Herring - reg 117842b4aecSRob Herring - interrupts 118842b4aecSRob Herring - interrupt-names 119842b4aecSRob Herring - clocks 120842b4aecSRob Herring 1217f464532SRob HerringadditionalProperties: false 1227f464532SRob Herring 123842b4aecSRob HerringallOf: 124842b4aecSRob Herring - if: 125842b4aecSRob Herring properties: 126842b4aecSRob Herring compatible: 127842b4aecSRob Herring contains: 128842b4aecSRob Herring const: amlogic,meson-g12a-mali 129842b4aecSRob Herring then: 130e82b8453SAngeloGioacchino Del Regno properties: 131e82b8453SAngeloGioacchino Del Regno power-domains: 132e82b8453SAngeloGioacchino Del Regno maxItems: 1 133aeb73790SAngeloGioacchino Del Regno power-domain-names: false 134842b4aecSRob Herring required: 135842b4aecSRob Herring - resets 136a7a596cdSNicolas Boichat - if: 137a7a596cdSNicolas Boichat properties: 138a7a596cdSNicolas Boichat compatible: 139a7a596cdSNicolas Boichat contains: 1405dc6ce76SLad Prabhakar enum: 1415dc6ce76SLad Prabhakar - renesas,r9a07g044-mali 1425dc6ce76SLad Prabhakar - renesas,r9a07g054-mali 143570df0a5SBiju Das then: 144570df0a5SBiju Das properties: 145570df0a5SBiju Das interrupts: 146570df0a5SBiju Das minItems: 4 147570df0a5SBiju Das interrupt-names: 148570df0a5SBiju Das minItems: 4 149570df0a5SBiju Das clocks: 150570df0a5SBiju Das minItems: 3 151570df0a5SBiju Das clock-names: 152570df0a5SBiju Das items: 153570df0a5SBiju Das - const: gpu 154570df0a5SBiju Das - const: bus 155570df0a5SBiju Das - const: bus_ace 156e82b8453SAngeloGioacchino Del Regno power-domains: 157e82b8453SAngeloGioacchino Del Regno maxItems: 1 158aeb73790SAngeloGioacchino Del Regno power-domain-names: false 159570df0a5SBiju Das resets: 160570df0a5SBiju Das minItems: 3 161570df0a5SBiju Das reset-names: 162570df0a5SBiju Das items: 163570df0a5SBiju Das - const: rst 164570df0a5SBiju Das - const: axi_rst 165570df0a5SBiju Das - const: ace_rst 166570df0a5SBiju Das required: 167570df0a5SBiju Das - clock-names 168570df0a5SBiju Das - power-domains 169570df0a5SBiju Das - resets 170570df0a5SBiju Das - reset-names 171570df0a5SBiju Das - if: 172570df0a5SBiju Das properties: 173570df0a5SBiju Das compatible: 174570df0a5SBiju Das contains: 175a7a596cdSNicolas Boichat const: mediatek,mt8183-mali 176a7a596cdSNicolas Boichat then: 177a7a596cdSNicolas Boichat properties: 178a7a596cdSNicolas Boichat power-domains: 179a7a596cdSNicolas Boichat minItems: 3 180eccda274SAngeloGioacchino Del Regno maxItems: 3 181a7a596cdSNicolas Boichat power-domain-names: 182a7a596cdSNicolas Boichat items: 183a7a596cdSNicolas Boichat - const: core0 184a7a596cdSNicolas Boichat - const: core1 185a7a596cdSNicolas Boichat - const: core2 186a7a596cdSNicolas Boichat 187a7a596cdSNicolas Boichat required: 188a7a596cdSNicolas Boichat - sram-supply 189a7a596cdSNicolas Boichat - power-domains 190a7a596cdSNicolas Boichat - power-domain-names 191a7a596cdSNicolas Boichat else: 192a7a596cdSNicolas Boichat properties: 193a7a596cdSNicolas Boichat sram-supply: false 194f1775c26SAlex Bee - if: 195f1775c26SAlex Bee properties: 196f1775c26SAlex Bee compatible: 197f1775c26SAlex Bee contains: 1981f03cb1bSAngeloGioacchino Del Regno const: mediatek,mt8183b-mali 1991f03cb1bSAngeloGioacchino Del Regno then: 2001f03cb1bSAngeloGioacchino Del Regno properties: 2011f03cb1bSAngeloGioacchino Del Regno power-domains: 2021f03cb1bSAngeloGioacchino Del Regno minItems: 3 2031f03cb1bSAngeloGioacchino Del Regno maxItems: 3 2041f03cb1bSAngeloGioacchino Del Regno power-domain-names: 2051f03cb1bSAngeloGioacchino Del Regno items: 2061f03cb1bSAngeloGioacchino Del Regno - const: core0 2071f03cb1bSAngeloGioacchino Del Regno - const: core1 2081f03cb1bSAngeloGioacchino Del Regno - const: core2 2091f03cb1bSAngeloGioacchino Del Regno required: 2101f03cb1bSAngeloGioacchino Del Regno - power-domains 2111f03cb1bSAngeloGioacchino Del Regno - power-domain-names 2121f03cb1bSAngeloGioacchino Del Regno - if: 2131f03cb1bSAngeloGioacchino Del Regno properties: 2141f03cb1bSAngeloGioacchino Del Regno compatible: 2151f03cb1bSAngeloGioacchino Del Regno contains: 2160b2cf514SAngeloGioacchino Del Regno const: mediatek,mt8186-mali 2170b2cf514SAngeloGioacchino Del Regno then: 2180b2cf514SAngeloGioacchino Del Regno properties: 2190b2cf514SAngeloGioacchino Del Regno power-domains: 2200b2cf514SAngeloGioacchino Del Regno minItems: 2 2210b2cf514SAngeloGioacchino Del Regno maxItems: 2 2220b2cf514SAngeloGioacchino Del Regno power-domain-names: 2230b2cf514SAngeloGioacchino Del Regno items: 2240b2cf514SAngeloGioacchino Del Regno - const: core0 2250b2cf514SAngeloGioacchino Del Regno - const: core1 2260b2cf514SAngeloGioacchino Del Regno required: 2270b2cf514SAngeloGioacchino Del Regno - power-domains 2280b2cf514SAngeloGioacchino Del Regno - power-domain-names 2290b2cf514SAngeloGioacchino Del Regno - if: 2300b2cf514SAngeloGioacchino Del Regno properties: 2310b2cf514SAngeloGioacchino Del Regno compatible: 2320b2cf514SAngeloGioacchino Del Regno contains: 23313a8fc8aSAngeloGioacchino Del Regno const: mediatek,mt8192-mali 23413a8fc8aSAngeloGioacchino Del Regno then: 23513a8fc8aSAngeloGioacchino Del Regno properties: 23613a8fc8aSAngeloGioacchino Del Regno power-domains: 23713a8fc8aSAngeloGioacchino Del Regno minItems: 5 23813a8fc8aSAngeloGioacchino Del Regno power-domain-names: 23913a8fc8aSAngeloGioacchino Del Regno items: 24013a8fc8aSAngeloGioacchino Del Regno - const: core0 24113a8fc8aSAngeloGioacchino Del Regno - const: core1 24213a8fc8aSAngeloGioacchino Del Regno - const: core2 24313a8fc8aSAngeloGioacchino Del Regno - const: core3 24413a8fc8aSAngeloGioacchino Del Regno - const: core4 24513a8fc8aSAngeloGioacchino Del Regno required: 24613a8fc8aSAngeloGioacchino Del Regno - power-domains 24713a8fc8aSAngeloGioacchino Del Regno - power-domain-names 24813a8fc8aSAngeloGioacchino Del Regno - if: 24913a8fc8aSAngeloGioacchino Del Regno properties: 25013a8fc8aSAngeloGioacchino Del Regno compatible: 25113a8fc8aSAngeloGioacchino Del Regno contains: 252f1775c26SAlex Bee const: rockchip,rk3568-mali 253f1775c26SAlex Bee then: 254f1775c26SAlex Bee properties: 255f1775c26SAlex Bee clocks: 256f1775c26SAlex Bee minItems: 2 257f1775c26SAlex Bee clock-names: 258f1775c26SAlex Bee items: 259f1775c26SAlex Bee - const: gpu 260f1775c26SAlex Bee - const: bus 261e82b8453SAngeloGioacchino Del Regno power-domains: 262e82b8453SAngeloGioacchino Del Regno maxItems: 1 263aeb73790SAngeloGioacchino Del Regno power-domain-names: false 264f1775c26SAlex Bee required: 265f1775c26SAlex Bee - clock-names 266842b4aecSRob Herring 267842b4aecSRob Herringexamples: 268842b4aecSRob Herring - | 269842b4aecSRob Herring #include <dt-bindings/interrupt-controller/irq.h> 270842b4aecSRob Herring #include <dt-bindings/interrupt-controller/arm-gic.h> 271842b4aecSRob Herring 272842b4aecSRob Herring gpu@ffe40000 { 273842b4aecSRob Herring compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost"; 274842b4aecSRob Herring reg = <0xffe40000 0x10000>; 275842b4aecSRob Herring interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 276842b4aecSRob Herring <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>, 277842b4aecSRob Herring <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>; 278842b4aecSRob Herring interrupt-names = "job", "mmu", "gpu"; 279842b4aecSRob Herring clocks = <&clk 1>; 280842b4aecSRob Herring mali-supply = <&vdd_gpu>; 281842b4aecSRob Herring operating-points-v2 = <&gpu_opp_table>; 282842b4aecSRob Herring resets = <&reset 0>, <&reset 1>; 283842b4aecSRob Herring }; 284842b4aecSRob Herring 28529fc7695SRob Herring gpu_opp_table: opp-table { 286842b4aecSRob Herring compatible = "operating-points-v2"; 287842b4aecSRob Herring 28851a21e0eSRob Herring opp-533000000 { 289842b4aecSRob Herring opp-hz = /bits/ 64 <533000000>; 290842b4aecSRob Herring opp-microvolt = <1250000>; 291842b4aecSRob Herring }; 29251a21e0eSRob Herring opp-450000000 { 293842b4aecSRob Herring opp-hz = /bits/ 64 <450000000>; 294842b4aecSRob Herring opp-microvolt = <1150000>; 295842b4aecSRob Herring }; 29651a21e0eSRob Herring opp-400000000 { 297842b4aecSRob Herring opp-hz = /bits/ 64 <400000000>; 298842b4aecSRob Herring opp-microvolt = <1125000>; 299842b4aecSRob Herring }; 30051a21e0eSRob Herring opp-350000000 { 301842b4aecSRob Herring opp-hz = /bits/ 64 <350000000>; 302842b4aecSRob Herring opp-microvolt = <1075000>; 303842b4aecSRob Herring }; 30451a21e0eSRob Herring opp-266000000 { 305842b4aecSRob Herring opp-hz = /bits/ 64 <266000000>; 306842b4aecSRob Herring opp-microvolt = <1025000>; 307842b4aecSRob Herring }; 30851a21e0eSRob Herring opp-160000000 { 309842b4aecSRob Herring opp-hz = /bits/ 64 <160000000>; 310842b4aecSRob Herring opp-microvolt = <925000>; 311842b4aecSRob Herring }; 31251a21e0eSRob Herring opp-100000000 { 313842b4aecSRob Herring opp-hz = /bits/ 64 <100000000>; 314842b4aecSRob Herring opp-microvolt = <912500>; 315842b4aecSRob Herring }; 316842b4aecSRob Herring }; 317842b4aecSRob Herring 318842b4aecSRob Herring... 319