1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/samsung,exynos5250-gsc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung Exynos SoC G-Scaler
8
9maintainers:
10  - Inki Dae <inki.dae@samsung.com>
11  - Krzysztof Kozlowski <krzk@kernel.org>
12  - Seung-Woo Kim <sw0312.kim@samsung.com
13
14description:
15  G-Scaler is used for scaling and color space conversion on Samsung Exynos
16  SoCs.
17
18  Each G-Scaler node should have a numbered alias in the aliases node, in the
19  form of gscN, N = 0...3.
20
21properties:
22  compatible:
23    oneOf:
24      - items:
25          - enum:
26              - samsung,exynos5250-gsc
27              - samsung,exynos5420-gsc
28          - const: samsung,exynos5-gsc
29      - enum:
30          - samsung,exynos5433-gsc
31      - const: samsung,exynos5-gsc
32        deprecated: True
33
34  clocks:
35    minItems: 1
36    maxItems: 5
37
38  clock-names:
39    minItems: 1
40    maxItems: 5
41
42  interrupts:
43    maxItems: 1
44
45  iommus:
46    maxItems: 1
47
48  power-domains:
49    maxItems: 1
50
51  reg:
52    maxItems: 1
53
54  samsung,sysreg:
55    $ref: /schemas/types.yaml#/definitions/phandle
56    description:
57      Syscon used to control the system registers to set writeback input and destination.
58
59required:
60  - compatible
61  - clocks
62  - clock-names
63  - interrupts
64  - reg
65
66allOf:
67  - if:
68      properties:
69        compatible:
70          contains:
71            enum:
72              - samsung,exynos5-gsc
73              - samsung,exynos5250-gsc
74              - samsung,exynos5420-gsc
75    then:
76      properties:
77        clocks:
78          maxItems: 1
79        clock-names:
80          items:
81            - const: gscl
82    else:
83      properties:
84        clocks:
85          minItems: 5
86        clock-names:
87          items:
88            - const: pclk
89            - const: aclk
90            - const: aclk_xiu
91            - const: aclk_gsclbend
92            - const: gsd
93
94additionalProperties: false
95
96examples:
97  - |
98    #include <dt-bindings/clock/exynos5250.h>
99    #include <dt-bindings/interrupt-controller/arm-gic.h>
100
101    video-scaler@13e00000 {
102        compatible = "samsung,exynos5250-gsc", "samsung,exynos5-gsc";
103        reg = <0x13e00000 0x1000>;
104        interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
105        power-domains = <&pd_gsc>;
106        clocks = <&clock CLK_GSCL0>;
107        clock-names = "gscl";
108        iommus = <&sysmmu_gsc0>;
109    };
110