xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunTexas Instruments AM437x CAMERA (VPFE)
2*4882a593Smuzhiyun--------------------------------------
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunThe Video Processing Front End (VPFE) is a key component for image capture
5*4882a593Smuzhiyunapplications. The capture module provides the system interface and the
6*4882a593Smuzhiyunprocessing capability to connect RAW image-sensor modules and video decoders
7*4882a593Smuzhiyunto the AM437x device.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunRequired properties:
10*4882a593Smuzhiyun- compatible: must be "ti,am437x-vpfe"
11*4882a593Smuzhiyun- reg: physical base address and length of the registers set for the device;
12*4882a593Smuzhiyun- interrupts: should contain IRQ line for the VPFE;
13*4882a593Smuzhiyun- ti,am437x-vpfe-interface: can be one of the following,
14*4882a593Smuzhiyun	0 - Raw Bayer Interface.
15*4882a593Smuzhiyun	1 - 8 Bit BT656 Interface.
16*4882a593Smuzhiyun	2 - 10 Bit BT656 Interface.
17*4882a593Smuzhiyun	3 - YCbCr 8 Bit Interface.
18*4882a593Smuzhiyun	4 - YCbCr 16 Bit Interface.
19*4882a593Smuzhiyun
20*4882a593SmuzhiyunVPFE supports a single port node with parallel bus. It should contain one
21*4882a593Smuzhiyun'port' child node with child 'endpoint' node. Please refer to the bindings
22*4882a593Smuzhiyundefined in Documentation/devicetree/bindings/media/video-interfaces.txt.
23*4882a593Smuzhiyun
24*4882a593SmuzhiyunExample:
25*4882a593Smuzhiyun	vpfe: vpfe@f0034000 {
26*4882a593Smuzhiyun		compatible = "ti,am437x-vpfe";
27*4882a593Smuzhiyun		reg = <0x48328000 0x2000>;
28*4882a593Smuzhiyun		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun		pinctrl-names = "default", "sleep";
31*4882a593Smuzhiyun		pinctrl-0 = <&vpfe_pins_default>;
32*4882a593Smuzhiyun		pinctrl-1 = <&vpfe_pins_sleep>;
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun		port {
35*4882a593Smuzhiyun			#address-cells = <1>;
36*4882a593Smuzhiyun			#size-cells = <0>;
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun			vpfe0_ep: endpoint {
39*4882a593Smuzhiyun				remote-endpoint = <&ov2659_1>;
40*4882a593Smuzhiyun				ti,am437x-vpfe-interface = <0>;
41*4882a593Smuzhiyun				bus-width = <8>;
42*4882a593Smuzhiyun				hsync-active = <0>;
43*4882a593Smuzhiyun				vsync-active = <0>;
44*4882a593Smuzhiyun			};
45*4882a593Smuzhiyun		};
46*4882a593Smuzhiyun	};
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun	i2c1: i2c@4802a000 {
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		ov2659@30 {
51*4882a593Smuzhiyun			compatible = "ti,ov2659";
52*4882a593Smuzhiyun			reg = <0x30>;
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun			port {
55*4882a593Smuzhiyun				ov2659_1: endpoint {
56*4882a593Smuzhiyun					remote-endpoint = <&vpfe0_ep>;
57*4882a593Smuzhiyun					bus-width = <8>;
58*4882a593Smuzhiyun					mclk-frequency = <12000000>;
59*4882a593Smuzhiyun				};
60*4882a593Smuzhiyun			};
61*4882a593Smuzhiyun	};
62