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

title: Sony IMX296 1/2.8-Inch CMOS Image Sensor

maintainers:
  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>

description: |-
  The Sony IMX296 is a 1/2.9-Inch active pixel type CMOS Solid-state image
  sensor with square pixel array and 1.58 M effective pixels. This chip
  features a global shutter with variable charge-integration time. It is
  programmable through I2C and 4-wire interfaces. The sensor output is
  available via CSI-2 serial data output (1 Lane).

properties:
  compatible:
    enum:
      - sony,imx296
      - sony,imx296ll
      - sony,imx296lq
    description:
      The IMX296 sensor exists in two different models, a colour variant
      (IMX296LQ) and a monochrome variant (IMX296LL). The device exposes the
      model through registers, allowing for auto-detection with a common
      "sony,imx296" compatible string. However, some camera modules disable the
      ability to read the sensor model register, which disables this feature.
      In those cases, the exact model needs to be specified as "sony,imx296ll"
      or "sony,imx296lq".

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    description: Input clock (37.125 MHz, 54 MHz or 74.25 MHz)
    items:
      - const: inck

  avdd-supply:
    description: Analog power supply (3.3V)

  dvdd-supply:
    description: Digital power supply (1.2V)

  ovdd-supply:
    description: Interface power supply (1.8V)

  reset-gpios:
    description: Sensor reset (XCLR) GPIO
    maxItems: 1

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

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - avdd-supply
  - dvdd-supply
  - ovdd-supply
  - port

additionalProperties: false

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

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

        imx296: camera-sensor@1a {
            compatible = "sony,imx296";
            reg = <0x1a>;

            pinctrl-names = "default";
            pinctrl-0 = <&camera_rear_default>;

            clocks = <&gcc 90>;
            clock-names = "inck";

            avdd-supply = <&camera_vdda_3v3>;
            dvdd-supply = <&camera_vddd_1v2>;
            ovdd-supply = <&camera_vddo_1v8>;

            reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;

            port {
                imx296_ep: endpoint {
                    remote-endpoint = <&csiphy0_ep>;
                };
            };
        };
    };

...
