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 17struct 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 */ 26struct 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 51struct 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 72extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *); 73 74#endif /* __ASM_ARM_FB_H */ 75