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