summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/media/i2c/ov7670.txt
blob: 2c972a56f3cb5ea354f22c74bc8a41ee5792b6a0 (plain)
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
* Omnivision OV7670 CMOS sensor

The Omnivision OV7670 sensor supports multiple resolutions output, such as
CIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
output formats.

Required Properties:
- compatible: should be "ovti,ov7670"
- clocks: reference to the xclk input clock.
- clock-names: should be "xclk".

Required Endpoint Properties:
- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.

Optional Properties:
- reset-gpios: reference to the GPIO connected to the resetb pin, if any.
  Active is low.
- powerdown-gpios: reference to the GPIO connected to the pwdn pin, if any.
  Active is high.
- ov7670,pclk-hb-disable: a boolean property to suppress pixel clock output
  signal during horizontal blankings.

The device node must contain one 'port' child node with one 'endpoint' child
sub-node for its digital output video port, in accordance with the video
interface bindings defined in:
Documentation/devicetree/bindings/media/video-interfaces.txt.

Example:

	i2c1: i2c@f0018000 {
		ov7670: camera@21 {
			compatible = "ovti,ov7670";
			reg = <0x21>;
			pinctrl-names = "default";
			pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
			reset-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
			powerdown-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
			clocks = <&pck0>;
			clock-names = "xclk";
			assigned-clocks = <&pck0>;
			assigned-clock-rates = <25000000>;

			ov7670,pclk-hb-disable;

			port {
				ov7670_0: endpoint {
					hsync-active = <0>;
					vsync-active = <0>;

					remote-endpoint = <&isi_0>;
				};
			};
		};
	};