diff options
author | Richard Purdie <rpurdie@net.rmk.(none)> | 2006-09-20 17:54:21 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-10-02 08:33:37 -0400 |
commit | d14b272bc63f35a8f20b4b1df16c080b8d24f8f1 (patch) | |
tree | f754f3b333388e0ab78c934fd492906688fab2a6 /arch/arm/mach-pxa/poodle.c | |
parent | c5d311c7e93c7d84941028835bc6ae5e1bc4e73c (diff) |
[ARM] 3848/1: pxafb: Add option of fixing video modes and spitz QVGA mode support
Add the ability to have pxafb use only certain fixed video modes
(selected on a per platform basis). This is useful on production
hardware such as the Zaurus cxx00 models where the valid modes are
known in advance and any other modes could result in hardware damage.
Following this, add support for the cxx00 QVGA mode. Mode information
is passed to the lcd_power call to allowing the panel drivers to
configure the display hardware accordingly (corgi_lcd already contains
the functionality for the cxx00 panel).
This mirrors the setup already used by w100fb.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/poodle.c')
-rw-r--r-- | arch/arm/mach-pxa/poodle.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index 6dbff6d94801..5e8c098ca139 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -296,27 +296,25 @@ static struct pxa2xx_udc_mach_info udc_info __initdata = { | |||
296 | 296 | ||
297 | 297 | ||
298 | /* PXAFB device */ | 298 | /* PXAFB device */ |
299 | static struct pxafb_mach_info poodle_fb_info __initdata = { | 299 | static struct pxafb_mode_info poodle_fb_mode = { |
300 | .pixclock = 144700, | 300 | .pixclock = 144700, |
301 | |||
302 | .xres = 320, | 301 | .xres = 320, |
303 | .yres = 240, | 302 | .yres = 240, |
304 | .bpp = 16, | 303 | .bpp = 16, |
305 | |||
306 | .hsync_len = 7, | 304 | .hsync_len = 7, |
307 | .left_margin = 11, | 305 | .left_margin = 11, |
308 | .right_margin = 30, | 306 | .right_margin = 30, |
309 | |||
310 | .vsync_len = 2, | 307 | .vsync_len = 2, |
311 | .upper_margin = 2, | 308 | .upper_margin = 2, |
312 | .lower_margin = 0, | 309 | .lower_margin = 0, |
313 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | 310 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, |
311 | }; | ||
314 | 312 | ||
313 | static struct pxafb_mach_info poodle_fb_info = { | ||
314 | .modes = &poodle_fb_mode, | ||
315 | .num_modes = 1, | ||
315 | .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color, | 316 | .lccr0 = LCCR0_Act | LCCR0_Sngl | LCCR0_Color, |
316 | .lccr3 = 0, | 317 | .lccr3 = 0, |
317 | |||
318 | .pxafb_backlight_power = NULL, | ||
319 | .pxafb_lcd_power = NULL, | ||
320 | }; | 318 | }; |
321 | 319 | ||
322 | static struct platform_device *devices[] __initdata = { | 320 | static struct platform_device *devices[] __initdata = { |