18c2ecf20Sopenharmony_ciTexas Instruments AM437x CAMERA (VPFE)
28c2ecf20Sopenharmony_ci--------------------------------------
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThe Video Processing Front End (VPFE) is a key component for image capture
58c2ecf20Sopenharmony_ciapplications. The capture module provides the system interface and the
68c2ecf20Sopenharmony_ciprocessing capability to connect RAW image-sensor modules and video decoders
78c2ecf20Sopenharmony_cito the AM437x device.
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciRequired properties:
108c2ecf20Sopenharmony_ci- compatible: must be "ti,am437x-vpfe"
118c2ecf20Sopenharmony_ci- reg: physical base address and length of the registers set for the device;
128c2ecf20Sopenharmony_ci- interrupts: should contain IRQ line for the VPFE;
138c2ecf20Sopenharmony_ci- ti,am437x-vpfe-interface: can be one of the following,
148c2ecf20Sopenharmony_ci	0 - Raw Bayer Interface.
158c2ecf20Sopenharmony_ci	1 - 8 Bit BT656 Interface.
168c2ecf20Sopenharmony_ci	2 - 10 Bit BT656 Interface.
178c2ecf20Sopenharmony_ci	3 - YCbCr 8 Bit Interface.
188c2ecf20Sopenharmony_ci	4 - YCbCr 16 Bit Interface.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciVPFE supports a single port node with parallel bus. It should contain one
218c2ecf20Sopenharmony_ci'port' child node with child 'endpoint' node. Please refer to the bindings
228c2ecf20Sopenharmony_cidefined in Documentation/devicetree/bindings/media/video-interfaces.txt.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciExample:
258c2ecf20Sopenharmony_ci	vpfe: vpfe@f0034000 {
268c2ecf20Sopenharmony_ci		compatible = "ti,am437x-vpfe";
278c2ecf20Sopenharmony_ci		reg = <0x48328000 0x2000>;
288c2ecf20Sopenharmony_ci		interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci		pinctrl-names = "default", "sleep";
318c2ecf20Sopenharmony_ci		pinctrl-0 = <&vpfe_pins_default>;
328c2ecf20Sopenharmony_ci		pinctrl-1 = <&vpfe_pins_sleep>;
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci		port {
358c2ecf20Sopenharmony_ci			#address-cells = <1>;
368c2ecf20Sopenharmony_ci			#size-cells = <0>;
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci			vpfe0_ep: endpoint {
398c2ecf20Sopenharmony_ci				remote-endpoint = <&ov2659_1>;
408c2ecf20Sopenharmony_ci				ti,am437x-vpfe-interface = <0>;
418c2ecf20Sopenharmony_ci				bus-width = <8>;
428c2ecf20Sopenharmony_ci				hsync-active = <0>;
438c2ecf20Sopenharmony_ci				vsync-active = <0>;
448c2ecf20Sopenharmony_ci			};
458c2ecf20Sopenharmony_ci		};
468c2ecf20Sopenharmony_ci	};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci	i2c1: i2c@4802a000 {
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci		ov2659@30 {
518c2ecf20Sopenharmony_ci			compatible = "ti,ov2659";
528c2ecf20Sopenharmony_ci			reg = <0x30>;
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci			port {
558c2ecf20Sopenharmony_ci				ov2659_1: endpoint {
568c2ecf20Sopenharmony_ci					remote-endpoint = <&vpfe0_ep>;
578c2ecf20Sopenharmony_ci					bus-width = <8>;
588c2ecf20Sopenharmony_ci					mclk-frequency = <12000000>;
598c2ecf20Sopenharmony_ci				};
608c2ecf20Sopenharmony_ci			};
618c2ecf20Sopenharmony_ci	};
62