xref: /freebsd/sys/contrib/device-tree/Bindings/media/i2c/ov5645.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Omnivision 1/4-Inch 5Mp CMOS Digital Image Sensor
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThe Omnivision OV5645 is a 1/4-Inch CMOS active pixel digital image sensor with
4*c66ec88fSEmmanuel Vadotan active array size of 2592H x 1944V. It is programmable through a serial I2C
5*c66ec88fSEmmanuel Vadotinterface.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel VadotRequired Properties:
8*c66ec88fSEmmanuel Vadot- compatible: Value should be "ovti,ov5645".
9*c66ec88fSEmmanuel Vadot- clocks: Reference to the xclk clock.
10*c66ec88fSEmmanuel Vadot- clock-names: Should be "xclk".
11*c66ec88fSEmmanuel Vadot- clock-frequency: Frequency of the xclk clock.
12*c66ec88fSEmmanuel Vadot- enable-gpios: Chip enable GPIO. Polarity is GPIO_ACTIVE_HIGH. This corresponds
13*c66ec88fSEmmanuel Vadot  to the hardware pin PWDNB which is physically active low.
14*c66ec88fSEmmanuel Vadot- reset-gpios: Chip reset GPIO. Polarity is GPIO_ACTIVE_LOW. This corresponds to
15*c66ec88fSEmmanuel Vadot  the hardware pin RESETB.
16*c66ec88fSEmmanuel Vadot- vdddo-supply: Chip digital IO regulator.
17*c66ec88fSEmmanuel Vadot- vdda-supply: Chip analog regulator.
18*c66ec88fSEmmanuel Vadot- vddd-supply: Chip digital core regulator.
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel VadotThe device node must contain one 'port' child node for its digital output
21*c66ec88fSEmmanuel Vadotvideo port, in accordance with the video interface bindings defined in
22*c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/media/video-interfaces.txt.
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel VadotExample:
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel Vadot	&i2c1 {
27*c66ec88fSEmmanuel Vadot		...
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel Vadot		ov5645: ov5645@3c {
30*c66ec88fSEmmanuel Vadot			compatible = "ovti,ov5645";
31*c66ec88fSEmmanuel Vadot			reg = <0x3c>;
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadot			enable-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
34*c66ec88fSEmmanuel Vadot			reset-gpios = <&gpio5 20 GPIO_ACTIVE_LOW>;
35*c66ec88fSEmmanuel Vadot			pinctrl-names = "default";
36*c66ec88fSEmmanuel Vadot			pinctrl-0 = <&camera_rear_default>;
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel Vadot			clocks = <&clks 200>;
39*c66ec88fSEmmanuel Vadot			clock-names = "xclk";
40*c66ec88fSEmmanuel Vadot			clock-frequency = <24000000>;
41*c66ec88fSEmmanuel Vadot
42*c66ec88fSEmmanuel Vadot			vdddo-supply = <&camera_dovdd_1v8>;
43*c66ec88fSEmmanuel Vadot			vdda-supply = <&camera_avdd_2v8>;
44*c66ec88fSEmmanuel Vadot			vddd-supply = <&camera_dvdd_1v2>;
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot			port {
47*c66ec88fSEmmanuel Vadot				ov5645_ep: endpoint {
48*c66ec88fSEmmanuel Vadot					clock-lanes = <1>;
49*c66ec88fSEmmanuel Vadot					data-lanes = <0 2>;
50*c66ec88fSEmmanuel Vadot					remote-endpoint = <&csi0_ep>;
51*c66ec88fSEmmanuel Vadot				};
52*c66ec88fSEmmanuel Vadot			};
53*c66ec88fSEmmanuel Vadot		};
54*c66ec88fSEmmanuel Vadot	};
55