diff options
Diffstat (limited to 'arch/arm/mach-davinci/devices-da8xx.c')
-rw-r--r-- | arch/arm/mach-davinci/devices-da8xx.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c index 1882eef3aead..094eb8ed8e76 100644 --- a/arch/arm/mach-davinci/devices-da8xx.c +++ b/arch/arm/mach-davinci/devices-da8xx.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <mach/common.h> | 21 | #include <mach/common.h> |
22 | #include <mach/time.h> | 22 | #include <mach/time.h> |
23 | #include <mach/da8xx.h> | 23 | #include <mach/da8xx.h> |
24 | #include <video/da8xx-fb.h> | ||
24 | 25 | ||
25 | #include "clock.h" | 26 | #include "clock.h" |
26 | 27 | ||
@@ -353,3 +354,61 @@ void __init da8xx_init_mcasp(int id, struct snd_platform_data *pdata) | |||
353 | platform_device_register(&da850_mcasp_device); | 354 | platform_device_register(&da850_mcasp_device); |
354 | } | 355 | } |
355 | } | 356 | } |
357 | |||
358 | static const struct display_panel disp_panel = { | ||
359 | QVGA, | ||
360 | 16, | ||
361 | 16, | ||
362 | COLOR_ACTIVE, | ||
363 | }; | ||
364 | |||
365 | static struct lcd_ctrl_config lcd_cfg = { | ||
366 | &disp_panel, | ||
367 | .ac_bias = 255, | ||
368 | .ac_bias_intrpt = 0, | ||
369 | .dma_burst_sz = 16, | ||
370 | .bpp = 16, | ||
371 | .fdd = 255, | ||
372 | .tft_alt_mode = 0, | ||
373 | .stn_565_mode = 0, | ||
374 | .mono_8bit_mode = 0, | ||
375 | .invert_line_clock = 1, | ||
376 | .invert_frm_clock = 1, | ||
377 | .sync_edge = 0, | ||
378 | .sync_ctrl = 1, | ||
379 | .raster_order = 0, | ||
380 | }; | ||
381 | |||
382 | static struct da8xx_lcdc_platform_data da850_evm_lcdc_pdata = { | ||
383 | .manu_name = "sharp", | ||
384 | .controller_data = &lcd_cfg, | ||
385 | .type = "Sharp_LK043T1DG01", | ||
386 | }; | ||
387 | |||
388 | static struct resource da8xx_lcdc_resources[] = { | ||
389 | [0] = { /* registers */ | ||
390 | .start = DA8XX_LCD_CNTRL_BASE, | ||
391 | .end = DA8XX_LCD_CNTRL_BASE + SZ_4K - 1, | ||
392 | .flags = IORESOURCE_MEM, | ||
393 | }, | ||
394 | [1] = { /* interrupt */ | ||
395 | .start = IRQ_DA8XX_LCDINT, | ||
396 | .end = IRQ_DA8XX_LCDINT, | ||
397 | .flags = IORESOURCE_IRQ, | ||
398 | }, | ||
399 | }; | ||
400 | |||
401 | static struct platform_device da850_lcdc_device = { | ||
402 | .name = "da8xx_lcdc", | ||
403 | .id = 0, | ||
404 | .num_resources = ARRAY_SIZE(da8xx_lcdc_resources), | ||
405 | .resource = da8xx_lcdc_resources, | ||
406 | .dev = { | ||
407 | .platform_data = &da850_evm_lcdc_pdata, | ||
408 | } | ||
409 | }; | ||
410 | |||
411 | int __init da8xx_register_lcdc(void) | ||
412 | { | ||
413 | return platform_device_register(&da850_lcdc_device); | ||
414 | } | ||