= {under.jpg}
=
Overview
Video Framebuffer Read IP cores are designed for video applications requiring frame buffers and is designed for high-bandwidth access between the AXI4-Stream video interface and the AXI4-interface.
Location
Linux kernel:
https://github.com/Xilinx/linux-xlnx/tree/2017.1_video_ea<TBD>
Supported IP FeaturesSupported IP Features
The following is a list of IP constraints for which there is support in the driver and for which verification within the context of the listed reference designs has been performed (see below):
Streaming1. Streaming Video Format RGB, YUV 4:2:2
Memory4:2:2, YUV 4:4:4, YUV 4:2:0
2. Memory Video Format Support: RGB8, BGRX8, RGBX8, YUYV8, YUVX8, RGBX10, YUVX10, Y_UV8, RGB8
ProgrammableY_UV8_420, UYVY8, YUV8, Y_UV10, Y_UV10_420, Y8, Y10
3. Programmable memory video format
Support
4. Support for 8-bit or 10-bit per color memory interface
Resolutions
5. Resolutions up to
Unsupported IP FeaturesUnsupported IP Features
The following list of IP constraints either has no driver support or has not yet been verified to work in any existing technical reference design:
Streaming Video Format Support: YUV 4:2:0, YUV 4:4:4
Memory Video Format Support: YUVX8, RGBX10, YUVX10, Y_UV8_420, YUV8, Y_UV10, Y_UV10_420, Y8, Y10
Support for 10-bit per color component on stream or memory interface
Resolutions1. Resolutions up to
Known IssuesKnown Issues
When DMA operations are initiated by a client, the hardware is placed into "autorestart" mode. When the last buffer has been returned to the client as "completed", if the client does not supply a new read buffer location or fails to halt the driver, then the last buffer location written to will continue to be utilized by the driver. In effect, the driver will "spin" on the last location programmed.
Kernel ConfigurationKernel Configuration
The dirver must be enabled in the kernel by selecting option CONFIG_XILINX_FRMBUF
Device Tree ConfigurationDevice Tree Configuration
Comprehensive documentation regarding device tree configuration may be found: <linux_root>/Documentation/devicetree/bindings/dma/xilinx/xilinx_frmbuf.txt
Example:Below is a device tree example for a Framebuffer Read instance configured with 32-bit wide DMA descriptors and support for RGB8 as well as RGBX8 memory formats:
v_frmbuf_rd_0: v_frmbuf_rd@80000000 {
#dma-cells = <1>;
compatible = "xlnx,axi-frmbuf-rd-1.00.a";"xlnx,axi-frmbuf-rd-v2";
interrupt-parent = <&gic>;
interrupts = <0 92 4>;
reset-gpios = <&gpio 80 1>;
reg = <0x0 0x80000000 0x0 0x10000>;
xlnx,dma-addr-width = <32>;
xlnx,vid-formats = "bgr888","xbgr8888";
};
Implementation OverviewImplementation Overview