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