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