2006-10-04 05:01:26 +08:00
|
|
|
/* linux/include/asm-arm/arch-s3c2410/fb.h
|
2005-09-10 04:10:07 +08:00
|
|
|
*
|
|
|
|
* Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org>
|
|
|
|
*
|
|
|
|
* Inspired by pxafb.h
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __ASM_ARM_FB_H
|
|
|
|
#define __ASM_ARM_FB_H
|
|
|
|
|
|
|
|
#include <asm/arch/regs-lcd.h>
|
|
|
|
|
|
|
|
struct s3c2410fb_hw {
|
|
|
|
unsigned long lcdcon1;
|
|
|
|
unsigned long lcdcon2;
|
|
|
|
unsigned long lcdcon3;
|
|
|
|
unsigned long lcdcon4;
|
|
|
|
unsigned long lcdcon5;
|
|
|
|
};
|
|
|
|
|
2007-10-16 16:28:56 +08:00
|
|
|
/* LCD description */
|
|
|
|
struct s3c2410fb_display {
|
|
|
|
/* LCD type */
|
|
|
|
unsigned type;
|
2006-12-08 18:40:23 +08:00
|
|
|
|
2005-09-10 04:10:07 +08:00
|
|
|
/* Screen size */
|
2007-10-16 16:28:56 +08:00
|
|
|
unsigned short width;
|
|
|
|
unsigned short height;
|
2005-09-10 04:10:07 +08:00
|
|
|
|
|
|
|
/* Screen info */
|
2007-10-16 16:28:56 +08:00
|
|
|
unsigned short xres;
|
|
|
|
unsigned short yres;
|
|
|
|
unsigned short bpp;
|
2005-09-10 04:10:07 +08:00
|
|
|
|
2007-10-16 16:29:06 +08:00
|
|
|
unsigned pixclock; /* pixclock in picoseconds */
|
2007-10-16 16:28:57 +08:00
|
|
|
unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */
|
|
|
|
unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */
|
|
|
|
unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */
|
|
|
|
unsigned short upper_margin; /* value in lines (TFT) or 0 (STN) */
|
|
|
|
unsigned short lower_margin; /* value in lines (TFT) or 0 (STN) */
|
|
|
|
unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */
|
|
|
|
|
2005-09-10 04:10:07 +08:00
|
|
|
/* lcd configuration registers */
|
2007-10-16 16:28:58 +08:00
|
|
|
unsigned long lcdcon5;
|
2007-10-16 16:28:56 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
struct s3c2410fb_mach_info {
|
|
|
|
|
|
|
|
struct s3c2410fb_display *displays; /* attached diplays info */
|
|
|
|
unsigned num_displays; /* number of defined displays */
|
|
|
|
unsigned default_display;
|
2005-09-10 04:10:07 +08:00
|
|
|
|
|
|
|
/* GPIOs */
|
|
|
|
|
|
|
|
unsigned long gpcup;
|
|
|
|
unsigned long gpcup_mask;
|
|
|
|
unsigned long gpccon;
|
|
|
|
unsigned long gpccon_mask;
|
|
|
|
unsigned long gpdup;
|
|
|
|
unsigned long gpdup_mask;
|
|
|
|
unsigned long gpdcon;
|
|
|
|
unsigned long gpdcon_mask;
|
|
|
|
|
|
|
|
/* lpc3600 control register */
|
|
|
|
unsigned long lpcsel;
|
|
|
|
};
|
|
|
|
|
2005-10-28 22:31:45 +08:00
|
|
|
extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *);
|
2005-09-10 04:10:07 +08:00
|
|
|
|
|
|
|
#endif /* __ASM_ARM_FB_H */
|