mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
196 lines
4.3 KiB
196 lines
4.3 KiB
# SPDX-License-Identifier: GPL-2.0-only |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/gpu/arm,mali-midgard.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: ARM Mali Midgard GPU |
|
|
|
maintainers: |
|
- Rob Herring <[email protected]> |
|
|
|
properties: |
|
$nodename: |
|
pattern: '^gpu@[a-f0-9]+$' |
|
compatible: |
|
oneOf: |
|
- items: |
|
- enum: |
|
- samsung,exynos5250-mali |
|
- const: arm,mali-t604 |
|
- items: |
|
- enum: |
|
- samsung,exynos5420-mali |
|
- const: arm,mali-t628 |
|
- items: |
|
- enum: |
|
- allwinner,sun50i-h6-mali |
|
- const: arm,mali-t720 |
|
- items: |
|
- enum: |
|
- amlogic,meson-gxm-mali |
|
- realtek,rtd1295-mali |
|
- const: arm,mali-t820 |
|
- items: |
|
- enum: |
|
- arm,juno-mali |
|
- const: arm,mali-t624 |
|
- items: |
|
- enum: |
|
- rockchip,rk3288-mali |
|
- samsung,exynos5433-mali |
|
- const: arm,mali-t760 |
|
- items: |
|
- enum: |
|
- rockchip,rk3399-mali |
|
- const: arm,mali-t860 |
|
|
|
# "arm,mali-t830" |
|
# "arm,mali-t880" |
|
|
|
reg: |
|
maxItems: 1 |
|
|
|
interrupts: |
|
items: |
|
- description: Job interrupt |
|
- description: MMU interrupt |
|
- description: GPU interrupt |
|
|
|
interrupt-names: |
|
items: |
|
- const: job |
|
- const: mmu |
|
- const: gpu |
|
|
|
clocks: |
|
minItems: 1 |
|
maxItems: 2 |
|
|
|
clock-names: |
|
minItems: 1 |
|
items: |
|
- const: core |
|
- const: bus |
|
|
|
mali-supply: true |
|
opp-table: true |
|
|
|
power-domains: |
|
maxItems: 1 |
|
|
|
resets: |
|
minItems: 1 |
|
maxItems: 2 |
|
|
|
operating-points-v2: true |
|
|
|
"#cooling-cells": |
|
const: 2 |
|
|
|
dma-coherent: true |
|
|
|
dynamic-power-coefficient: |
|
$ref: '/schemas/types.yaml#/definitions/uint32' |
|
description: |
|
A u32 value that represents the running time dynamic |
|
power coefficient in units of uW/MHz/V^2. The |
|
coefficient can either be calculated from power |
|
measurements or derived by analysis. |
|
|
|
The dynamic power consumption of the GPU is |
|
proportional to the square of the Voltage (V) and |
|
the clock frequency (f). The coefficient is used to |
|
calculate the dynamic power as below - |
|
|
|
Pdyn = dynamic-power-coefficient * V^2 * f |
|
|
|
where voltage is in V, frequency is in MHz. |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- interrupts |
|
- interrupt-names |
|
- clocks |
|
|
|
additionalProperties: false |
|
|
|
allOf: |
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: allwinner,sun50i-h6-mali |
|
then: |
|
properties: |
|
clocks: |
|
minItems: 2 |
|
required: |
|
- clock-names |
|
- resets |
|
- if: |
|
properties: |
|
compatible: |
|
contains: |
|
const: amlogic,meson-gxm-mali |
|
then: |
|
properties: |
|
resets: |
|
minItems: 2 |
|
required: |
|
- resets |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/interrupt-controller/irq.h> |
|
#include <dt-bindings/interrupt-controller/arm-gic.h> |
|
|
|
gpu@ffa30000 { |
|
compatible = "rockchip,rk3288-mali", "arm,mali-t760"; |
|
reg = <0xffa30000 0x10000>; |
|
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, |
|
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, |
|
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; |
|
interrupt-names = "job", "mmu", "gpu"; |
|
clocks = <&cru 0>; |
|
mali-supply = <&vdd_gpu>; |
|
operating-points-v2 = <&gpu_opp_table>; |
|
power-domains = <&power 0>; |
|
#cooling-cells = <2>; |
|
}; |
|
|
|
gpu_opp_table: opp-table { |
|
compatible = "operating-points-v2"; |
|
|
|
opp-533000000 { |
|
opp-hz = /bits/ 64 <533000000>; |
|
opp-microvolt = <1250000>; |
|
}; |
|
opp-450000000 { |
|
opp-hz = /bits/ 64 <450000000>; |
|
opp-microvolt = <1150000>; |
|
}; |
|
opp-400000000 { |
|
opp-hz = /bits/ 64 <400000000>; |
|
opp-microvolt = <1125000>; |
|
}; |
|
opp-350000000 { |
|
opp-hz = /bits/ 64 <350000000>; |
|
opp-microvolt = <1075000>; |
|
}; |
|
opp-266000000 { |
|
opp-hz = /bits/ 64 <266000000>; |
|
opp-microvolt = <1025000>; |
|
}; |
|
opp-160000000 { |
|
opp-hz = /bits/ 64 <160000000>; |
|
opp-microvolt = <925000>; |
|
}; |
|
opp-100000000 { |
|
opp-hz = /bits/ 64 <100000000>; |
|
opp-microvolt = <912500>; |
|
}; |
|
}; |
|
|
|
...
|
|
|