diff options
author | Krzysztof Helt <krzysztof.h1@wp.pl> | 2007-10-16 04:28:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:43:16 -0400 |
commit | 09fe75f6f934597f765748342ca6fb378ee7ecdb (patch) | |
tree | 55a3ab7bf52400be136ec533cd5ebda4336fcd07 /arch/arm/mach-s3c2410/mach-h1940.c | |
parent | 110c1fa75463c4f327e9fc491e9a27e938800d96 (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.c | 26 |
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 | **/ |
136 | static struct s3c2410fb_mach_info h1940_lcdcfg __initdata = { | 136 | static 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 | |||
166 | static 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 | ||
176 | static struct platform_device s3c_device_leds = { | 184 | static 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 |