aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-s3c2410/mach-h1940.c
diff options
context:
space:
mode:
authorKrzysztof Helt <krzysztof.h1@wp.pl>2007-10-16 04:28:56 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:16 -0400
commit09fe75f6f934597f765748342ca6fb378ee7ecdb (patch)
tree55a3ab7bf52400be136ec533cd5ebda4336fcd07 /arch/arm/mach-s3c2410/mach-h1940.c
parent110c1fa75463c4f327e9fc491e9a27e938800d96 (diff)
s3c2410fb: multi-display support
This patch adds a new structure to describe and handle more than one panel (display mode) for the s3c2410 framebuffer. This structure is added after the pxafb driver. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/arm/mach-s3c2410/mach-h1940.c')
-rw-r--r--arch/arm/mach-s3c2410/mach-h1940.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c
index 9a172b4ad720..ab04b2961d6c 100644
--- a/arch/arm/mach-s3c2410/mach-h1940.c
+++ b/arch/arm/mach-s3c2410/mach-h1940.c
@@ -133,8 +133,7 @@ static struct s3c2410_udc_mach_info h1940_udc_cfg __initdata = {
133/** 133/**
134 * Set lcd on or off 134 * Set lcd on or off
135 **/ 135 **/
136static struct s3c2410fb_mach_info h1940_lcdcfg __initdata = { 136static struct s3c2410fb_display h1940_lcd __initdata = {
137 .fixed_syncs= 1,
138 .regs={ 137 .regs={
139 .lcdcon1= S3C2410_LCDCON1_TFT16BPP | \ 138 .lcdcon1= S3C2410_LCDCON1_TFT16BPP | \
140 S3C2410_LCDCON1_TFT | \ 139 S3C2410_LCDCON1_TFT | \
@@ -156,6 +155,21 @@ static struct s3c2410fb_mach_info h1940_lcdcfg __initdata = {
156 S3C2410_LCDCON5_INVVLINE | \ 155 S3C2410_LCDCON5_INVVLINE | \
157 S3C2410_LCDCON5_HWSWP, 156 S3C2410_LCDCON5_HWSWP,
158 }, 157 },
158
159 .width = 240,
160 .height = 320,
161 .xres = 240,
162 .yres = 320,
163 .bpp = 16,
164};
165
166static struct s3c2410fb_mach_info h1940_fb_info __initdata = {
167 .fixed_syncs = 1,
168
169 .displays = &h1940_lcd,
170 .num_displays = 1,
171 .default_display = 0,
172
159 .lpcsel= 0x02, 173 .lpcsel= 0x02,
160 .gpccon= 0xaa940659, 174 .gpccon= 0xaa940659,
161 .gpccon_mask= 0xffffffff, 175 .gpccon_mask= 0xffffffff,
@@ -165,12 +179,6 @@ static struct s3c2410fb_mach_info h1940_lcdcfg __initdata = {
165 .gpdcon_mask= 0xffffffff, 179 .gpdcon_mask= 0xffffffff,
166 .gpdup= 0x0000faff, 180 .gpdup= 0x0000faff,
167 .gpdup_mask= 0xffffffff, 181 .gpdup_mask= 0xffffffff,
168
169 .width= 240,
170 .height= 320,
171 .xres= {240,240,240},
172 .yres= {320,320,320},
173 .bpp= {16,16,16},
174}; 182};
175 183
176static struct platform_device s3c_device_leds = { 184static struct platform_device s3c_device_leds = {
@@ -217,7 +225,7 @@ static void __init h1940_init(void)
217{ 225{
218 u32 tmp; 226 u32 tmp;
219 227
220 s3c24xx_fb_set_platdata(&h1940_lcdcfg); 228 s3c24xx_fb_set_platdata(&h1940_fb_info);
221 s3c24xx_udc_set_platdata(&h1940_udc_cfg); 229 s3c24xx_udc_set_platdata(&h1940_udc_cfg);
222 230
223 /* Turn off suspend on both USB ports, and switch the 231 /* Turn off suspend on both USB ports, and switch the