xref: /openbmc/linux/Documentation/devicetree/bindings/media/marvell,mmp2-ccic.yaml (revision fa432444095a35cfffdea87688d6e33db9cc9aff)
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
83591105bSLubomir Rinteltitle: Marvell MMP2 camera host interface bindings
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
26*fa432444SLubomir Rintel  power-domains:
27*fa432444SLubomir Rintel    maxItems: 1
28*fa432444SLubomir Rintel
293591105bSLubomir Rintel  port:
303591105bSLubomir Rintel    type: object
313591105bSLubomir Rintel    additionalProperties: false
323591105bSLubomir Rintel
333591105bSLubomir Rintel    properties:
343591105bSLubomir Rintel      endpoint:
353591105bSLubomir Rintel        type: object
363591105bSLubomir Rintel        additionalProperties: false
373591105bSLubomir Rintel
383591105bSLubomir Rintel        # Properties described in
393591105bSLubomir Rintel        # Documentation/devicetree/bindings/media/video-interfaces.txt
403591105bSLubomir Rintel        properties:
413591105bSLubomir Rintel          remote-endpoint: true
423591105bSLubomir Rintel          hsync-active: true
433591105bSLubomir Rintel          vsync-active: true
443591105bSLubomir Rintel          pclk-sample: true
453591105bSLubomir Rintel          bus-type: true
463591105bSLubomir Rintel
473591105bSLubomir Rintel        required:
483591105bSLubomir Rintel          - remote-endpoint
493591105bSLubomir Rintel
503591105bSLubomir Rintel    required:
513591105bSLubomir Rintel      - endpoint
523591105bSLubomir Rintel
533591105bSLubomir Rintel  clocks:
543591105bSLubomir Rintel    minItems: 1
553591105bSLubomir Rintel    maxItems: 3
563591105bSLubomir Rintel    items:
573591105bSLubomir Rintel      - description: AXI bus interface clock
583591105bSLubomir Rintel      - description: Peripheral clock
593591105bSLubomir Rintel      - description: Parallel video bus interface clock
603591105bSLubomir Rintel
613591105bSLubomir Rintel  clock-names:
623591105bSLubomir Rintel    const: axi
633591105bSLubomir Rintel
643591105bSLubomir Rintel  '#clock-cells':
653591105bSLubomir Rintel    const: 0
663591105bSLubomir Rintel
673591105bSLubomir Rintel  clock-output-names:
683591105bSLubomir Rintel    const: mclk
693591105bSLubomir Rintel
703591105bSLubomir Rintelrequired:
713591105bSLubomir Rintel  - compatible
723591105bSLubomir Rintel  - reg
733591105bSLubomir Rintel  - interrupts
743591105bSLubomir Rintel  - port
753591105bSLubomir Rintel
763591105bSLubomir RinteladditionalProperties: false
773591105bSLubomir Rintel
783591105bSLubomir Rintelexamples:
793591105bSLubomir Rintel  - |
803591105bSLubomir Rintel    #include <dt-bindings/clock/marvell,mmp2.h>
81*fa432444SLubomir Rintel    #include <dt-bindings/power/marvell,mmp2.h>
823591105bSLubomir Rintel
833591105bSLubomir Rintel    camera@d420a000 {
843591105bSLubomir Rintel      compatible = "marvell,mmp2-ccic";
853591105bSLubomir Rintel      reg = <0xd420a000 0x800>;
863591105bSLubomir Rintel      interrupts = <42>;
873591105bSLubomir Rintel      clocks = <&soc_clocks MMP2_CLK_CCIC0>;
883591105bSLubomir Rintel      clock-names = "axi";
893591105bSLubomir Rintel      #clock-cells = <0>;
903591105bSLubomir Rintel      clock-output-names = "mclk";
91*fa432444SLubomir Rintel      power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>;
923591105bSLubomir Rintel
933591105bSLubomir Rintel      port {
943591105bSLubomir Rintel        camera0_0: endpoint {
953591105bSLubomir Rintel          remote-endpoint = <&ov7670_0>;
963591105bSLubomir Rintel          bus-type = <5>;      /* Parallel */
973591105bSLubomir Rintel          hsync-active = <1>;  /* Active high */
983591105bSLubomir Rintel          vsync-active = <1>;  /* Active high */
993591105bSLubomir Rintel          pclk-sample = <0>;   /* Falling */
1003591105bSLubomir Rintel        };
1013591105bSLubomir Rintel      };
1023591105bSLubomir Rintel    };
1033591105bSLubomir Rintel
1043591105bSLubomir Rintel...
105