The SPDC frame buffer driver (<ltib_dir>/rpm/BUILD/linux/drivers/video/mxc/
mxc_spdc_fb.cdrivers/video/mxc/mxc_spdc_fb.c) interacts closely with the generic
Linux frame buffer driver (drivers/video/fbmem.c).
For additional details on the frame buffer device, please refer to documentation in the
Linux kernel found in Documentation/fb/framebuffer.txt.
6.3.2 SPDC Frame Buffer Driver Extensions
Sipix display technology, in conjunction with the SPDC, has several features that
distinguish it from standard LCD-based frame buffer devices. These differences
introduce the need for API extensions to the frame buffer interface. The SPDC refreshes
the Sipix display asynchronously and supports partial screen updates. Therefore, the
SPDC requires notification from the user when the frame buffer contents have been
modified and which region needs updating. Another unique characteristic of SPDC
updates to the Sipix display is the long screen update latencies (between 300-980ms),
which introduces the need for a mechanism to allow the user to wait for a given screen
update to complete.
The custom API extensions to the frame buffer device are accessible both from user
space applications and from within kernel space. The standard device IOCTL interface
provides access to the custom API for user space applications. The IOCTL extensions,
along with relevant data structures and definitions, can be found in include/linux/
mxcfb.h. A full description of these IOCTLs can be found in the Programming Interface
section
.
For kernel mode access to the custom API extensions, the IOCTL interface should be
bypassed in favor of direct access to the underlying functions. These functions are
included in include/linux/mxcfb_epdc_kernel.h, and are documented in the Programming
Interface section
6.3.3 SPDC Panel Configuration
The SPDC driver is designed to flexibly support Sipix panels with a variety of panel
resolutions, timing parameters, and waveform modes. The SPDC driver is kept panel-
agnostic through the use of an SPDC panel mode structure, imx_spdc_fb_mode, which
can be found in arch/arm/plat-mxc/include/mach/epdc.h.
struct imx_spdc_fb_mode {
struct fb_videomode *vmode;
struct imx_spdc_panel_init_set *init_set;
const char
*wave_timing;
Chapter 6 Sipix Display Controller (SPDC) Frame Buffer Driver
i.MX 6SoloLite Linux Reference Manual, Rev. L3.0.35_4.1.0, 09/2013
Freescale Semiconductor, Inc.
59