xref: /linux/Documentation/devicetree/bindings/media/renesas,ceu.yaml (revision f0f547272079a8ee2a3929909e1a7ae374b61e38)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/renesas,ceu.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Renesas Capture Engine Unit (CEU) Bindings
8
9maintainers:
10  - Jacopo Mondi <jacopo+renesas@jmondi.org>
11  - linux-renesas-soc@vger.kernel.org
12
13description: |+
14  The Capture Engine Unit is the image capture interface found in the Renesas SH
15  Mobile, R-Mobile and RZ SoCs. The interface supports a single parallel input
16  with data bus width of 8 or 16 bits.
17
18properties:
19  compatible:
20    enum:
21      - renesas,r7s72100-ceu
22      - renesas,r8a7740-ceu
23
24  reg:
25    maxItems: 1
26
27  interrupts:
28    maxItems: 1
29
30  clocks:
31    maxItems: 1
32
33  power-domains:
34    maxItems: 1
35
36  port:
37    type: object
38    additionalProperties: false
39
40    properties:
41      endpoint:
42        type: object
43        additionalProperties: false
44
45         # Properties described in
46         # Documentation/devicetree/bindings/media/video-interfaces.txt
47        properties:
48          remote-endpoint: true
49          hsync-active: true
50          vsync-active: true
51          field-even-active: false
52          bus-width:
53            enum: [8, 16]
54            default: 8
55
56        required:
57          - remote-endpoint
58
59    required:
60      - endpoint
61
62required:
63  - compatible
64  - reg
65  - interrupts
66  - clocks
67  - power-domains
68  - port
69
70additionalProperties: false
71
72examples:
73  - |
74    #include <dt-bindings/interrupt-controller/arm-gic.h>
75    #include <dt-bindings/clock/r7s72100-clock.h>
76
77    ceu: ceu@e8210000 {
78        reg = <0xe8210000 0x209c>;
79        compatible = "renesas,r7s72100-ceu";
80        interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>;
81        clocks = <&mstp6_clks R7S72100_CLK_CEU>;
82        power-domains = <&cpg_clocks>;
83
84        port {
85            ceu_in: endpoint {
86                remote-endpoint = <&ov7670_out>;
87                hsync-active = <1>;
88                vsync-active = <0>;
89            };
90        };
91    };
92