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