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