| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- # 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 <robh@kernel.org>
- 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:
- - samsung,exynos7-mali
- - const: 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:
- type: object
- 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>;
- };
- };
- ...
|