# 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: description: |- The driver only supports four-lane operation. items: - const: 1 - const: 2 - const: 3 - const: 4 link-frequencies: description: Frequencies listed are driver, not h/w limitations. maxItems: 2 items: enum: [ 360000000, 180000000 ] 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>; }; }; }; }; ...