1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (c) 2004 Arnaud Patard <arnaud.patard@rtp-net.org> 4 * 5 * Inspired by pxafb.h 6 */ 7 8 #ifndef __ASM_PLAT_FB_S3C2410_H 9 #define __ASM_PLAT_FB_S3C2410_H __FILE__ 10 11 struct s3c2410fb_hw { 12 unsigned long lcdcon1; 13 unsigned long lcdcon2; 14 unsigned long lcdcon3; 15 unsigned long lcdcon4; 16 unsigned long lcdcon5; 17 }; 18 19 /* LCD description */ 20 struct s3c2410fb_display { 21 /* LCD type */ 22 unsigned type; 23 24 /* Screen size */ 25 unsigned short width; 26 unsigned short height; 27 28 /* Screen info */ 29 unsigned short xres; 30 unsigned short yres; 31 unsigned short bpp; 32 33 unsigned pixclock; /* pixclock in picoseconds */ 34 unsigned short left_margin; /* value in pixels (TFT) or HCLKs (STN) */ 35 unsigned short right_margin; /* value in pixels (TFT) or HCLKs (STN) */ 36 unsigned short hsync_len; /* value in pixels (TFT) or HCLKs (STN) */ 37 unsigned short upper_margin; /* value in lines (TFT) or 0 (STN) */ 38 unsigned short lower_margin; /* value in lines (TFT) or 0 (STN) */ 39 unsigned short vsync_len; /* value in lines (TFT) or 0 (STN) */ 40 41 /* lcd configuration registers */ 42 unsigned long lcdcon5; 43 }; 44 45 struct s3c2410fb_mach_info { 46 47 struct s3c2410fb_display *displays; /* attached displays info */ 48 unsigned num_displays; /* number of defined displays */ 49 unsigned default_display; 50 51 /* GPIOs */ 52 53 unsigned long gpcup; 54 unsigned long gpcup_mask; 55 unsigned long gpccon; 56 unsigned long gpccon_mask; 57 unsigned long gpdup; 58 unsigned long gpdup_mask; 59 unsigned long gpdcon; 60 unsigned long gpdcon_mask; 61 62 /* lpc3600 control register */ 63 unsigned long lpcsel; 64 }; 65 66 extern void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *); 67 68 #endif /* __ASM_PLAT_FB_S3C2410_H */ 69