Files
linux-legacy/drivers/video/mxc/mx2fb.h
Rob Herring be0524d38f ENGR00117389 Port 5.0.0 release to 2.6.31
This is i.MX BSP 5.0.0 release ported to 2.6.31

Signed-off-by: Rob Herring <r.herring@freescale.com>
Signed-off-by: Alan Tull <r80115@freescale.com>
Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
2010-08-10 11:44:41 -05:00

142 lines
3.6 KiB
C

/*
* Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
* The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License
* Version 2 or later at the following locations:
*
* http://www.opensource.org/licenses/gpl-license.html
* http://www.gnu.org/copyleft/gpl.html
*/
/*!
* @file mx2fb.h
*
* @brief Header file for the MX27 Frame buffer
*
* @ingroup Framebuffer
*/
#ifndef __MX2FB_H__
#define __MX2FB_H__
/*! @brief MX27 LCDC graphic window information */
struct fb_gwinfo {
/*! Non-zero if graphic window is enabled */
__u32 enabled;
/* The fields below are valid only when graphic window is enabled */
/*! Graphic window alpha value from 0 to 255 */
__u32 alpha_value;
/*! Non-zero if graphic window color keying is enabled. */
__u32 ck_enabled;
/*
* The fields ck_red, ck_green and ck_blue are valid only when
* graphic window and the color keying are enabled. They are the
* color component of graphic window color keying.
*/
/*! Color keying red component */
__u32 ck_red;
/*! Color keying green component */
__u32 ck_green;
/*! Color keying blue component */
__u32 ck_blue;
/*! Graphic window x position */
__u32 xpos;
/*! Graphic window y position */
__u32 ypos;
/*! Non-zero if graphic window vertical scan in reverse direction. */
__u32 vs_reversed;
/*
* The following fields are valid for FBIOGET_GWINFO and
* mx2_gw_set(). FBIOPUT_GWINFO ignores these fields.
*/
__u32 base; /* Graphic window start address */
__u32 xres; /* Visible x resolution */
__u32 yres; /* Visible y resolution */
__u32 xres_virtual; /* Virtual x resolution */
};
/* 0x46E0-0x46FF are reserved for MX27 */
#define FBIOGET_GWINFO 0x46E0 /*!< Get graphic window information */
#define FBIOPUT_GWINFO 0x46E1 /*!< Set graphic window information */
struct mx2fb_gbl_alpha {
int enable;
int alpha;
};
struct mx2fb_color_key {
int enable;
__u32 color_key;
};
#define MX2FB_SET_GBL_ALPHA _IOW('M', 0, struct mx2fb_gbl_alpha)
#define MX2FB_SET_CLR_KEY _IOW('M', 1, struct mx2fb_color_key)
#define MX2FB_WAIT_FOR_VSYNC _IOW('F', 0x20, u_int32_t)
#ifdef __KERNEL__
/*
* LCDC register definitions
*/
#define LCDC_LSSAR 0x00
#define LCDC_LSR 0x04
#define LCDC_LVPWR 0x08
#define LCDC_LCPR 0x0C
#define LCDC_LCWHBR 0x10
#define LCDC_LCCMR 0x14
#define LCDC_LPCR 0x18
#define LCDC_LHCR 0x1C
#define LCDC_LVCR 0x20
#define LCDC_LPOR 0x24
#define LCDC_LSCR 0x28
#define LCDC_LPCCR 0x2C
#define LCDC_LDCR 0x30
#define LCDC_LRMCR 0x34
#define LCDC_LICR 0x38
#define LCDC_LIER 0x3C
#define LCDC_LISR 0x40
#define LCDC_LGWSAR 0x50
#define LCDC_LGWSR 0x54
#define LCDC_LGWVPWR 0x58
#define LCDC_LGWPOR 0x5C
#define LCDC_LGWPR 0x60
#define LCDC_LGWCR 0x64
#define LCDC_LGWDCR 0x68
#define LCDC_LAUSCR 0x80
#define LCDC_LAUSCCR 0x84
#define LCDC_REG(reg) (IO_ADDRESS(LCDC_BASE_ADDR) + reg)
#define MX2FB_INT_BOF 0x0001 /* Beginning of Frame */
#define MX2FB_INT_EOF 0x0002 /* End of Frame */
#define MX2FB_INT_ERR_RES 0x0004 /* Error Response */
#define MX2FB_INT_UDR_ERR 0x0008 /* Under Run Error */
#define MX2FB_INT_GW_BOF 0x0010 /* Graphic Window BOF */
#define MX2FB_INT_GW_EOF 0x0020 /* Graphic Window EOF */
#define MX2FB_INT_GW_ERR_RES 0x0040 /* Graphic Window ERR_RES */
#define MX2FB_INT_GW_UDR_ERR 0x0080 /* Graphic Window UDR_ERR */
#define FB_EVENT_MXC_EOF 0x8001 /* End of Frame event */
int mx2fb_register_client(struct notifier_block *nb);
int mx2fb_unregister_client(struct notifier_block *nb);
void mx2_gw_set(struct fb_gwinfo *gwinfo);
#endif /* __KERNEL__ */
#endif /* __MX2FB_H__ */