xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/ovti,ov7670.txt (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*ae5de77eSEmmanuel Vadot* Omnivision OV7670 CMOS sensor
2*ae5de77eSEmmanuel Vadot
3*ae5de77eSEmmanuel VadotThe Omnivision OV7670 sensor supports multiple resolutions output, such as
4*ae5de77eSEmmanuel VadotCIF, SVGA, UXGA. It also can support the YUV422/420, RGB565/555 or raw RGB
5*ae5de77eSEmmanuel Vadotoutput formats.
6*ae5de77eSEmmanuel Vadot
7*ae5de77eSEmmanuel VadotRequired Properties:
8*ae5de77eSEmmanuel Vadot- compatible: should be "ovti,ov7670"
9*ae5de77eSEmmanuel Vadot- clocks: reference to the xclk input clock.
10*ae5de77eSEmmanuel Vadot- clock-names: should be "xclk".
11*ae5de77eSEmmanuel Vadot
12*ae5de77eSEmmanuel VadotRequired Endpoint Properties:
13*ae5de77eSEmmanuel Vadot- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
14*ae5de77eSEmmanuel Vadot- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
15*ae5de77eSEmmanuel Vadot
16*ae5de77eSEmmanuel VadotOptional Properties:
17*ae5de77eSEmmanuel Vadot- reset-gpios: reference to the GPIO connected to the resetb pin, if any.
18*ae5de77eSEmmanuel Vadot  Active is low.
19*ae5de77eSEmmanuel Vadot- powerdown-gpios: reference to the GPIO connected to the pwdn pin, if any.
20*ae5de77eSEmmanuel Vadot  Active is high.
21*ae5de77eSEmmanuel Vadot- ov7670,pclk-hb-disable: a boolean property to suppress pixel clock output
22*ae5de77eSEmmanuel Vadot  signal during horizontal blankings.
23*ae5de77eSEmmanuel Vadot
24*ae5de77eSEmmanuel VadotThe device node must contain one 'port' child node with one 'endpoint' child
25*ae5de77eSEmmanuel Vadotsub-node for its digital output video port, in accordance with the video
26*ae5de77eSEmmanuel Vadotinterface bindings defined in:
27*ae5de77eSEmmanuel VadotDocumentation/devicetree/bindings/media/video-interfaces.txt.
28*ae5de77eSEmmanuel Vadot
29*ae5de77eSEmmanuel VadotExample:
30*ae5de77eSEmmanuel Vadot
31*ae5de77eSEmmanuel Vadot	i2c1: i2c@f0018000 {
32*ae5de77eSEmmanuel Vadot		ov7670: camera@21 {
33*ae5de77eSEmmanuel Vadot			compatible = "ovti,ov7670";
34*ae5de77eSEmmanuel Vadot			reg = <0x21>;
35*ae5de77eSEmmanuel Vadot			pinctrl-names = "default";
36*ae5de77eSEmmanuel Vadot			pinctrl-0 = <&pinctrl_pck0_as_isi_mck &pinctrl_sensor_power &pinctrl_sensor_reset>;
37*ae5de77eSEmmanuel Vadot			reset-gpios = <&pioE 11 GPIO_ACTIVE_LOW>;
38*ae5de77eSEmmanuel Vadot			powerdown-gpios = <&pioE 13 GPIO_ACTIVE_HIGH>;
39*ae5de77eSEmmanuel Vadot			clocks = <&pck0>;
40*ae5de77eSEmmanuel Vadot			clock-names = "xclk";
41*ae5de77eSEmmanuel Vadot			assigned-clocks = <&pck0>;
42*ae5de77eSEmmanuel Vadot			assigned-clock-rates = <25000000>;
43*ae5de77eSEmmanuel Vadot
44*ae5de77eSEmmanuel Vadot			ov7670,pclk-hb-disable;
45*ae5de77eSEmmanuel Vadot
46*ae5de77eSEmmanuel Vadot			port {
47*ae5de77eSEmmanuel Vadot				ov7670_0: endpoint {
48*ae5de77eSEmmanuel Vadot					hsync-active = <0>;
49*ae5de77eSEmmanuel Vadot					vsync-active = <0>;
50*ae5de77eSEmmanuel Vadot
51*ae5de77eSEmmanuel Vadot					remote-endpoint = <&isi_0>;
52*ae5de77eSEmmanuel Vadot				};
53*ae5de77eSEmmanuel Vadot			};
54*ae5de77eSEmmanuel Vadot		};
55*ae5de77eSEmmanuel Vadot	};
56