]>
Commit | Line | Data |
---|---|---|
1 | /* linux/include/asm/arch-nuc900/fb.h | |
2 | * | |
3 | * Copyright (c) 2008 Nuvoton technology corporation | |
4 | * All rights reserved. | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License as published by | |
8 | * the Free Software Foundation; either version 2 of the License, or | |
9 | * (at your option) any later version. | |
10 | * | |
11 | * Changelog: | |
12 | * | |
13 | * 2008/08/26 vincen.zswan modify this file for LCD. | |
14 | */ | |
15 | ||
16 | #ifndef __ASM_ARM_FB_H | |
17 | #define __ASM_ARM_FB_H | |
18 | ||
19 | ||
20 | ||
21 | /* LCD Controller Hardware Desc */ | |
22 | struct nuc900fb_hw { | |
23 | unsigned int lcd_dccs; | |
24 | unsigned int lcd_device_ctrl; | |
25 | unsigned int lcd_mpulcd_cmd; | |
26 | unsigned int lcd_int_cs; | |
27 | unsigned int lcd_crtc_size; | |
28 | unsigned int lcd_crtc_dend; | |
29 | unsigned int lcd_crtc_hr; | |
30 | unsigned int lcd_crtc_hsync; | |
31 | unsigned int lcd_crtc_vr; | |
32 | unsigned int lcd_va_baddr0; | |
33 | unsigned int lcd_va_baddr1; | |
34 | unsigned int lcd_va_fbctrl; | |
35 | unsigned int lcd_va_scale; | |
36 | unsigned int lcd_va_test; | |
37 | unsigned int lcd_va_win; | |
38 | unsigned int lcd_va_stuff; | |
39 | }; | |
40 | ||
41 | /* LCD Display Description */ | |
42 | struct nuc900fb_display { | |
43 | /* LCD Image type */ | |
44 | unsigned type; | |
45 | ||
46 | /* LCD Screen Size */ | |
47 | unsigned short width; | |
48 | unsigned short height; | |
49 | ||
50 | /* LCD Screen Info */ | |
51 | unsigned short xres; | |
52 | unsigned short yres; | |
53 | unsigned short bpp; | |
54 | ||
55 | unsigned long pixclock; | |
56 | unsigned short left_margin; | |
57 | unsigned short right_margin; | |
58 | unsigned short hsync_len; | |
59 | unsigned short upper_margin; | |
60 | unsigned short lower_margin; | |
61 | unsigned short vsync_len; | |
62 | ||
63 | /* hardware special register value */ | |
64 | unsigned int dccs; | |
65 | unsigned int devctl; | |
66 | unsigned int fbctrl; | |
67 | unsigned int scale; | |
68 | }; | |
69 | ||
70 | struct nuc900fb_mach_info { | |
71 | struct nuc900fb_display *displays; | |
72 | unsigned num_displays; | |
73 | unsigned default_display; | |
74 | /* GPIO Setting Info */ | |
75 | unsigned gpio_dir; | |
76 | unsigned gpio_dir_mask; | |
77 | unsigned gpio_data; | |
78 | unsigned gpio_data_mask; | |
79 | }; | |
80 | ||
81 | extern void __init nuc900_fb_set_platdata(struct nuc900fb_mach_info *); | |
82 | ||
83 | #endif /* __ASM_ARM_FB_H */ |