Path: blob/main/sys/contrib/device-tree/Bindings/gpu/arm,mali-bifrost.yaml
48376 views
# SPDX-License-Identifier: GPL-2.0-only1%YAML 1.22---3$id: http://devicetree.org/schemas/gpu/arm,mali-bifrost.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: ARM Mali Bifrost GPU78maintainers:9- Rob Herring <robh@kernel.org>1011properties:12$nodename:13pattern: '^gpu@[a-f0-9]+$'1415compatible:16oneOf:17- items:18- enum:19- amlogic,meson-g12a-mali20- mediatek,mt8183-mali21- mediatek,mt8183b-mali22- mediatek,mt8186-mali23- realtek,rtd1619-mali24- renesas,r9a07g044-mali25- renesas,r9a07g054-mali26- rockchip,px30-mali27- rockchip,rk3568-mali28- const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable29- items:30- enum:31- mediatek,mt8195-mali32- const: mediatek,mt8192-mali33- const: arm,mali-valhall-jm # Mali Valhall GPU model/revision is fully discoverable34- items:35- enum:36- mediatek,mt8188-mali37- mediatek,mt8192-mali38- const: arm,mali-valhall-jm # Mali Valhall GPU model/revision is fully discoverable3940reg:41maxItems: 14243interrupts:44minItems: 345items:46- description: Job interrupt47- description: MMU interrupt48- description: GPU interrupt49- description: Event interrupt5051interrupt-names:52minItems: 353items:54- const: job55- const: mmu56- const: gpu57- const: event5859clocks:60minItems: 161maxItems: 36263clock-names: true6465mali-supply: true6667sram-supply: true6869operating-points-v2: true7071power-domains:72minItems: 173maxItems: 57475power-domain-names:76minItems: 277maxItems: 57879resets:80minItems: 181maxItems: 38283reset-names: true8485"#cooling-cells":86const: 28788dynamic-power-coefficient:89$ref: /schemas/types.yaml#/definitions/uint3290description:91A u32 value that represents the running time dynamic92power coefficient in units of uW/MHz/V^2. The93coefficient can either be calculated from power94measurements or derived by analysis.9596The dynamic power consumption of the GPU is97proportional to the square of the Voltage (V) and98the clock frequency (f). The coefficient is used to99calculate the dynamic power as below -100101Pdyn = dynamic-power-coefficient * V^2 * f102103where voltage is in V, frequency is in MHz.104105dma-coherent: true106107nvmem-cell-names:108items:109- const: speed-bin110111nvmem-cells:112maxItems: 1113114required:115- compatible116- reg117- interrupts118- interrupt-names119- clocks120121additionalProperties: false122123allOf:124- if:125properties:126compatible:127contains:128const: amlogic,meson-g12a-mali129then:130properties:131power-domains:132maxItems: 1133power-domain-names: false134required:135- resets136- if:137properties:138compatible:139contains:140enum:141- renesas,r9a07g044-mali142- renesas,r9a07g054-mali143then:144properties:145interrupts:146minItems: 4147interrupt-names:148minItems: 4149clocks:150minItems: 3151clock-names:152items:153- const: gpu154- const: bus155- const: bus_ace156power-domains:157maxItems: 1158power-domain-names: false159resets:160minItems: 3161reset-names:162items:163- const: rst164- const: axi_rst165- const: ace_rst166required:167- clock-names168- power-domains169- resets170- reset-names171- if:172properties:173compatible:174contains:175const: mediatek,mt8183-mali176then:177properties:178power-domains:179minItems: 3180maxItems: 3181power-domain-names:182items:183- const: core0184- const: core1185- const: core2186187required:188- sram-supply189- power-domains190- power-domain-names191else:192properties:193sram-supply: false194- if:195properties:196compatible:197contains:198enum:199- mediatek,mt8183b-mali200- mediatek,mt8188-mali201then:202properties:203power-domains:204minItems: 3205maxItems: 3206power-domain-names:207items:208- const: core0209- const: core1210- const: core2211required:212- power-domains213- power-domain-names214- if:215properties:216compatible:217contains:218const: mediatek,mt8186-mali219then:220properties:221power-domains:222minItems: 2223maxItems: 2224power-domain-names:225items:226- const: core0227- const: core1228required:229- power-domains230- power-domain-names231- if:232properties:233compatible:234contains:235const: mediatek,mt8192-mali236then:237properties:238power-domains:239minItems: 5240power-domain-names:241items:242- const: core0243- const: core1244- const: core2245- const: core3246- const: core4247required:248- power-domains249- power-domain-names250- if:251properties:252compatible:253contains:254const: rockchip,rk3568-mali255then:256properties:257clocks:258minItems: 2259clock-names:260items:261- const: gpu262- const: bus263power-domains:264maxItems: 1265power-domain-names: false266required:267- clock-names268269examples:270- |271#include <dt-bindings/interrupt-controller/irq.h>272#include <dt-bindings/interrupt-controller/arm-gic.h>273274gpu@ffe40000 {275compatible = "amlogic,meson-g12a-mali", "arm,mali-bifrost";276reg = <0xffe40000 0x10000>;277interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,278<GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,279<GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;280interrupt-names = "job", "mmu", "gpu";281clocks = <&clk 1>;282mali-supply = <&vdd_gpu>;283operating-points-v2 = <&gpu_opp_table>;284resets = <&reset 0>, <&reset 1>;285};286287gpu_opp_table: opp-table {288compatible = "operating-points-v2";289290opp-533000000 {291opp-hz = /bits/ 64 <533000000>;292opp-microvolt = <1250000>;293};294opp-450000000 {295opp-hz = /bits/ 64 <450000000>;296opp-microvolt = <1150000>;297};298opp-400000000 {299opp-hz = /bits/ 64 <400000000>;300opp-microvolt = <1125000>;301};302opp-350000000 {303opp-hz = /bits/ 64 <350000000>;304opp-microvolt = <1075000>;305};306opp-266000000 {307opp-hz = /bits/ 64 <266000000>;308opp-microvolt = <1025000>;309};310opp-160000000 {311opp-hz = /bits/ 64 <160000000>;312opp-microvolt = <925000>;313};314opp-100000000 {315opp-hz = /bits/ 64 <100000000>;316opp-microvolt = <912500>;317};318};319320...321322323