# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2019,2020 Lubomir Rintel <lkundrak@v3.sk>
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/marvell,mmp2-ccic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell MMP2 camera host interface bindings

maintainers:
  - Lubomir Rintel <lkundrak@v3.sk>

properties:
  $nodename:
    pattern: '^camera@[a-f0-9]+$'

  compatible:
    const: marvell,mmp2-ccic

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  power-domains:
    maxItems: 1

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

    properties:
      endpoint:
        $ref: video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          hsync-active: true
          vsync-active: true
          pclk-sample: true
          bus-type: true

  clocks:
    minItems: 1
    items:
      - description: AXI bus interface clock
      - description: Peripheral clock
      - description: Parallel video bus interface clock

  clock-names:
    const: axi

  '#clock-cells':
    const: 0

  clock-output-names:
    const: mclk

required:
  - compatible
  - reg
  - interrupts
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/marvell,mmp2.h>
    #include <dt-bindings/power/marvell,mmp2.h>

    camera@d420a000 {
      compatible = "marvell,mmp2-ccic";
      reg = <0xd420a000 0x800>;
      interrupts = <42>;
      clocks = <&soc_clocks MMP2_CLK_CCIC0>;
      clock-names = "axi";
      #clock-cells = <0>;
      clock-output-names = "mclk";
      power-domains = <&soc_clocks MMP3_POWER_DOMAIN_CAMERA>;

      port {
        camera0_0: endpoint {
          remote-endpoint = <&ov7670_0>;
          bus-type = <5>;      /* Parallel */
          hsync-active = <1>;  /* Active high */
          vsync-active = <1>;  /* Active high */
          pclk-sample = <0>;   /* Falling */
        };
      };
    };

...
