# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) # Copyright (c) 2022 Theobroma Systems Design und Consulting GmbH %YAML 1.2 --- $id: http://devicetree.org/schemas/media/i2c/ovti,ov5675.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Omnivision OV5675 CMOS Sensor maintainers: - Quentin Schulz <quentin.schulz@theobroma-systems.com> allOf: - $ref: /schemas/media/video-interface-devices.yaml# description: | The Omnivision OV5675 is a high performance, 1/5-inch, 5 megapixel, CMOS image sensor that delivers 2592x1944 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 2-lane). properties: compatible: const: ovti,ov5675 reg: maxItems: 1 clocks: description: System input clock (aka XVCLK). From 6 to 27 MHz. maxItems: 1 dovdd-supply: description: Digital I/O voltage supply, 1.8 volts. avdd-supply: description: Analog voltage supply, 2.8 volts. dvdd-supply: description: Digital core voltage supply, 1.2 volts. reset-gpios: description: The phandle and specifier for the GPIO that controls sensor reset. This corresponds to the hardware pin XSHUTDN which is physically active low. maxItems: 1 port: $ref: /schemas/graph.yaml#/$defs/port-base additionalProperties: false properties: endpoint: $ref: /schemas/media/video-interfaces.yaml# unevaluatedProperties: false properties: data-lanes: minItems: 1 maxItems: 2 # Supports max data transfer of 900 Mbps per lane link-frequencies: true required: - compatible - reg - clocks - dovdd-supply - avdd-supply - dvdd-supply - port unevaluatedProperties: false examples: - | #include <dt-bindings/clock/px30-cru.h> #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/pinctrl/rockchip.h> i2c { #address-cells = <1>; #size-cells = <0>; ov5675: camera@36 { compatible = "ovti,ov5675"; reg = <0x36>; reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&cif_clkout_m0>; clocks = <&cru SCLK_CIF_OUT>; assigned-clocks = <&cru SCLK_CIF_OUT>; assigned-clock-rates = <19200000>; avdd-supply = <&vcc_1v8>; dvdd-supply = <&vcc_1v2>; dovdd-supply = <&vcc_2v8>; rotation = <90>; orientation = <0>; port { ucam_out: endpoint { remote-endpoint = <&mipi_in_ucam>; data-lanes = <1 2>; link-frequencies = /bits/ 64 <450000000>; }; }; }; }; ...