18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci# Copyright 2019,2020 Lubomir Rintel <lkundrak@v3.sk>
38c2ecf20Sopenharmony_ci%YAML 1.2
48c2ecf20Sopenharmony_ci---
58c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/media/marvell,mmp2-ccic.yaml#
68c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_cititle: Marvell MMP2 camera host interface bindings
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_cimaintainers:
118c2ecf20Sopenharmony_ci  - Lubomir Rintel <lkundrak@v3.sk>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciproperties:
148c2ecf20Sopenharmony_ci  $nodename:
158c2ecf20Sopenharmony_ci    pattern: '^camera@[a-f0-9]+$'
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci  compatible:
188c2ecf20Sopenharmony_ci    const: marvell,mmp2-ccic
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci  reg:
218c2ecf20Sopenharmony_ci    maxItems: 1
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci  interrupts:
248c2ecf20Sopenharmony_ci    maxItems: 1
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci  port:
278c2ecf20Sopenharmony_ci    type: object
288c2ecf20Sopenharmony_ci    additionalProperties: false
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci    properties:
318c2ecf20Sopenharmony_ci      endpoint:
328c2ecf20Sopenharmony_ci        type: object
338c2ecf20Sopenharmony_ci        additionalProperties: false
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci        # Properties described in
368c2ecf20Sopenharmony_ci        # Documentation/devicetree/bindings/media/video-interfaces.txt
378c2ecf20Sopenharmony_ci        properties:
388c2ecf20Sopenharmony_ci          remote-endpoint: true
398c2ecf20Sopenharmony_ci          hsync-active: true
408c2ecf20Sopenharmony_ci          vsync-active: true
418c2ecf20Sopenharmony_ci          pclk-sample: true
428c2ecf20Sopenharmony_ci          bus-type: true
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci        required:
458c2ecf20Sopenharmony_ci          - remote-endpoint
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci    required:
488c2ecf20Sopenharmony_ci      - endpoint
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  clocks:
518c2ecf20Sopenharmony_ci    minItems: 1
528c2ecf20Sopenharmony_ci    maxItems: 3
538c2ecf20Sopenharmony_ci    items:
548c2ecf20Sopenharmony_ci      - description: AXI bus interface clock
558c2ecf20Sopenharmony_ci      - description: Peripheral clock
568c2ecf20Sopenharmony_ci      - description: Parallel video bus interface clock
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  clock-names:
598c2ecf20Sopenharmony_ci    const: axi
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci  '#clock-cells':
628c2ecf20Sopenharmony_ci    const: 0
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  clock-output-names:
658c2ecf20Sopenharmony_ci    const: mclk
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_cirequired:
688c2ecf20Sopenharmony_ci  - compatible
698c2ecf20Sopenharmony_ci  - reg
708c2ecf20Sopenharmony_ci  - interrupts
718c2ecf20Sopenharmony_ci  - port
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ciadditionalProperties: false
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ciexamples:
768c2ecf20Sopenharmony_ci  - |
778c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/marvell,mmp2.h>
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci    camera@d420a000 {
808c2ecf20Sopenharmony_ci      compatible = "marvell,mmp2-ccic";
818c2ecf20Sopenharmony_ci      reg = <0xd420a000 0x800>;
828c2ecf20Sopenharmony_ci      interrupts = <42>;
838c2ecf20Sopenharmony_ci      clocks = <&soc_clocks MMP2_CLK_CCIC0>;
848c2ecf20Sopenharmony_ci      clock-names = "axi";
858c2ecf20Sopenharmony_ci      #clock-cells = <0>;
868c2ecf20Sopenharmony_ci      clock-output-names = "mclk";
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci      port {
898c2ecf20Sopenharmony_ci        camera0_0: endpoint {
908c2ecf20Sopenharmony_ci          remote-endpoint = <&ov7670_0>;
918c2ecf20Sopenharmony_ci          bus-type = <5>;      /* Parallel */
928c2ecf20Sopenharmony_ci          hsync-active = <1>;  /* Active high */
938c2ecf20Sopenharmony_ci          vsync-active = <1>;  /* Active high */
948c2ecf20Sopenharmony_ci          pclk-sample = <0>;   /* Falling */
958c2ecf20Sopenharmony_ci        };
968c2ecf20Sopenharmony_ci      };
978c2ecf20Sopenharmony_ci    };
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ci...
100