1417d2e50SBenoit ParrotTexas Instruments AM437x CAMERA (VPFE)
2417d2e50SBenoit Parrot--------------------------------------
3417d2e50SBenoit Parrot
4417d2e50SBenoit ParrotThe Video Processing Front End (VPFE) is a key component for image capture
5417d2e50SBenoit Parrotapplications. The capture module provides the system interface and the
6417d2e50SBenoit Parrotprocessing capability to connect RAW image-sensor modules and video decoders
7417d2e50SBenoit Parrotto the AM437x device.
8417d2e50SBenoit Parrot
9417d2e50SBenoit ParrotRequired properties:
10417d2e50SBenoit Parrot- compatible: must be "ti,am437x-vpfe"
11417d2e50SBenoit Parrot- reg: physical base address and length of the registers set for the device;
12417d2e50SBenoit Parrot- interrupts: should contain IRQ line for the VPFE;
13417d2e50SBenoit Parrot- ti,am437x-vpfe-interface: can be one of the following,
14417d2e50SBenoit Parrot	0 - Raw Bayer Interface.
15417d2e50SBenoit Parrot	1 - 8 Bit BT656 Interface.
16417d2e50SBenoit Parrot	2 - 10 Bit BT656 Interface.
17417d2e50SBenoit Parrot	3 - YCbCr 8 Bit Interface.
18417d2e50SBenoit Parrot	4 - YCbCr 16 Bit Interface.
19417d2e50SBenoit Parrot
20417d2e50SBenoit ParrotVPFE supports a single port node with parallel bus. It should contain one
21417d2e50SBenoit Parrot'port' child node with child 'endpoint' node. Please refer to the bindings
22417d2e50SBenoit Parrotdefined in Documentation/devicetree/bindings/media/video-interfaces.txt.
23417d2e50SBenoit Parrot
24417d2e50SBenoit ParrotExample:
25417d2e50SBenoit Parrot	vpfe: vpfe@f0034000 {
26417d2e50SBenoit Parrot		compatible = "ti,am437x-vpfe";
27417d2e50SBenoit Parrot		reg = <0x48328000 0x2000>;
28417d2e50SBenoit Parrot		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
29417d2e50SBenoit Parrot
30417d2e50SBenoit Parrot		pinctrl-names = "default", "sleep";
31417d2e50SBenoit Parrot		pinctrl-0 = <&vpfe_pins_default>;
32417d2e50SBenoit Parrot		pinctrl-1 = <&vpfe_pins_sleep>;
33417d2e50SBenoit Parrot
34417d2e50SBenoit Parrot		port {
35417d2e50SBenoit Parrot			#address-cells = <1>;
36417d2e50SBenoit Parrot			#size-cells = <0>;
37417d2e50SBenoit Parrot
38417d2e50SBenoit Parrot			vpfe0_ep: endpoint {
39417d2e50SBenoit Parrot				remote-endpoint = <&ov2659_1>;
40417d2e50SBenoit Parrot				ti,am437x-vpfe-interface = <0>;
41417d2e50SBenoit Parrot				bus-width = <8>;
42417d2e50SBenoit Parrot				hsync-active = <0>;
43417d2e50SBenoit Parrot				vsync-active = <0>;
44417d2e50SBenoit Parrot			};
45417d2e50SBenoit Parrot		};
46417d2e50SBenoit Parrot	};
47417d2e50SBenoit Parrot
48417d2e50SBenoit Parrot	i2c1: i2c@4802a000 {
49417d2e50SBenoit Parrot
50417d2e50SBenoit Parrot		ov2659@30 {
51417d2e50SBenoit Parrot			compatible = "ti,ov2659";
52417d2e50SBenoit Parrot			reg = <0x30>;
53417d2e50SBenoit Parrot
54417d2e50SBenoit Parrot			port {
55417d2e50SBenoit Parrot				ov2659_1: endpoint {
56417d2e50SBenoit Parrot					remote-endpoint = <&vpfe0_ep>;
57417d2e50SBenoit Parrot					bus-width = <8>;
58417d2e50SBenoit Parrot					mclk-frequency = <12000000>;
59417d2e50SBenoit Parrot				};
60417d2e50SBenoit Parrot			};
61417d2e50SBenoit Parrot	};
62