Documentation / devicetree / bindings / media / i2c / ov8856.yaml


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2019 MediaTek Inc.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/ov8856.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Omnivision OV8856 CMOS Sensor

maintainers:
  - Sakari Ailus <sakari.ailus@linux.intel.com>

description: |-
  The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS
  image sensor that delivers 3264x2448 at 30fps. It provides full-frame,
  sub-sampled, and windowed 10-bit MIPI images in various formats via the
  Serial Camera Control Bus (SCCB) interface. This chip is programmable
  through I2C and two-wire SCCB. The sensor output is available via CSI-2
  serial data output (up to 4-lane).

properties:
  compatible:
    const: ovti,ov8856

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    description:
      Input clock for the sensor.
    items:
      - const: xvclk

  clock-frequency:
    description:
      Frequency of the xvclk clock in Hertz.

  dovdd-supply:
    description:
      Definition of the regulator used as interface power supply.

  avdd-supply:
    description:
      Definition of the regulator used as analog power supply.

  dvdd-supply:
    description:
      Definition of the regulator used as digital power supply.

  reset-gpios:
    description:
      The phandle and specifier for the GPIO that controls sensor reset.
      This corresponds to the hardware pin XSHUTDOWN which is physically
      active low.

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

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

        properties:
          data-lanes:
            oneOf:
              - items:
                  - const: 1
              - items:
                  - const: 1
                  - const: 2
              - items:
                  - const: 1
                  - const: 2
                  - const: 3
                  - const: 4

        required:
          - link-frequencies

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - clock-frequency
  - dovdd-supply
  - avdd-supply
  - dvdd-supply
  - reset-gpios
  - port

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
 
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;
 
        ov8856: camera@10 {
            compatible = "ovti,ov8856";
            reg = <0x10>;
 
            reset-gpios = <&pio 111 GPIO_ACTIVE_LOW>;
            pinctrl-names = "default";
            pinctrl-0 = <&clk_24m_cam>;
 
            clocks = <&cam_osc>;
            clock-names = "xvclk";
            clock-frequency = <19200000>;
 
            avdd-supply = <&mt6358_vcama2_reg>;
            dvdd-supply = <&mt6358_vcamd_reg>;
            dovdd-supply = <&mt6358_vcamio_reg>;
 
            port {
                wcam_out: endpoint {
                    remote-endpoint = <&mipi_in_wcam>;
                    data-lanes = <1 2 3 4>;
                    link-frequencies = /bits/ 64 <360000000>;
                };
            };
        };
    };
...