18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Vivante GPU Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cidescription: Vivante GPU core devices
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_cimaintainers:
128c2ecf20Sopenharmony_ci  - Lucas Stach <l.stach@pengutronix.de>
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciproperties:
158c2ecf20Sopenharmony_ci  compatible:
168c2ecf20Sopenharmony_ci    const: vivante,gc
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci  reg:
198c2ecf20Sopenharmony_ci    maxItems: 1
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci  interrupts:
228c2ecf20Sopenharmony_ci    maxItems: 1
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci  '#cooling-cells':
258c2ecf20Sopenharmony_ci    const: 2
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci  assigned-clock-parents: true
288c2ecf20Sopenharmony_ci  assigned-clock-rates: true
298c2ecf20Sopenharmony_ci  assigned-clocks: true
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  clocks:
328c2ecf20Sopenharmony_ci    items:
338c2ecf20Sopenharmony_ci      - description: AXI/master interface clock
348c2ecf20Sopenharmony_ci      - description: GPU core clock
358c2ecf20Sopenharmony_ci      - description: Shader clock (only required if GPU has feature PIPE_3D)
368c2ecf20Sopenharmony_ci      - description: AHB/slave interface clock (only required if GPU can gate
378c2ecf20Sopenharmony_ci          slave interface independently)
388c2ecf20Sopenharmony_ci    minItems: 1
398c2ecf20Sopenharmony_ci    maxItems: 4
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  clock-names:
428c2ecf20Sopenharmony_ci    items:
438c2ecf20Sopenharmony_ci      enum: [ bus, core, shader, reg ]
448c2ecf20Sopenharmony_ci    minItems: 1
458c2ecf20Sopenharmony_ci    maxItems: 4
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  resets:
488c2ecf20Sopenharmony_ci    maxItems: 1
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  power-domains:
518c2ecf20Sopenharmony_ci    maxItems: 1
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_cirequired:
548c2ecf20Sopenharmony_ci  - compatible
558c2ecf20Sopenharmony_ci  - reg
568c2ecf20Sopenharmony_ci  - interrupts
578c2ecf20Sopenharmony_ci  - clocks
588c2ecf20Sopenharmony_ci  - clock-names
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciadditionalProperties: false
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ciexamples:
638c2ecf20Sopenharmony_ci  - |
648c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/imx6qdl-clock.h>
658c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
668c2ecf20Sopenharmony_ci    gpu@130000 {
678c2ecf20Sopenharmony_ci      compatible = "vivante,gc";
688c2ecf20Sopenharmony_ci      reg = <0x00130000 0x4000>;
698c2ecf20Sopenharmony_ci      interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
708c2ecf20Sopenharmony_ci      clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
718c2ecf20Sopenharmony_ci               <&clks IMX6QDL_CLK_GPU3D_CORE>,
728c2ecf20Sopenharmony_ci               <&clks IMX6QDL_CLK_GPU3D_SHADER>;
738c2ecf20Sopenharmony_ci      clock-names = "bus", "core", "shader";
748c2ecf20Sopenharmony_ci      power-domains = <&gpc 1>;
758c2ecf20Sopenharmony_ci    };
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci...
78