diff options
| author | Christer Weinigel <christer@weinigel.se> | 2008-07-07 13:12:46 -0400 |
|---|---|---|
| committer | Ben Dooks <ben-linux@fluff.org> | 2008-07-07 13:13:04 -0400 |
| commit | e43f238390168a13416d4f21803f76b1ff45fb95 (patch) | |
| tree | 54e010041b9b610f2bcc08d0f16074fd2afb9f16 | |
| parent | 9579087331ee0cd220d29aa5bda79ff55b33c228 (diff) | |
[ARM] Acer n30: LCD support.
This patch adds the configuration needed for the LCD display on the n30.
Signed-off-by: Christer Weinigel <christer@weinigel.se>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
| -rw-r--r-- | arch/arm/mach-s3c2410/mach-n30.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/arm/mach-s3c2410/mach-n30.c b/arch/arm/mach-s3c2410/mach-n30.c index 621b343adbed..476b15c089a7 100644 --- a/arch/arm/mach-s3c2410/mach-n30.c +++ b/arch/arm/mach-s3c2410/mach-n30.c | |||
| @@ -31,8 +31,10 @@ | |||
| 31 | #include <asm/irq.h> | 31 | #include <asm/irq.h> |
| 32 | #include <asm/mach-types.h> | 32 | #include <asm/mach-types.h> |
| 33 | 33 | ||
| 34 | #include <asm/arch/fb.h> | ||
| 34 | #include <asm/arch/leds-gpio.h> | 35 | #include <asm/arch/leds-gpio.h> |
| 35 | #include <asm/arch/regs-gpio.h> | 36 | #include <asm/arch/regs-gpio.h> |
| 37 | #include <asm/arch/regs-lcd.h> | ||
| 36 | 38 | ||
| 37 | #include <asm/mach/arch.h> | 39 | #include <asm/mach/arch.h> |
| 38 | #include <asm/mach/irq.h> | 40 | #include <asm/mach/irq.h> |
| @@ -290,6 +292,31 @@ static struct platform_device n30_warning_led = { | |||
| 290 | }, | 292 | }, |
| 291 | }; | 293 | }; |
| 292 | 294 | ||
| 295 | static struct s3c2410fb_display n30_display __initdata = { | ||
| 296 | .type = S3C2410_LCDCON1_TFT, | ||
| 297 | .width = 240, | ||
| 298 | .height = 320, | ||
| 299 | .pixclock = 170000, | ||
| 300 | .xres = 240, | ||
| 301 | .yres = 320, | ||
| 302 | .bpp = 16, | ||
| 303 | .left_margin = 3, | ||
| 304 | .right_margin = 40, | ||
| 305 | .hsync_len = 40, | ||
| 306 | .upper_margin = 2, | ||
| 307 | .lower_margin = 3, | ||
| 308 | .vsync_len = 2, | ||
| 309 | |||
| 310 | .lcdcon5 = S3C2410_LCDCON5_INVVLINE | S3C2410_LCDCON5_INVVFRAME, | ||
| 311 | }; | ||
| 312 | |||
| 313 | static struct s3c2410fb_mach_info n30_fb_info __initdata = { | ||
| 314 | .displays = &n30_display, | ||
| 315 | .num_displays = 1, | ||
| 316 | .default_display = 0, | ||
| 317 | .lpcsel= 0x06, | ||
| 318 | }; | ||
| 319 | |||
| 293 | static struct platform_device *n30_devices[] __initdata = { | 320 | static struct platform_device *n30_devices[] __initdata = { |
| 294 | &s3c_device_lcd, | 321 | &s3c_device_lcd, |
| 295 | &s3c_device_wdt, | 322 | &s3c_device_wdt, |
| @@ -334,6 +361,7 @@ static void __init n30_init_irq(void) | |||
| 334 | 361 | ||
| 335 | static void __init n30_init(void) | 362 | static void __init n30_init(void) |
| 336 | { | 363 | { |
| 364 | s3c24xx_fb_set_platdata(&n30_fb_info); | ||
| 337 | s3c_device_i2c.dev.platform_data = &n30_i2ccfg; | 365 | s3c_device_i2c.dev.platform_data = &n30_i2ccfg; |
| 338 | s3c24xx_udc_set_platdata(&n30_udc_cfg); | 366 | s3c24xx_udc_set_platdata(&n30_udc_cfg); |
| 339 | 367 | ||
