1bba58289SHans Verkuil* Omnivision OV7670 CMOS sensor
2bba58289SHans Verkuil
3bba58289SHans VerkuilThe Omnivision OV7670 sensor supports multiple resolutions output, such as
4bba58289SHans VerkuilCIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
5bba58289SHans Verkuiloutput formats.
6bba58289SHans Verkuil
7bba58289SHans VerkuilRequired Properties:
8bba58289SHans Verkuil- compatible: should be "ovti,ov7670"
9bba58289SHans Verkuil- clocks: reference to the xclk input clock.
10bba58289SHans Verkuil- clock-names: should be "xclk".
11bba58289SHans Verkuil
12622b2d10SJacopo MondiRequired Endpoint Properties:
13622b2d10SJacopo Mondi- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
14622b2d10SJacopo Mondi- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
15622b2d10SJacopo Mondi
16bba58289SHans VerkuilOptional Properties:
17bba58289SHans Verkuil- reset-gpios: reference to the GPIO connected to the resetb pin, if any.
18bba58289SHans Verkuil  Active is low.
19bba58289SHans Verkuil- powerdown-gpios: reference to the GPIO connected to the pwdn pin, if any.
20bba58289SHans Verkuil  Active is high.
21622b2d10SJacopo Mondi- ov7670,pclk-hb-disable: a boolean property to suppress pixel clock output
22622b2d10SJacopo Mondi  signal during horizontal blankings.
23bba58289SHans Verkuil
24622b2d10SJacopo MondiThe device node must contain one 'port' child node with one 'endpoint' child
25622b2d10SJacopo Mondisub-node for its digital output video port, in accordance with the video
26622b2d10SJacopo Mondiinterface bindings defined in:
27bba58289SHans VerkuilDocumentation/devicetree/bindings/media/video-interfaces.txt.
28bba58289SHans Verkuil
29bba58289SHans VerkuilExample:
30bba58289SHans Verkuil
31bba58289SHans Verkuil	i2c1: i2c@f0018000 {
32bba58289SHans Verkuil		ov7670: camera@21 {
33bba58289SHans Verkuil			compatible = "ovti,ov7670";
34bba58289SHans Verkuil			reg = <0x21>;
35bba58289SHans Verkuil			pinctrl-names = "default";
36bba58289SHans Verkuil			pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
37bba58289SHans Verkuil			reset-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
38bba58289SHans Verkuil			powerdown-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
39bba58289SHans Verkuil			clocks = <&pck0>;
40bba58289SHans Verkuil			clock-names = "xclk";
41bba58289SHans Verkuil			assigned-clocks = <&pck0>;
42bba58289SHans Verkuil			assigned-clock-rates = <25000000>;
43bba58289SHans Verkuil
44622b2d10SJacopo Mondi			ov7670,pclk-hb-disable;
45622b2d10SJacopo Mondi
46bba58289SHans Verkuil			port {
47bba58289SHans Verkuil				ov7670_0: endpoint {
48622b2d10SJacopo Mondi					hsync-active = <0>;
49622b2d10SJacopo Mondi					vsync-active = <0>;
50622b2d10SJacopo Mondi
51bba58289SHans Verkuil					remote-endpoint = <&isi_0>;
52bba58289SHans Verkuil				};
53bba58289SHans Verkuil			};
54bba58289SHans Verkuil		};
55bba58289SHans Verkuil	};
56