xref: /freebsd/sys/contrib/device-tree/Bindings/media/renesas,ceu.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/media/renesas,ceu.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: Renesas Capture Engine Unit (CEU)
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Jacopo Mondi <jacopo+renesas@jmondi.org>
11c66ec88fSEmmanuel Vadot  - linux-renesas-soc@vger.kernel.org
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription: |+
14c66ec88fSEmmanuel Vadot  The Capture Engine Unit is the image capture interface found in the Renesas SH
15c66ec88fSEmmanuel Vadot  Mobile, R-Mobile and RZ SoCs. The interface supports a single parallel input
16c66ec88fSEmmanuel Vadot  with data bus width of 8 or 16 bits.
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadotproperties:
19c66ec88fSEmmanuel Vadot  compatible:
20c66ec88fSEmmanuel Vadot    enum:
21c66ec88fSEmmanuel Vadot      - renesas,r7s72100-ceu
22c66ec88fSEmmanuel Vadot      - renesas,r8a7740-ceu
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot  reg:
25c66ec88fSEmmanuel Vadot    maxItems: 1
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  interrupts:
28c66ec88fSEmmanuel Vadot    maxItems: 1
29c66ec88fSEmmanuel Vadot
30c66ec88fSEmmanuel Vadot  clocks:
31c66ec88fSEmmanuel Vadot    maxItems: 1
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  power-domains:
34c66ec88fSEmmanuel Vadot    maxItems: 1
35c66ec88fSEmmanuel Vadot
36c66ec88fSEmmanuel Vadot  port:
375def4c47SEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
385def4c47SEmmanuel Vadot    unevaluatedProperties: false
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot    properties:
41c66ec88fSEmmanuel Vadot      endpoint:
425def4c47SEmmanuel Vadot        $ref: video-interfaces.yaml#
435def4c47SEmmanuel Vadot        unevaluatedProperties: false
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot        properties:
46c66ec88fSEmmanuel Vadot          hsync-active: true
47c66ec88fSEmmanuel Vadot          vsync-active: true
48c66ec88fSEmmanuel Vadot          field-even-active: false
49c66ec88fSEmmanuel Vadot          bus-width:
50c66ec88fSEmmanuel Vadot            enum: [8, 16]
51c66ec88fSEmmanuel Vadot            default: 8
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadotrequired:
54c66ec88fSEmmanuel Vadot  - compatible
55c66ec88fSEmmanuel Vadot  - reg
56c66ec88fSEmmanuel Vadot  - interrupts
57c66ec88fSEmmanuel Vadot  - clocks
58c66ec88fSEmmanuel Vadot  - power-domains
59c66ec88fSEmmanuel Vadot  - port
60c66ec88fSEmmanuel Vadot
61c66ec88fSEmmanuel VadotadditionalProperties: false
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadotexamples:
64c66ec88fSEmmanuel Vadot  - |
65c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
66c66ec88fSEmmanuel Vadot    #include <dt-bindings/clock/r7s72100-clock.h>
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadot    ceu: ceu@e8210000 {
69c66ec88fSEmmanuel Vadot        reg = <0xe8210000 0x209c>;
70c66ec88fSEmmanuel Vadot        compatible = "renesas,r7s72100-ceu";
71c66ec88fSEmmanuel Vadot        interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
72c66ec88fSEmmanuel Vadot        clocks = <&mstp6_clks R7S72100_CLK_CEU>;
73c66ec88fSEmmanuel Vadot        power-domains = <&cpg_clocks>;
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot        port {
76c66ec88fSEmmanuel Vadot            ceu_in: endpoint {
77c66ec88fSEmmanuel Vadot                remote-endpoint = <&ov7670_out>;
78c66ec88fSEmmanuel Vadot                hsync-active = <1>;
79c66ec88fSEmmanuel Vadot                vsync-active = <0>;
80c66ec88fSEmmanuel Vadot            };
81c66ec88fSEmmanuel Vadot        };
82c66ec88fSEmmanuel Vadot    };
83