1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright 2019,2020 Lubomir Rintel <lkundrak@v3.sk>
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/marvell,mmp2-ccic.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Marvell MMP2 camera host interface bindings
9
10maintainers:
11  - Lubomir Rintel <lkundrak@v3.sk>
12
13properties:
14  $nodename:
15    pattern: '^camera@[a-f0-9]+$'
16
17  compatible:
18    const: marvell,mmp2-ccic
19
20  reg:
21    maxItems: 1
22
23  interrupts:
24    maxItems: 1
25
26  port:
27    type: object
28    additionalProperties: false
29
30    properties:
31      endpoint:
32        type: object
33        additionalProperties: false
34
35        # Properties described in
36        # Documentation/devicetree/bindings/media/video-interfaces.txt
37        properties:
38          remote-endpoint: true
39          hsync-active: true
40          vsync-active: true
41          pclk-sample: true
42          bus-type: true
43
44        required:
45          - remote-endpoint
46
47    required:
48      - endpoint
49
50  clocks:
51    minItems: 1
52    maxItems: 3
53    items:
54      - description: AXI bus interface clock
55      - description: Peripheral clock
56      - description: Parallel video bus interface clock
57
58  clock-names:
59    const: axi
60
61  '#clock-cells':
62    const: 0
63
64  clock-output-names:
65    const: mclk
66
67required:
68  - compatible
69  - reg
70  - interrupts
71  - port
72
73additionalProperties: false
74
75examples:
76  - |
77    #include <dt-bindings/clock/marvell,mmp2.h>
78
79    camera@d420a000 {
80      compatible = "marvell,mmp2-ccic";
81      reg = <0xd420a000 0x800>;
82      interrupts = <42>;
83      clocks = <&soc_clocks MMP2_CLK_CCIC0>;
84      clock-names = "axi";
85      #clock-cells = <0>;
86      clock-output-names = "mclk";
87
88      port {
89        camera0_0: endpoint {
90          remote-endpoint = <&ov7670_0>;
91          bus-type = <5>;      /* Parallel */
92          hsync-active = <1>;  /* Active high */
93          vsync-active = <1>;  /* Active high */
94          pclk-sample = <0>;   /* Falling */
95        };
96      };
97    };
98
99...
100