# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/brcm,bcm2835-unicam.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Broadcom BCM283x Camera Interface (Unicam)

maintainers:
  - Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>

description: |-
  The Unicam block on BCM283x SoCs is the receiver for either
  CSI-2 or CCP2 data from image sensors or similar devices.

  The main platform using this SoC is the Raspberry Pi family of boards.  On
  the Pi the VideoCore firmware can also control this hardware block, and
  driving it from two different processors will cause issues.  To avoid this,
  the firmware checks the device tree configuration during boot. If it finds
  device tree nodes whose name starts with 'csi' then it will stop the firmware
  accessing the block, and it can then safely be used via the device tree
  binding.

properties:
  compatible:
    const: brcm,bcm2835-unicam

  reg:
    items:
      - description: Unicam block.
      - description: Clock Manager Image (CMI) block.

  reg-names:
    items:
      - const: unicam
      - const: cmi

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: Clock to drive the LP state machine of Unicam.
      - description: Clock for the VPU (core clock).

  clock-names:
    items:
      - const: lp
      - const: vpu

  power-domains:
    items:
      - description: Unicam power domain

  brcm,num-data-lanes:
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [ 2, 4 ]
    description: |
      Number of CSI-2 data lanes supported by this Unicam instance. The number
      of data lanes actively used is specified with the data-lanes endpoint
      property.

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

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        additionalProperties: false

        properties:
          bus-type:
            enum: [ 3, 4 ]

          clock-noncontinuous: true
          data-lanes: true
          remote-endpoint: true

        required:
          - bus-type
          - data-lanes
          - remote-endpoint

    required:
      - endpoint

required:
  - compatible
  - reg
  - reg-names
  - interrupts
  - clocks
  - clock-names
  - power-domains
  - brcm,num-data-lanes
  - port

additionalProperties: False

examples:
  - |
    #include <dt-bindings/clock/bcm2835.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/media/video-interfaces.h>
    #include <dt-bindings/power/raspberrypi-power.h>

    csi1: csi@7e801000 {
        compatible = "brcm,bcm2835-unicam";
        reg = <0x7e801000 0x800>,
              <0x7e802004 0x4>;
        reg-names = "unicam", "cmi";
        interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&clocks BCM2835_CLOCK_CAM1>,
                 <&firmware_clocks 4>;
        clock-names = "lp", "vpu";
        power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
        brcm,num-data-lanes = <2>;
        port {
                csi1_ep: endpoint {
                        remote-endpoint = <&imx219_0>;
                        bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
                        data-lanes = <1 2>;
                };
        };
    };
...
