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,s5pv210-jpeg.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung S5PV210 and Exynos SoC JPEG codec
8
9maintainers:
10  - Jacek Anaszewski <jacek.anaszewski@gmail.com>
11  - Krzysztof Kozlowski <krzk@kernel.org>
12  - Sylwester Nawrocki <s.nawrocki@samsung.com>
13  - Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
14
15properties:
16  compatible:
17    enum:
18      - samsung,s5pv210-jpeg
19      - samsung,exynos3250-jpeg
20      - samsung,exynos4210-jpeg
21      - samsung,exynos4212-jpeg
22      - samsung,exynos5420-jpeg
23      - samsung,exynos5433-jpeg
24
25  clocks:
26    minItems: 1
27    maxItems: 4
28
29  clock-names:
30    minItems: 1
31    maxItems: 4
32
33  interrupts:
34    maxItems: 1
35
36  iommus:
37    maxItems: 1
38
39  power-domains:
40    maxItems: 1
41
42  reg:
43    maxItems: 1
44
45
46required:
47  - compatible
48  - clocks
49  - clock-names
50  - interrupts
51  - reg
52
53allOf:
54  - if:
55      properties:
56        compatible:
57          contains:
58            enum:
59              - samsung,s5pv210-jpeg
60              - samsung,exynos4210-jpeg
61              - samsung,exynos4212-jpeg
62              - samsung,exynos5420-jpeg
63    then:
64      properties:
65        clocks:
66          maxItems: 1
67        clock-names:
68          items:
69            - const: jpeg
70
71  - if:
72      properties:
73        compatible:
74          contains:
75            enum:
76              - samsung,exynos3250-jpeg
77    then:
78      properties:
79        clocks:
80          minItems: 2
81          maxItems: 2
82        clock-names:
83          items:
84            - const: jpeg
85            - const: sclk
86
87  - if:
88      properties:
89        compatible:
90          contains:
91            enum:
92              - samsung,exynos5433-jpeg
93    then:
94      properties:
95        clocks:
96          minItems: 4
97          maxItems: 4
98        clock-names:
99          items:
100            - const: pclk
101            - const: aclk
102            - const: aclk_xiu
103            - const: sclk
104
105additionalProperties: false
106
107examples:
108  - |
109    #include <dt-bindings/clock/exynos5433.h>
110    #include <dt-bindings/interrupt-controller/arm-gic.h>
111
112    codec@15020000 {
113        compatible = "samsung,exynos5433-jpeg";
114        reg = <0x15020000 0x10000>;
115        interrupts = <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>;
116        clock-names = "pclk", "aclk", "aclk_xiu", "sclk";
117        clocks = <&cmu_mscl CLK_PCLK_JPEG>,
118                 <&cmu_mscl CLK_ACLK_JPEG>,
119                 <&cmu_mscl CLK_ACLK_XIU_MSCLX>,
120                 <&cmu_mscl CLK_SCLK_JPEG>;
121        iommus = <&sysmmu_jpeg>;
122        power-domains = <&pd_mscl>;
123    };
124