162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright (c) 2020 MediaTek Inc. 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/i2c/ovti,ov02a10.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: Omnivision OV02A10 CMOS Sensor 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Dongchun Zhu <dongchun.zhu@mediatek.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: |- 1462306a36Sopenharmony_ci The Omnivision OV02A10 is a low-cost, high performance, 1/5-inch, 2 megapixel 1562306a36Sopenharmony_ci image sensor, which is the latest production derived from Omnivision's CMOS 1662306a36Sopenharmony_ci image sensor technology. Ihis chip supports high frame rate speeds up to 30fps 1762306a36Sopenharmony_ci @ 1600x1200 (UXGA) resolution transferred over a 1-lane MIPI interface. The 1862306a36Sopenharmony_ci sensor output is available via CSI-2 serial data output. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciallOf: 2162306a36Sopenharmony_ci - $ref: /schemas/media/video-interface-devices.yaml# 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciproperties: 2462306a36Sopenharmony_ci compatible: 2562306a36Sopenharmony_ci const: ovti,ov02a10 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci reg: 2862306a36Sopenharmony_ci maxItems: 1 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci clocks: 3162306a36Sopenharmony_ci maxItems: 1 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci clock-names: 3462306a36Sopenharmony_ci description: 3562306a36Sopenharmony_ci External clock for the sensor. 3662306a36Sopenharmony_ci items: 3762306a36Sopenharmony_ci - const: eclk 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci clock-frequency: 4062306a36Sopenharmony_ci description: 4162306a36Sopenharmony_ci Frequency of the eclk clock in Hz. 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci dovdd-supply: 4462306a36Sopenharmony_ci description: 4562306a36Sopenharmony_ci Definition of the regulator used as Digital I/O voltage supply. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci avdd-supply: 4862306a36Sopenharmony_ci description: 4962306a36Sopenharmony_ci Definition of the regulator used as Analog voltage supply. 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci dvdd-supply: 5262306a36Sopenharmony_ci description: 5362306a36Sopenharmony_ci Definition of the regulator used as Digital core voltage supply. 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci powerdown-gpios: 5662306a36Sopenharmony_ci description: 5762306a36Sopenharmony_ci Must be the device tree identifier of the GPIO connected to the 5862306a36Sopenharmony_ci PD_PAD pin. This pin is used to place the OV02A10 into standby mode 5962306a36Sopenharmony_ci or shutdown mode. As the line needs to be high for the powerdown mode 6062306a36Sopenharmony_ci to be active, it should be marked GPIO_ACTIVE_HIGH. 6162306a36Sopenharmony_ci maxItems: 1 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci reset-gpios: 6462306a36Sopenharmony_ci description: 6562306a36Sopenharmony_ci Must be the device tree identifier of the GPIO connected to the 6662306a36Sopenharmony_ci RST_PD pin. If specified, it will be asserted during driver probe. 6762306a36Sopenharmony_ci As the line needs to be low for the reset to be active, it should be 6862306a36Sopenharmony_ci marked GPIO_ACTIVE_LOW. 6962306a36Sopenharmony_ci maxItems: 1 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci rotation: 7262306a36Sopenharmony_ci enum: 7362306a36Sopenharmony_ci - 0 # Sensor Mounted Upright 7462306a36Sopenharmony_ci - 180 # Sensor Mounted Upside Down 7562306a36Sopenharmony_ci default: 0 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci port: 7862306a36Sopenharmony_ci $ref: /schemas/graph.yaml#/$defs/port-base 7962306a36Sopenharmony_ci additionalProperties: false 8062306a36Sopenharmony_ci description: 8162306a36Sopenharmony_ci Output port node, single endpoint describing the CSI-2 transmitter. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci properties: 8462306a36Sopenharmony_ci endpoint: 8562306a36Sopenharmony_ci $ref: /schemas/media/video-interfaces.yaml# 8662306a36Sopenharmony_ci unevaluatedProperties: false 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci properties: 8962306a36Sopenharmony_ci link-frequencies: true 9062306a36Sopenharmony_ci ovti,mipi-clock-voltage: 9162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9262306a36Sopenharmony_ci description: 9362306a36Sopenharmony_ci Definition of MIPI clock voltage unit. This entry corresponds to 9462306a36Sopenharmony_ci the link speed defined by the 'link-frequencies' property. 9562306a36Sopenharmony_ci If present, the value shall be in the range of 0-4. 9662306a36Sopenharmony_ci default: 4 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci required: 9962306a36Sopenharmony_ci - link-frequencies 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci required: 10262306a36Sopenharmony_ci - endpoint 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_cirequired: 10562306a36Sopenharmony_ci - compatible 10662306a36Sopenharmony_ci - reg 10762306a36Sopenharmony_ci - clocks 10862306a36Sopenharmony_ci - clock-names 10962306a36Sopenharmony_ci - clock-frequency 11062306a36Sopenharmony_ci - dovdd-supply 11162306a36Sopenharmony_ci - avdd-supply 11262306a36Sopenharmony_ci - dvdd-supply 11362306a36Sopenharmony_ci - powerdown-gpios 11462306a36Sopenharmony_ci - reset-gpios 11562306a36Sopenharmony_ci - port 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciadditionalProperties: false 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ciexamples: 12062306a36Sopenharmony_ci - | 12162306a36Sopenharmony_ci #include <dt-bindings/gpio/gpio.h> 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci i2c { 12462306a36Sopenharmony_ci #address-cells = <1>; 12562306a36Sopenharmony_ci #size-cells = <0>; 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ci ov02a10: camera-sensor@3d { 12862306a36Sopenharmony_ci compatible = "ovti,ov02a10"; 12962306a36Sopenharmony_ci reg = <0x3d>; 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci powerdown-gpios = <&pio 107 GPIO_ACTIVE_HIGH>; 13262306a36Sopenharmony_ci reset-gpios = <&pio 109 GPIO_ACTIVE_LOW>; 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci clocks = <&ov02a10_clk>; 13562306a36Sopenharmony_ci clock-names = "eclk"; 13662306a36Sopenharmony_ci clock-frequency = <24000000>; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci rotation = <180>; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci dovdd-supply = <&ov02a10_dovdd>; 14162306a36Sopenharmony_ci avdd-supply = <&ov02a10_avdd>; 14262306a36Sopenharmony_ci dvdd-supply = <&ov02a10_dvdd>; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci port { 14562306a36Sopenharmony_ci wcam_out: endpoint { 14662306a36Sopenharmony_ci link-frequencies = /bits/ 64 <390000000>; 14762306a36Sopenharmony_ci ovti,mipi-clock-voltage = <3>; 14862306a36Sopenharmony_ci remote-endpoint = <&mipi_in_wcam>; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci }; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci... 155