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

title: onsemi 1/6-inch 720p CMOS Digital Image Sensor

maintainers:
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>

description: |-
  The onsemi MT9M114 is a 1/6-inch 720p (1.26 Mp) CMOS digital image sensor
  with an active pixel-array size of 1296H x 976V. It is programmable through
  an I2C interface and outputs image data over a 8-bit parallel or 1-lane MIPI
  CSI-2 connection.

properties:
  compatible:
    const: onnn,mt9m114

  reg:
    description: I2C device address
    enum:
      - 0x48
      - 0x5d

  clocks:
    description: EXTCLK clock signal
    maxItems: 1

  vdd-supply:
    description:
      Core digital voltage supply, 1.8V

  vddio-supply:
    description:
      I/O digital voltage supply, 1.8V or 2.8V

  vaa-supply:
    description:
      Analog voltage supply, 2.8V

  reset-gpios:
    description: |-
      Reference to the GPIO connected to the RESET_BAR pin, if any (active
      low).

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

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

        properties:
          bus-type:
            enum: [4, 5, 6]

          link-frequencies: true
          remote-endpoint: true

          # The number and mapping of lanes (for CSI-2), and the bus width and
          # signal polarities (for parallel and BT.656) are fixed and must not
          # be specified.

        required:
          - bus-type
          - link-frequencies

required:
  - compatible
  - reg
  - clocks
  - vdd-supply
  - vddio-supply
  - vaa-supply
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/media/video-interfaces.h>

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

        sensor@48 {
            compatible = "onnn,mt9m114";
            reg = <0x48>;

            clocks = <&clk24m 0>;

            reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;

            vddio-supply = <&reg_cam_1v8>;
            vdd-supply = <&reg_cam_1v8>;
            vaa-supply = <&reg_2p8v>;

            port {
                endpoint {
                    bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
                    link-frequencies = /bits/ 64 <384000000>;
                    remote-endpoint = <&mipi_csi_in>;
                };
            };
        };
    };
...
