linux/drivers/video/mxc/mxcfb_epson.c File Reference

MXC Frame buffer driver for ADC. More...

Data Structures

struct  mxcfb_info

Defines

#define PARTIAL_REFRESH

Enumerations

enum  

Functions

void set_panel_region (int disp, uint32_t x1, uint32_t x2, uint32_t y1, uint32_t y2)
static void init_channel_template (int disp)
static void _init_panel (int disp)
static void mxcfb_init_panel (struct fb_info *fbi)
static int mxcfb_map_video_memory (struct fb_info *fbi)
static int mxcfb_unmap_video_memory (struct fb_info *fbi)
static struct fb_info * mxcfb_init_fbinfo (struct device *dev, struct fb_ops *ops)
static int mxcfb_probe (struct platform_device *pdev)
static int mxcfb_init (void)

Variables

static struct fb_ops mxcfb_ops
static struct platform_driver mxcfb_driver
static struct platform_device mxcfb_device

Detailed Description

MXC Frame buffer driver for ADC.


Define Documentation

#define PARTIAL_REFRESH

Include files


Enumeration Type Documentation

anonymous enum

Enum defining Epson panel commands.


Function Documentation

static void _init_panel ( int  disp  )  [static]

Function to initialize the panel. First it resets the panel and then initilizes panel.

References set_panel_region().

static void init_channel_template ( int  disp  )  [static]

Function to create and initiate template command buffer for ADC. This template will be written to Panel memory.

static int mxcfb_init ( void   )  [static]

Main entry function for the framebuffer. The function registers the power management callback functions with the kernel and also registers the MXCFB callback functions with the core Linux framebuffer driver fbmem.c

Returns:
Error code indicating success or failure
static struct fb_info* mxcfb_init_fbinfo ( struct device *  dev,
struct fb_ops *  ops 
) [static, read]

Initializes the framebuffer information pointer. After allocating sufficient memory for the framebuffer structure, the fields are filled with custom information passed in from the configurable structures. This includes information such as bits per pixel, color maps, screen width/height and RGBA offsets.

Returns:
Framebuffer structure initialized with our information

Referenced by mxcfb_probe().

static void mxcfb_init_panel ( struct fb_info *  fbi  )  [static]

Function to initialize Asynchronous Display Controller. It also initilizes the ADC System 1 channel. Configure ADC display 0 parallel interface for the panel.

Parameters:
fbi framebuffer information pointer

Referenced by mxcfb_probe().

static int mxcfb_map_video_memory ( struct fb_info *  fbi  )  [static]

Allocates the DRAM memory for the frame buffer. This buffer is remapped into a non-cached, non-buffered, memory region to allow palette and pixel writes to occur without flushing the cache. Once this area is remapped, all virtual memory access to the video memory should occur at the new region.

Parameters:
fbi framebuffer information pointer
Returns:
Error code indicating success or failure

Referenced by mxcfb_probe().

static int mxcfb_probe ( struct platform_device *  pdev  )  [static]

Probe routine for the framebuffer driver. It is called during the driver binding process. The following functions are performed in this routine: Framebuffer initialization, Memory allocation and mapping, Framebuffer registration, IPU initialization.

Returns:
Appropriate error code to the kernel common code

References mxcfb_init_fbinfo(), mxcfb_init_panel(), mxcfb_map_video_memory(), MXCFB_NAME, and mxcfb_unmap_video_memory().

static int mxcfb_unmap_video_memory ( struct fb_info *  fbi  )  [static]

De-allocates the DRAM memory for the frame buffer.

Parameters:
fbi framebuffer information pointer
Returns:
Error code indicating success or failure

Referenced by mxcfb_probe().

void set_panel_region ( int  disp,
uint32_t  x1,
uint32_t  x2,
uint32_t  y1,
uint32_t  y2 
)

This function sets display region in the Epson panel

Parameters:
disp display panel to config
x1 x-coordinate of one vertex.
x2 x-coordinate of second vertex.
y1 y-coordinate of one vertex.
y2 y-coordinate of second vertex.

Referenced by _init_panel().


Variable Documentation

struct platform_device mxcfb_device [static]
Initial value:
 {
        .name = MXCFB_NAME,
        .id = 0,
        .dev = {
                .coherent_dma_mask = 0xFFFFFFFF,
                }
}

Device definition for the Framebuffer

struct platform_driver mxcfb_driver [static]
Initial value:
 {
        .driver = {
                   .name = MXCFB_NAME,
                   },
        .probe = mxcfb_probe,
        .suspend = mxcfb_suspend,
        .resume = mxcfb_resume,
}

This structure contains pointers to the power management callback functions.

struct fb_ops mxcfb_ops [static]
Initial value:
 {
        .owner = THIS_MODULE,
        .fb_open = mxcfb_open,
        .fb_release = mxcfb_release,
        .fb_set_par = mxcfb_set_par,
        .fb_check_var = mxcfb_check_var,
        .fb_setcolreg = mxcfb_setcolreg,
        .fb_fillrect = cfb_fillrect,
        .fb_copyarea = cfb_copyarea,
        .fb_imageblit = cfb_imageblit,
        .fb_blank = mxcfb_blank,
}

This structure contains the pointers to the control functions that are invoked by the core framebuffer driver to perform operations like blitting, rectangle filling, copy regions and cursor definition.

footer
©  Freescale Semiconductor, Inc., 2007.  All rights reserved.
Freescale Confidential Proprietary
NDA Required
doxygen