# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/allwinner,sun8i-a83t-mipi-csi2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A83T MIPI CSI-2

maintainers:
  - Paul Kocialkowski <paul.kocialkowski@bootlin.com>

properties:
  compatible:
    const: allwinner,sun8i-a83t-mipi-csi2

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Bus Clock
      - description: Module Clock
      - description: MIPI-specific Clock
      - description: Misc CSI Clock

  clock-names:
    items:
      - const: bus
      - const: mod
      - const: mipi
      - const: misc

  resets:
    maxItems: 1

  ports:
    $ref: /schemas/graph.yaml#/properties/ports

    properties:
      port@0:
        $ref: /schemas/graph.yaml#/$defs/port-base
        description: Input port, connect to a MIPI CSI-2 sensor

        properties:
          reg:
            const: 0

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

            properties:
              data-lanes:
                minItems: 1
                maxItems: 4

            required:
              - data-lanes

        unevaluatedProperties: false

      port@1:
        $ref: /schemas/graph.yaml#/properties/port
        description: Output port, connect to a CSI controller

    required:
      - port@0
      - port@1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - resets
  - ports

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/sun8i-a83t-ccu.h>
    #include <dt-bindings/reset/sun8i-a83t-ccu.h>

    mipi_csi2: csi@1cb1000 {
        compatible = "allwinner,sun8i-a83t-mipi-csi2";
        reg = <0x01cb1000 0x1000>;
        interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&ccu CLK_BUS_CSI>,
                 <&ccu CLK_CSI_SCLK>,
                 <&ccu CLK_MIPI_CSI>,
                 <&ccu CLK_CSI_MISC>;
        clock-names = "bus", "mod", "mipi", "misc";
        resets = <&ccu RST_BUS_CSI>;

        ports {
            #address-cells = <1>;
            #size-cells = <0>;

            mipi_csi2_in: port@0 {
                reg = <0>;

                mipi_csi2_in_ov8865: endpoint {
                    data-lanes = <1 2 3 4>;

                    remote-endpoint = <&ov8865_out_mipi_csi2>;
                };
            };

            mipi_csi2_out: port@1 {
                reg = <1>;

                mipi_csi2_out_csi: endpoint {
                    remote-endpoint = <&csi_in_mipi_csi2>;
                };
            };
        };
    };

...
