148 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/gpu/arm,mali-valhall-csf.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: ARM Mali Valhall GPU8 9maintainers:10 - Liviu Dudau <liviu.dudau@arm.com>11 - Boris Brezillon <boris.brezillon@collabora.com>12 13properties:14 $nodename:15 pattern: '^gpu@[a-f0-9]+$'16 17 compatible:18 oneOf:19 - items:20 - enum:21 - rockchip,rk3588-mali22 - const: arm,mali-valhall-csf # Mali Valhall GPU model/revision is fully discoverable23 24 reg:25 maxItems: 126 27 interrupts:28 items:29 - description: Job interrupt30 - description: MMU interrupt31 - description: GPU interrupt32 33 interrupt-names:34 items:35 - const: job36 - const: mmu37 - const: gpu38 39 clocks:40 minItems: 141 maxItems: 342 43 clock-names:44 minItems: 145 items:46 - const: core47 - const: coregroup48 - const: stacks49 50 mali-supply: true51 52 operating-points-v2: true53 opp-table:54 type: object55 56 power-domains:57 minItems: 158 maxItems: 559 60 power-domain-names:61 minItems: 162 maxItems: 563 64 sram-supply: true65 66 "#cooling-cells":67 const: 268 69 dynamic-power-coefficient:70 $ref: /schemas/types.yaml#/definitions/uint3271 description:72 A u32 value that represents the running time dynamic73 power coefficient in units of uW/MHz/V^2. The74 coefficient can either be calculated from power75 measurements or derived by analysis.76 77 The dynamic power consumption of the GPU is78 proportional to the square of the Voltage (V) and79 the clock frequency (f). The coefficient is used to80 calculate the dynamic power as below -81 82 Pdyn = dynamic-power-coefficient * V^2 * f83 84 where voltage is in V, frequency is in MHz.85 86 dma-coherent: true87 88required:89 - compatible90 - reg91 - interrupts92 - interrupt-names93 - clocks94 - mali-supply95 96additionalProperties: false97 98allOf:99 - if:100 properties:101 compatible:102 contains:103 const: rockchip,rk3588-mali104 then:105 properties:106 clocks:107 minItems: 3108 power-domains:109 maxItems: 1110 power-domain-names: false111 112examples:113 - |114 #include <dt-bindings/clock/rockchip,rk3588-cru.h>115 #include <dt-bindings/interrupt-controller/irq.h>116 #include <dt-bindings/interrupt-controller/arm-gic.h>117 #include <dt-bindings/power/rk3588-power.h>118 119 gpu: gpu@fb000000 {120 compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";121 reg = <0xfb000000 0x200000>;122 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,123 <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,124 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;125 interrupt-names = "job", "mmu", "gpu";126 clock-names = "core", "coregroup", "stacks";127 clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,128 <&cru CLK_GPU_STACKS>;129 power-domains = <&power RK3588_PD_GPU>;130 operating-points-v2 = <&gpu_opp_table>;131 mali-supply = <&vdd_gpu_s0>;132 sram-supply = <&vdd_gpu_mem_s0>;133 134 gpu_opp_table: opp-table {135 compatible = "operating-points-v2";136 opp-300000000 {137 opp-hz = /bits/ 64 <300000000>;138 opp-microvolt = <675000 675000 850000>;139 };140 opp-400000000 {141 opp-hz = /bits/ 64 <400000000>;142 opp-microvolt = <675000 675000 850000>;143 };144 };145 };146 147...148