1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/coda.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Chips&Media Coda multi-standard codec IP
8
9maintainers:
10  - Philipp Zabel <p.zabel@pengutronix.de>
11
12description: |-
13  Coda codec IPs are present in i.MX SoCs in various versions,
14  called VPU (Video Processing Unit).
15
16properties:
17  compatible:
18    oneOf:
19      - items:
20          - const: fsl,imx27-vpu
21          - const: cnm,codadx6
22      - items:
23          - const: fsl,imx51-vpu
24          - const: cnm,codahx4
25      - items:
26          - const: fsl,imx53-vpu
27          - const: cnm,coda7541
28      - items:
29          - enum:
30              - fsl,imx6dl-vpu
31              - fsl,imx6q-vpu
32          - const: cnm,coda960
33
34  reg:
35    maxItems: 1
36
37  clocks:
38    items:
39      - description: PER clock
40      - description: AHB interface clock
41
42  clock-names:
43    items:
44      - const: per
45      - const: ahb
46
47  interrupts:
48    minItems: 1
49    items:
50      - description: BIT processor interrupt
51      - description: JPEG unit interrupt
52
53  interrupt-names:
54    minItems: 1
55    items:
56      - const: bit
57      - const: jpeg
58
59  power-domains:
60    maxItems: 1
61
62  resets:
63    maxItems: 1
64
65  iram:
66    $ref: /schemas/types.yaml#/definitions/phandle
67    description: phandle pointing to the SRAM device node
68
69required:
70  - compatible
71  - reg
72  - interrupts
73  - clocks
74  - clock-names
75
76additionalProperties: false
77
78allOf:
79  - if:
80      properties:
81        compatible:
82          contains:
83            const: cnm,coda960
84    then:
85      properties:
86        interrupts:
87          minItems: 2
88
89        interrupt-names:
90          minItems: 2
91    else:
92      properties:
93        interrupts:
94          maxItems: 1
95
96        power-domains: false
97
98examples:
99  - |
100    vpu: video-codec@63ff4000 {
101        compatible = "fsl,imx53-vpu", "cnm,coda7541";
102        reg = <0x63ff4000 0x1000>;
103        interrupts = <9>;
104        clocks = <&clks 63>, <&clks 63>;
105        clock-names = "per", "ahb";
106        iram = <&ocram>;
107    };
108