summaryrefslogtreecommitdiff
path: root/packages/linux/linux-2.6.28/tosa/commit-31c9b28
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux/linux-2.6.28/tosa/commit-31c9b28')
-rw-r--r--packages/linux/linux-2.6.28/tosa/commit-31c9b2867
1 files changed, 67 insertions, 0 deletions
diff --git a/packages/linux/linux-2.6.28/tosa/commit-31c9b28 b/packages/linux/linux-2.6.28/tosa/commit-31c9b28
new file mode 100644
index 0000000000..0ae09c91ce
--- /dev/null
+++ b/packages/linux/linux-2.6.28/tosa/commit-31c9b28
@@ -0,0 +1,67 @@
+commit 31c9b284ae49093fdd9d1e9a347e458c7ebc37a9
+Author: Dmitry Baryshkov <dbaryshkov@gmail.com>
+Date: Tue Oct 28 18:40:37 2008 +0300
+
+ [ARM] pxa/tosa: support tc6393xb/tmiofb.
+
+ Add platform data necessary to support tmiofb on tosa.
+
+ Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
+ Signed-off-by: Eric Miao <eric.miao@marvell.com>
+
+diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
+index 224897a..366a533 100644
+--- a/arch/arm/mach-pxa/tosa.c
++++ b/arch/arm/mach-pxa/tosa.c
+@@ -733,6 +733,43 @@ static void tosa_tc6393xb_teardown(struct platform_device *dev)
+ gpio_free(TOSA_GPIO_CARD_VCC_ON);
+ }
+
++static struct fb_videomode tosa_tc6393xb_lcd_mode[] = {
++ {
++ .xres = 480,
++ .yres = 640,
++ .pixclock = 0x002cdf00,/* PLL divisor */
++ .left_margin = 0x004c,
++ .right_margin = 0x005b,
++ .upper_margin = 0x0001,
++ .lower_margin = 0x000d,
++ .hsync_len = 0x0002,
++ .vsync_len = 0x0001,
++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
++ .vmode = FB_VMODE_NONINTERLACED,
++ },{
++ .xres = 240,
++ .yres = 320,
++ .pixclock = 0x00e7f203,/* PLL divisor */
++ .left_margin = 0x0024,
++ .right_margin = 0x002f,
++ .upper_margin = 0x0001,
++ .lower_margin = 0x000d,
++ .hsync_len = 0x0002,
++ .vsync_len = 0x0001,
++ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
++ .vmode = FB_VMODE_NONINTERLACED,
++ }
++};
++
++static struct tmio_fb_data tosa_tc6393xb_fb_config = {
++ .lcd_set_power = tc6393xb_lcd_set_power,
++ .lcd_mode = tc6393xb_lcd_mode,
++ .num_modes = ARRAY_SIZE(tosa_tc6393xb_lcd_mode),
++ .modes = &tosa_tc6393xb_lcd_mode[0],
++ .height = 82,
++ .width = 60,
++};
++
+ static struct tc6393xb_platform_data tosa_tc6393xb_data = {
+ .scr_pll2cr = 0x0cc1,
+ .scr_gper = 0x3300,
+@@ -748,6 +785,7 @@ static struct tc6393xb_platform_data tosa_tc6393xb_data = {
+ .resume = tosa_tc6393xb_resume,
+
+ .nand_data = &tosa_tc6393xb_nand_config,
++ .fb_data = &tosa_tc6393xb_fb_config,
+
+ .resume_restore = 1,
+ };