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