190aeca87SBenjamin Gaignard# SPDX-License-Identifier: GPL-2.0
290aeca87SBenjamin Gaignard%YAML 1.2
390aeca87SBenjamin Gaignard---
490aeca87SBenjamin Gaignard$id: http://devicetree.org/schemas/gpu/vivante,gc.yaml#
590aeca87SBenjamin Gaignard$schema: http://devicetree.org/meta-schemas/core.yaml#
690aeca87SBenjamin Gaignard
7*84e85359SKrzysztof Kozlowskititle: Vivante GPU
890aeca87SBenjamin Gaignard
990aeca87SBenjamin Gaignarddescription: Vivante GPU core devices
1090aeca87SBenjamin Gaignard
1190aeca87SBenjamin Gaignardmaintainers:
1290aeca87SBenjamin Gaignard  - Lucas Stach <l.stach@pengutronix.de>
1390aeca87SBenjamin Gaignard
1490aeca87SBenjamin Gaignardproperties:
1590aeca87SBenjamin Gaignard  compatible:
1690aeca87SBenjamin Gaignard    const: vivante,gc
1790aeca87SBenjamin Gaignard
1890aeca87SBenjamin Gaignard  reg:
1990aeca87SBenjamin Gaignard    maxItems: 1
2090aeca87SBenjamin Gaignard
2190aeca87SBenjamin Gaignard  interrupts:
2290aeca87SBenjamin Gaignard    maxItems: 1
2390aeca87SBenjamin Gaignard
24feb39c74SKrzysztof Kozlowski  '#cooling-cells':
25feb39c74SKrzysztof Kozlowski    const: 2
26feb39c74SKrzysztof Kozlowski
27feb39c74SKrzysztof Kozlowski  assigned-clock-parents: true
28feb39c74SKrzysztof Kozlowski  assigned-clock-rates: true
29feb39c74SKrzysztof Kozlowski  assigned-clocks: true
30feb39c74SKrzysztof Kozlowski
3190aeca87SBenjamin Gaignard  clocks:
3290aeca87SBenjamin Gaignard    items:
3390aeca87SBenjamin Gaignard      - description: AXI/master interface clock
3490aeca87SBenjamin Gaignard      - description: GPU core clock
3590aeca87SBenjamin Gaignard      - description: Shader clock (only required if GPU has feature PIPE_3D)
36f516fb70SRob Herring      - description: AHB/slave interface clock (only required if GPU can gate
37f516fb70SRob Herring          slave interface independently)
3890aeca87SBenjamin Gaignard    minItems: 1
3990aeca87SBenjamin Gaignard
4090aeca87SBenjamin Gaignard  clock-names:
4190aeca87SBenjamin Gaignard    items:
4290aeca87SBenjamin Gaignard      enum: [ bus, core, shader, reg ]
4390aeca87SBenjamin Gaignard    minItems: 1
4490aeca87SBenjamin Gaignard    maxItems: 4
4590aeca87SBenjamin Gaignard
4690aeca87SBenjamin Gaignard  resets:
4790aeca87SBenjamin Gaignard    maxItems: 1
4890aeca87SBenjamin Gaignard
4990aeca87SBenjamin Gaignard  power-domains:
5090aeca87SBenjamin Gaignard    maxItems: 1
5190aeca87SBenjamin Gaignard
5290aeca87SBenjamin Gaignardrequired:
5390aeca87SBenjamin Gaignard  - compatible
5490aeca87SBenjamin Gaignard  - reg
5590aeca87SBenjamin Gaignard  - interrupts
5690aeca87SBenjamin Gaignard  - clocks
5790aeca87SBenjamin Gaignard  - clock-names
5890aeca87SBenjamin Gaignard
5990aeca87SBenjamin GaignardadditionalProperties: false
6090aeca87SBenjamin Gaignard
6190aeca87SBenjamin Gaignardexamples:
6290aeca87SBenjamin Gaignard  - |
6390aeca87SBenjamin Gaignard    #include <dt-bindings/clock/imx6qdl-clock.h>
6490aeca87SBenjamin Gaignard    #include <dt-bindings/interrupt-controller/arm-gic.h>
6590aeca87SBenjamin Gaignard    gpu@130000 {
6690aeca87SBenjamin Gaignard      compatible = "vivante,gc";
6790aeca87SBenjamin Gaignard      reg = <0x00130000 0x4000>;
6890aeca87SBenjamin Gaignard      interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
6990aeca87SBenjamin Gaignard      clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
7090aeca87SBenjamin Gaignard               <&clks IMX6QDL_CLK_GPU3D_CORE>,
7190aeca87SBenjamin Gaignard               <&clks IMX6QDL_CLK_GPU3D_SHADER>;
7290aeca87SBenjamin Gaignard      clock-names = "bus", "core", "shader";
7390aeca87SBenjamin Gaignard      power-domains = <&gpc 1>;
7490aeca87SBenjamin Gaignard    };
7590aeca87SBenjamin Gaignard
7690aeca87SBenjamin Gaignard...
77