xref: /openbmc/linux/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
13591105bSLubomir Rintel# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
23591105bSLubomir Rintel# Copyright 2019,2020 Lubomir Rintel <lkundrak@v3.sk>
33591105bSLubomir Rintel%YAML 1.2
43591105bSLubomir Rintel---
53591105bSLubomir Rintel$id: http://devicetree.org/schemas/media/marvell,mmp2-ccic.yaml#
63591105bSLubomir Rintel$schema: http://devicetree.org/meta-schemas/core.yaml#
73591105bSLubomir Rintel
8*84e85359SKrzysztof Kozlowskititle: Marvell MMP2 camera host interface
93591105bSLubomir Rintel
103591105bSLubomir Rintelmaintainers:
113591105bSLubomir Rintel  - Lubomir Rintel <lkundrak@v3.sk>
123591105bSLubomir Rintel
133591105bSLubomir Rintelproperties:
143591105bSLubomir Rintel  $nodename:
153591105bSLubomir Rintel    pattern: '^camera@[a-f0-9]+$'
163591105bSLubomir Rintel
173591105bSLubomir Rintel  compatible:
183591105bSLubomir Rintel    const: marvell,mmp2-ccic
193591105bSLubomir Rintel
203591105bSLubomir Rintel  reg:
213591105bSLubomir Rintel    maxItems: 1
223591105bSLubomir Rintel
233591105bSLubomir Rintel  interrupts:
243591105bSLubomir Rintel    maxItems: 1
253591105bSLubomir Rintel
26fa432444SLubomir Rintel  power-domains:
27fa432444SLubomir Rintel    maxItems: 1
28fa432444SLubomir Rintel
293591105bSLubomir Rintel  port:
30066a94e2SRob Herring    $ref: /schemas/graph.yaml#/$defs/port-base
313591105bSLubomir Rintel    additionalProperties: false
323591105bSLubomir Rintel
333591105bSLubomir Rintel    properties:
343591105bSLubomir Rintel      endpoint:
35066a94e2SRob Herring        $ref: video-interfaces.yaml#
36066a94e2SRob Herring        unevaluatedProperties: false
373591105bSLubomir Rintel
383591105bSLubomir Rintel        properties:
393591105bSLubomir Rintel          hsync-active: true
403591105bSLubomir Rintel          vsync-active: true
413591105bSLubomir Rintel          pclk-sample: true
423591105bSLubomir Rintel          bus-type: true
433591105bSLubomir Rintel
443591105bSLubomir Rintel  clocks:
453591105bSLubomir Rintel    minItems: 1
463591105bSLubomir Rintel    items:
473591105bSLubomir Rintel      - description: AXI bus interface clock
483591105bSLubomir Rintel      - description: Peripheral clock
493591105bSLubomir Rintel      - description: Parallel video bus interface clock
503591105bSLubomir Rintel
513591105bSLubomir Rintel  clock-names:
523591105bSLubomir Rintel    const: axi
533591105bSLubomir Rintel
543591105bSLubomir Rintel  '#clock-cells':
553591105bSLubomir Rintel    const: 0
563591105bSLubomir Rintel
573591105bSLubomir Rintel  clock-output-names:
583591105bSLubomir Rintel    const: mclk
593591105bSLubomir Rintel
603591105bSLubomir Rintelrequired:
613591105bSLubomir Rintel  - compatible
623591105bSLubomir Rintel  - reg
633591105bSLubomir Rintel  - interrupts
643591105bSLubomir Rintel  - port
653591105bSLubomir Rintel
663591105bSLubomir RinteladditionalProperties: false
673591105bSLubomir Rintel
683591105bSLubomir Rintelexamples:
693591105bSLubomir Rintel  - |
703591105bSLubomir Rintel    #include <dt-bindings/clock/marvell,mmp2.h>
71c4cfd47eSLaurent Pinchart    #include <dt-bindings/media/video-interfaces.h>
72fa432444SLubomir Rintel    #include <dt-bindings/power/marvell,mmp2.h>
733591105bSLubomir Rintel
743591105bSLubomir Rintel    camera@d420a000 {
753591105bSLubomir Rintel      compatible = "marvell,mmp2-ccic";
763591105bSLubomir Rintel      reg = <0xd420a000 0x800>;
773591105bSLubomir Rintel      interrupts = <42>;
783591105bSLubomir Rintel      clocks = <&soc_clocks MMP2_CLK_CCIC0>;
793591105bSLubomir Rintel      clock-names = "axi";
803591105bSLubomir Rintel      #clock-cells = <0>;
813591105bSLubomir Rintel      clock-output-names = "mclk";
82fa432444SLubomir Rintel      power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>;
833591105bSLubomir Rintel
843591105bSLubomir Rintel      port {
853591105bSLubomir Rintel        camera0_0: endpoint {
863591105bSLubomir Rintel          remote-endpoint = <&ov7670_0>;
87c4cfd47eSLaurent Pinchart          bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
883591105bSLubomir Rintel          hsync-active = <1>;  /* Active high */
893591105bSLubomir Rintel          vsync-active = <1>;  /* Active high */
903591105bSLubomir Rintel          pclk-sample = <0>;   /* Falling */
913591105bSLubomir Rintel        };
923591105bSLubomir Rintel      };
933591105bSLubomir Rintel    };
943591105bSLubomir Rintel
953591105bSLubomir Rintel...
96