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