2006-10-03 23:01:26 +02:00
/* linux/include/asm-arm/arch-s3c2410/fb.h
2005-09-09 13:10:07 -07: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 01:28:56 -07:00
/* LCD description */
struct s3c2410fb_display {
/* LCD type */
unsigned type ;
2006-12-08 02:40:23 -08:00
2005-09-09 13:10:07 -07:00
/* Screen size */
2007-10-16 01:28:56 -07:00
unsigned short width ;
unsigned short height ;
2005-09-09 13:10:07 -07:00
/* Screen info */
2007-10-16 01:28:56 -07:00
unsigned short xres ;
unsigned short yres ;
unsigned short bpp ;
2005-09-09 13:10:07 -07:00
2007-10-16 01:29:06 -07:00
unsigned pixclock ; /* pixclock in picoseconds */
2007-10-16 01:28:57 -07: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-09 13:10:07 -07:00
/* lcd configuration registers */
2007-10-16 01:28:58 -07:00
unsigned long lcdcon5 ;
2007-10-16 01:28:56 -07:00
} ;
struct s3c2410fb_mach_info {
struct s3c2410fb_display * displays ; /* attached diplays info */
unsigned num_displays ; /* number of defined displays */
unsigned default_display ;
2005-09-09 13:10:07 -07: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 15:31:45 +01:00
extern void __init s3c24xx_fb_set_platdata ( struct s3c2410fb_mach_info * ) ;
2005-09-09 13:10:07 -07:00
# endif /* __ASM_ARM_FB_H */