xref: /freebsd/sys/contrib/device-tree/Bindings/display/samsung/samsung,exynos-mixer.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c9ccf3a3SEmmanuel Vadot%YAML 1.2
3*c9ccf3a3SEmmanuel Vadot---
4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/display/samsung/samsung,exynos-mixer.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadottitle: Samsung Exynos SoC Mixer
8*c9ccf3a3SEmmanuel Vadot
9*c9ccf3a3SEmmanuel Vadotmaintainers:
10*c9ccf3a3SEmmanuel Vadot  - Inki Dae <inki.dae@samsung.com>
11*c9ccf3a3SEmmanuel Vadot  - Joonyoung Shim <jy0922.shim@samsung.com>
12*c9ccf3a3SEmmanuel Vadot  - Seung-Woo Kim <sw0312.kim@samsung.com>
13*c9ccf3a3SEmmanuel Vadot  - Kyungmin Park <kyungmin.park@samsung.com>
14*c9ccf3a3SEmmanuel Vadot  - Krzysztof Kozlowski <krzk@kernel.org>
15*c9ccf3a3SEmmanuel Vadot
16*c9ccf3a3SEmmanuel Vadotdescription:
17*c9ccf3a3SEmmanuel Vadot  Samsung Exynos SoC Mixer is responsible for mixing and blending multiple data
18*c9ccf3a3SEmmanuel Vadot  inputs before passing it to an output device.  The output is passed to HDMI.
19*c9ccf3a3SEmmanuel Vadot
20*c9ccf3a3SEmmanuel Vadotproperties:
21*c9ccf3a3SEmmanuel Vadot  compatible:
22*c9ccf3a3SEmmanuel Vadot    oneOf:
23*c9ccf3a3SEmmanuel Vadot      - enum:
24*c9ccf3a3SEmmanuel Vadot          - samsung,exynos4210-mixer
25*c9ccf3a3SEmmanuel Vadot          - samsung,exynos4212-mixer
26*c9ccf3a3SEmmanuel Vadot          - samsung,exynos5250-mixer
27*c9ccf3a3SEmmanuel Vadot          - samsung,exynos5420-mixer
28*c9ccf3a3SEmmanuel Vadot      - const: samsung,exynos5-mixer
29*c9ccf3a3SEmmanuel Vadot        deprecated: true
30*c9ccf3a3SEmmanuel Vadot
31*c9ccf3a3SEmmanuel Vadot  clocks:
32*c9ccf3a3SEmmanuel Vadot    minItems: 3
33*c9ccf3a3SEmmanuel Vadot    items:
34*c9ccf3a3SEmmanuel Vadot      - description: Gate of Mixer IP bus clock.
35*c9ccf3a3SEmmanuel Vadot      - description: Gate of HDMI IP bus clock, needed together with sclk_hdmi.
36*c9ccf3a3SEmmanuel Vadot      - description: HDMI Special clock, one of the two possible inputs of
37*c9ccf3a3SEmmanuel Vadot          mixer mux.
38*c9ccf3a3SEmmanuel Vadot      - description: Video Processor clock.
39*c9ccf3a3SEmmanuel Vadot      - description: Mixer mux clock.
40*c9ccf3a3SEmmanuel Vadot      - description: Mixer Special clock.
41*c9ccf3a3SEmmanuel Vadot
42*c9ccf3a3SEmmanuel Vadot  clock-names:
43*c9ccf3a3SEmmanuel Vadot    minItems: 3
44*c9ccf3a3SEmmanuel Vadot    items:
45*c9ccf3a3SEmmanuel Vadot      - const: mixer
46*c9ccf3a3SEmmanuel Vadot      - const: hdmi
47*c9ccf3a3SEmmanuel Vadot      - const: sclk_hdmi
48*c9ccf3a3SEmmanuel Vadot      - const: vp
49*c9ccf3a3SEmmanuel Vadot      - const: mout_mixer
50*c9ccf3a3SEmmanuel Vadot      - const: sclk_mixer
51*c9ccf3a3SEmmanuel Vadot
52*c9ccf3a3SEmmanuel Vadot  interconnects:
53*c9ccf3a3SEmmanuel Vadot    maxItems: 1
54*c9ccf3a3SEmmanuel Vadot
55*c9ccf3a3SEmmanuel Vadot  interrupts:
56*c9ccf3a3SEmmanuel Vadot    maxItems: 1
57*c9ccf3a3SEmmanuel Vadot
58*c9ccf3a3SEmmanuel Vadot  iommus:
59*c9ccf3a3SEmmanuel Vadot    maxItems: 1
60*c9ccf3a3SEmmanuel Vadot
61*c9ccf3a3SEmmanuel Vadot  power-domains:
62*c9ccf3a3SEmmanuel Vadot    maxItems: 1
63*c9ccf3a3SEmmanuel Vadot
64*c9ccf3a3SEmmanuel Vadot  reg:
65*c9ccf3a3SEmmanuel Vadot    minItems: 1
66*c9ccf3a3SEmmanuel Vadot    items:
67*c9ccf3a3SEmmanuel Vadot      - description: Mixer memory region.
68*c9ccf3a3SEmmanuel Vadot      - description: Video Processor memory region.
69*c9ccf3a3SEmmanuel Vadot
70*c9ccf3a3SEmmanuel Vadotrequired:
71*c9ccf3a3SEmmanuel Vadot  - compatible
72*c9ccf3a3SEmmanuel Vadot  - clocks
73*c9ccf3a3SEmmanuel Vadot  - clock-names
74*c9ccf3a3SEmmanuel Vadot  - interrupts
75*c9ccf3a3SEmmanuel Vadot  - reg
76*c9ccf3a3SEmmanuel Vadot
77*c9ccf3a3SEmmanuel VadotallOf:
78*c9ccf3a3SEmmanuel Vadot  - if:
79*c9ccf3a3SEmmanuel Vadot      properties:
80*c9ccf3a3SEmmanuel Vadot        compatible:
81*c9ccf3a3SEmmanuel Vadot          contains:
82*c9ccf3a3SEmmanuel Vadot            const: samsung,exynos4210-mixer
83*c9ccf3a3SEmmanuel Vadot              - samsung,exynos4212-mixer
84*c9ccf3a3SEmmanuel Vadot    then:
85*c9ccf3a3SEmmanuel Vadot      properties:
86*c9ccf3a3SEmmanuel Vadot        clocks:
87*c9ccf3a3SEmmanuel Vadot          minItems: 6
88*c9ccf3a3SEmmanuel Vadot          maxItems: 6
89*c9ccf3a3SEmmanuel Vadot        regs:
90*c9ccf3a3SEmmanuel Vadot          minItems: 2
91*c9ccf3a3SEmmanuel Vadot          maxItems: 2
92*c9ccf3a3SEmmanuel Vadot
93*c9ccf3a3SEmmanuel Vadot  - if:
94*c9ccf3a3SEmmanuel Vadot      properties:
95*c9ccf3a3SEmmanuel Vadot        compatible:
96*c9ccf3a3SEmmanuel Vadot          contains:
97*c9ccf3a3SEmmanuel Vadot            const: samsung,exynos4212-mixer
98*c9ccf3a3SEmmanuel Vadot    then:
99*c9ccf3a3SEmmanuel Vadot      properties:
100*c9ccf3a3SEmmanuel Vadot        clocks:
101*c9ccf3a3SEmmanuel Vadot          minItems: 4
102*c9ccf3a3SEmmanuel Vadot          maxItems: 4
103*c9ccf3a3SEmmanuel Vadot        regs:
104*c9ccf3a3SEmmanuel Vadot          minItems: 2
105*c9ccf3a3SEmmanuel Vadot          maxItems: 2
106*c9ccf3a3SEmmanuel Vadot
107*c9ccf3a3SEmmanuel Vadot  - if:
108*c9ccf3a3SEmmanuel Vadot      properties:
109*c9ccf3a3SEmmanuel Vadot        compatible:
110*c9ccf3a3SEmmanuel Vadot          contains:
111*c9ccf3a3SEmmanuel Vadot            enum:
112*c9ccf3a3SEmmanuel Vadot              - samsung,exynos5-mixer
113*c9ccf3a3SEmmanuel Vadot              - samsung,exynos5250-mixer
114*c9ccf3a3SEmmanuel Vadot              - samsung,exynos5420-mixer
115*c9ccf3a3SEmmanuel Vadot    then:
116*c9ccf3a3SEmmanuel Vadot      properties:
117*c9ccf3a3SEmmanuel Vadot        clocks:
118*c9ccf3a3SEmmanuel Vadot          minItems: 3
119*c9ccf3a3SEmmanuel Vadot          maxItems: 3
120*c9ccf3a3SEmmanuel Vadot        regs:
121*c9ccf3a3SEmmanuel Vadot          minItems: 1
122*c9ccf3a3SEmmanuel Vadot          maxItems: 1
123*c9ccf3a3SEmmanuel Vadot
124*c9ccf3a3SEmmanuel VadotadditionalProperties: false
125*c9ccf3a3SEmmanuel Vadot
126*c9ccf3a3SEmmanuel Vadotexamples:
127*c9ccf3a3SEmmanuel Vadot  - |
128*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/clock/exynos5250.h>
129*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
130*c9ccf3a3SEmmanuel Vadot
131*c9ccf3a3SEmmanuel Vadot    mixer@14450000 {
132*c9ccf3a3SEmmanuel Vadot        compatible = "samsung,exynos5250-mixer";
133*c9ccf3a3SEmmanuel Vadot        reg = <0x14450000 0x10000>;
134*c9ccf3a3SEmmanuel Vadot        interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
135*c9ccf3a3SEmmanuel Vadot        clocks = <&clock CLK_MIXER>,
136*c9ccf3a3SEmmanuel Vadot                 <&clock CLK_HDMI>,
137*c9ccf3a3SEmmanuel Vadot                 <&clock CLK_SCLK_HDMI>;
138*c9ccf3a3SEmmanuel Vadot        clock-names = "mixer",
139*c9ccf3a3SEmmanuel Vadot                      "hdmi",
140*c9ccf3a3SEmmanuel Vadot                      "sclk_hdmi";
141*c9ccf3a3SEmmanuel Vadot        iommus = <&sysmmu_tv>;
142*c9ccf3a3SEmmanuel Vadot        power-domains = <&pd_disp1>;
143*c9ccf3a3SEmmanuel Vadot    };
144