1 /* arch/arm/mach-s3c2410/include/mach/fb.h 2 * 3 * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org> 4 * 5 * Inspired by pxafb.h 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 12 #ifndef __ASM_ARM_FB_H 13 #define __ASM_ARM_FB_H 14 15 #include <mach/regs-lcd.h> 16 17 struct s3c2410fb_hw { 18 unsigned long lcdcon1; 19 unsigned long lcdcon2; 20 unsigned long lcdcon3; 21 unsigned long lcdcon4; 22 unsigned long lcdcon5; 23 }; 24 25 /* LCD description */ 26 struct s3c2410fb_display { 27 /* LCD type */ 28 unsigned type; 29 30 /* Screen size */ 31 unsigned short width; 32 unsigned short height; 33 34 /* Screen info */ 35 unsigned short xres; 36 unsigned short yres; 37 unsigned short bpp; 38 39 unsigned pixclock; /* pixclock in picoseconds */ 40 unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */ 41 unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */ 42 unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */ 43 unsigned short upper_margin; /* value in lines (TFT) or 0 (STN) */ 44 unsigned short lower_margin; /* value in lines (TFT) or 0 (STN) */ 45 unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */ 46 47 /* lcd configuration registers */ 48 unsigned long lcdcon5; 49 }; 50 51 struct s3c2410fb_mach_info { 52 53 struct s3c2410fb_display *displays; /* attached diplays info */ 54 unsigned num_displays; /* number of defined displays */ 55 unsigned default_display; 56 57 /* GPIOs */ 58 59 unsigned long gpcup; 60 unsigned long gpcup_mask; 61 unsigned long gpccon; 62 unsigned long gpccon_mask; 63 unsigned long gpdup; 64 unsigned long gpdup_mask; 65 unsigned long gpdcon; 66 unsigned long gpdcon_mask; 67 68 /* lpc3600 control register */ 69 unsigned long lpcsel; 70 }; 71 72 extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *); 73 74 #endif /* __ASM_ARM_FB_H */ 75