18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/gpu/arm,mali-midgard.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: ARM Mali Midgard GPU
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Rob Herring <robh@kernel.org>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  $nodename:
148c2ecf20Sopenharmony_ci    pattern: '^gpu@[a-f0-9]+$'
158c2ecf20Sopenharmony_ci  compatible:
168c2ecf20Sopenharmony_ci    oneOf:
178c2ecf20Sopenharmony_ci      - items:
188c2ecf20Sopenharmony_ci          - enum:
198c2ecf20Sopenharmony_ci              - samsung,exynos5250-mali
208c2ecf20Sopenharmony_ci          - const: arm,mali-t604
218c2ecf20Sopenharmony_ci      - items:
228c2ecf20Sopenharmony_ci          - enum:
238c2ecf20Sopenharmony_ci              - samsung,exynos5420-mali
248c2ecf20Sopenharmony_ci          - const: arm,mali-t628
258c2ecf20Sopenharmony_ci      - items:
268c2ecf20Sopenharmony_ci          - enum:
278c2ecf20Sopenharmony_ci              - allwinner,sun50i-h6-mali
288c2ecf20Sopenharmony_ci          - const: arm,mali-t720
298c2ecf20Sopenharmony_ci      - items:
308c2ecf20Sopenharmony_ci          - enum:
318c2ecf20Sopenharmony_ci              - amlogic,meson-gxm-mali
328c2ecf20Sopenharmony_ci              - realtek,rtd1295-mali
338c2ecf20Sopenharmony_ci          - const: arm,mali-t820
348c2ecf20Sopenharmony_ci      - items:
358c2ecf20Sopenharmony_ci          - enum:
368c2ecf20Sopenharmony_ci              - arm,juno-mali
378c2ecf20Sopenharmony_ci          - const: arm,mali-t624
388c2ecf20Sopenharmony_ci      - items:
398c2ecf20Sopenharmony_ci          - enum:
408c2ecf20Sopenharmony_ci              - rockchip,rk3288-mali
418c2ecf20Sopenharmony_ci              - samsung,exynos5433-mali
428c2ecf20Sopenharmony_ci          - const: arm,mali-t760
438c2ecf20Sopenharmony_ci      - items:
448c2ecf20Sopenharmony_ci          - enum:
458c2ecf20Sopenharmony_ci              - rockchip,rk3399-mali
468c2ecf20Sopenharmony_ci          - const: arm,mali-t860
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci          # "arm,mali-t830"
498c2ecf20Sopenharmony_ci          # "arm,mali-t880"
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  reg:
528c2ecf20Sopenharmony_ci    maxItems: 1
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci  interrupts:
558c2ecf20Sopenharmony_ci    items:
568c2ecf20Sopenharmony_ci      - description: Job interrupt
578c2ecf20Sopenharmony_ci      - description: MMU interrupt
588c2ecf20Sopenharmony_ci      - description: GPU interrupt
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ci  interrupt-names:
618c2ecf20Sopenharmony_ci    items:
628c2ecf20Sopenharmony_ci      - const: job
638c2ecf20Sopenharmony_ci      - const: mmu
648c2ecf20Sopenharmony_ci      - const: gpu
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci  clocks:
678c2ecf20Sopenharmony_ci    minItems: 1
688c2ecf20Sopenharmony_ci    maxItems: 2
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci  clock-names:
718c2ecf20Sopenharmony_ci    minItems: 1
728c2ecf20Sopenharmony_ci    items:
738c2ecf20Sopenharmony_ci      - const: core
748c2ecf20Sopenharmony_ci      - const: bus
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci  mali-supply: true
778c2ecf20Sopenharmony_ci  opp-table: true
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci  power-domains:
808c2ecf20Sopenharmony_ci    maxItems: 1
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci  resets:
838c2ecf20Sopenharmony_ci    minItems: 1
848c2ecf20Sopenharmony_ci    maxItems: 2
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci  operating-points-v2: true
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci  "#cooling-cells":
898c2ecf20Sopenharmony_ci    const: 2
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ci  dma-coherent: true
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_cirequired:
948c2ecf20Sopenharmony_ci  - compatible
958c2ecf20Sopenharmony_ci  - reg
968c2ecf20Sopenharmony_ci  - interrupts
978c2ecf20Sopenharmony_ci  - interrupt-names
988c2ecf20Sopenharmony_ci  - clocks
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ciadditionalProperties: false
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ciallOf:
1038c2ecf20Sopenharmony_ci  - if:
1048c2ecf20Sopenharmony_ci      properties:
1058c2ecf20Sopenharmony_ci        compatible:
1068c2ecf20Sopenharmony_ci          contains:
1078c2ecf20Sopenharmony_ci            const: allwinner,sun50i-h6-mali
1088c2ecf20Sopenharmony_ci    then:
1098c2ecf20Sopenharmony_ci      properties:
1108c2ecf20Sopenharmony_ci        clocks:
1118c2ecf20Sopenharmony_ci          minItems: 2
1128c2ecf20Sopenharmony_ci      required:
1138c2ecf20Sopenharmony_ci        - clock-names
1148c2ecf20Sopenharmony_ci        - resets
1158c2ecf20Sopenharmony_ci  - if:
1168c2ecf20Sopenharmony_ci      properties:
1178c2ecf20Sopenharmony_ci        compatible:
1188c2ecf20Sopenharmony_ci          contains:
1198c2ecf20Sopenharmony_ci            const: amlogic,meson-gxm-mali
1208c2ecf20Sopenharmony_ci    then:
1218c2ecf20Sopenharmony_ci      properties:
1228c2ecf20Sopenharmony_ci        resets:
1238c2ecf20Sopenharmony_ci          minItems: 2
1248c2ecf20Sopenharmony_ci      required:
1258c2ecf20Sopenharmony_ci        - resets
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ciexamples:
1288c2ecf20Sopenharmony_ci  - |
1298c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
1308c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ci    gpu@ffa30000 {
1338c2ecf20Sopenharmony_ci      compatible = "rockchip,rk3288-mali", "arm,mali-t760";
1348c2ecf20Sopenharmony_ci      reg = <0xffa30000 0x10000>;
1358c2ecf20Sopenharmony_ci      interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
1368c2ecf20Sopenharmony_ci             <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
1378c2ecf20Sopenharmony_ci             <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1388c2ecf20Sopenharmony_ci      interrupt-names = "job", "mmu", "gpu";
1398c2ecf20Sopenharmony_ci      clocks = <&cru 0>;
1408c2ecf20Sopenharmony_ci      mali-supply = <&vdd_gpu>;
1418c2ecf20Sopenharmony_ci      operating-points-v2 = <&gpu_opp_table>;
1428c2ecf20Sopenharmony_ci      power-domains = <&power 0>;
1438c2ecf20Sopenharmony_ci      #cooling-cells = <2>;
1448c2ecf20Sopenharmony_ci    };
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci    gpu_opp_table: opp_table0 {
1478c2ecf20Sopenharmony_ci      compatible = "operating-points-v2";
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ci      opp-533000000 {
1508c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <533000000>;
1518c2ecf20Sopenharmony_ci        opp-microvolt = <1250000>;
1528c2ecf20Sopenharmony_ci      };
1538c2ecf20Sopenharmony_ci      opp-450000000 {
1548c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <450000000>;
1558c2ecf20Sopenharmony_ci        opp-microvolt = <1150000>;
1568c2ecf20Sopenharmony_ci      };
1578c2ecf20Sopenharmony_ci      opp-400000000 {
1588c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <400000000>;
1598c2ecf20Sopenharmony_ci        opp-microvolt = <1125000>;
1608c2ecf20Sopenharmony_ci      };
1618c2ecf20Sopenharmony_ci      opp-350000000 {
1628c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <350000000>;
1638c2ecf20Sopenharmony_ci        opp-microvolt = <1075000>;
1648c2ecf20Sopenharmony_ci      };
1658c2ecf20Sopenharmony_ci      opp-266000000 {
1668c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <266000000>;
1678c2ecf20Sopenharmony_ci        opp-microvolt = <1025000>;
1688c2ecf20Sopenharmony_ci      };
1698c2ecf20Sopenharmony_ci      opp-160000000 {
1708c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <160000000>;
1718c2ecf20Sopenharmony_ci        opp-microvolt = <925000>;
1728c2ecf20Sopenharmony_ci      };
1738c2ecf20Sopenharmony_ci      opp-100000000 {
1748c2ecf20Sopenharmony_ci        opp-hz = /bits/ 64 <100000000>;
1758c2ecf20Sopenharmony_ci        opp-microvolt = <912500>;
1768c2ecf20Sopenharmony_ci      };
1778c2ecf20Sopenharmony_ci    };
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci...
180