summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/display/samsung/samsung,exynos-mixer.yaml
blob: 00e325a19cb1df9171432d15d7d27265fdf808ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/samsung/samsung,exynos-mixer.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung Exynos SoC Mixer

maintainers:
  - Inki Dae <inki.dae@samsung.com>
  - Joonyoung Shim <jy0922.shim@samsung.com>
  - Seung-Woo Kim <sw0312.kim@samsung.com>
  - Kyungmin Park <kyungmin.park@samsung.com>
  - Krzysztof Kozlowski <krzk@kernel.org>

description:
  Samsung Exynos SoC Mixer is responsible for mixing and blending multiple data
  inputs before passing it to an output device.  The output is passed to HDMI.

properties:
  compatible:
    oneOf:
      - enum:
          - samsung,exynos4210-mixer
          - samsung,exynos4212-mixer
          - samsung,exynos5250-mixer
          - samsung,exynos5420-mixer
      - const: samsung,exynos5-mixer
        deprecated: true

  clocks:
    minItems: 3
    items:
      - description: Gate of Mixer IP bus clock.
      - description: Gate of HDMI IP bus clock, needed together with sclk_hdmi.
      - description: HDMI Special clock, one of the two possible inputs of
          mixer mux.
      - description: Video Processor clock.
      - description: Mixer mux clock.
      - description: Mixer Special clock.

  clock-names:
    minItems: 3
    items:
      - const: mixer
      - const: hdmi
      - const: sclk_hdmi
      - const: vp
      - const: mout_mixer
      - const: sclk_mixer

  interconnects:
    maxItems: 1

  interrupts:
    maxItems: 1

  iommus:
    maxItems: 1

  power-domains:
    maxItems: 1

  reg:
    minItems: 1
    items:
      - description: Mixer memory region.
      - description: Video Processor memory region.

required:
  - compatible
  - clocks
  - clock-names
  - interrupts
  - reg

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: samsung,exynos4210-mixer
              - samsung,exynos4212-mixer
    then:
      properties:
        clocks:
          minItems: 6
          maxItems: 6
        regs:
          minItems: 2
          maxItems: 2

  - if:
      properties:
        compatible:
          contains:
            const: samsung,exynos4212-mixer
    then:
      properties:
        clocks:
          minItems: 4
          maxItems: 4
        regs:
          minItems: 2
          maxItems: 2

  - if:
      properties:
        compatible:
          contains:
            enum:
              - samsung,exynos5-mixer
              - samsung,exynos5250-mixer
              - samsung,exynos5420-mixer
    then:
      properties:
        clocks:
          minItems: 3
          maxItems: 3
        regs:
          minItems: 1
          maxItems: 1

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/exynos5250.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    mixer@14450000 {
        compatible = "samsung,exynos5250-mixer";
        reg = <0x14450000 0x10000>;
        interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clock CLK_MIXER>,
                 <&clock CLK_HDMI>,
                 <&clock CLK_SCLK_HDMI>;
        clock-names = "mixer",
                      "hdmi",
                      "sclk_hdmi";
        iommus = <&sysmmu_tv>;
        power-domains = <&pd_disp1>;
    };