diff options
| author | Mark F. Brown <mark.brown314@gmail.com> | 2010-08-25 23:51:55 -0400 |
|---|---|---|
| committer | Eric Miao <eric.y.miao@gmail.com> | 2010-10-08 04:21:18 -0400 |
| commit | 884646a5721e547d302390d8a483e9b75a31b017 (patch) | |
| tree | 685c945506559f67ebd5682b8f91c8adbebed2d5 | |
| parent | 58cf68b88ce3fc48e345e756c07770e1d6e4cbe9 (diff) | |
ARM: pxa168/aspenite: added initial support for TPO TD043MTEA1 LCD
Signed-off-by: Mark F. Brown <mark.brown314@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
| -rw-r--r-- | arch/arm/mach-mmp/aspenite.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/arch/arm/mach-mmp/aspenite.c b/arch/arm/mach-mmp/aspenite.c index 0629394a5fb9..9e1bd6b1fdfb 100644 --- a/arch/arm/mach-mmp/aspenite.c +++ b/arch/arm/mach-mmp/aspenite.c | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <mach/mfp-pxa168.h> | 23 | #include <mach/mfp-pxa168.h> |
| 24 | #include <mach/pxa168.h> | 24 | #include <mach/pxa168.h> |
| 25 | #include <mach/gpio.h> | 25 | #include <mach/gpio.h> |
| 26 | #include <video/pxa168fb.h> | ||
| 26 | 27 | ||
| 27 | #include "common.h" | 28 | #include "common.h" |
| 28 | 29 | ||
| @@ -66,6 +67,36 @@ static unsigned long common_pin_config[] __initdata = { | |||
| 66 | GPIO115_I2S_BCLK, | 67 | GPIO115_I2S_BCLK, |
| 67 | GPIO116_I2S_RXD, | 68 | GPIO116_I2S_RXD, |
| 68 | GPIO117_I2S_TXD, | 69 | GPIO117_I2S_TXD, |
| 70 | |||
| 71 | /* LCD */ | ||
| 72 | GPIO56_LCD_FCLK_RD, | ||
| 73 | GPIO57_LCD_LCLK_A0, | ||
| 74 | GPIO58_LCD_PCLK_WR, | ||
| 75 | GPIO59_LCD_DENA_BIAS, | ||
| 76 | GPIO60_LCD_DD0, | ||
| 77 | GPIO61_LCD_DD1, | ||
| 78 | GPIO62_LCD_DD2, | ||
| 79 | GPIO63_LCD_DD3, | ||
| 80 | GPIO64_LCD_DD4, | ||
| 81 | GPIO65_LCD_DD5, | ||
| 82 | GPIO66_LCD_DD6, | ||
| 83 | GPIO67_LCD_DD7, | ||
| 84 | GPIO68_LCD_DD8, | ||
| 85 | GPIO69_LCD_DD9, | ||
| 86 | GPIO70_LCD_DD10, | ||
| 87 | GPIO71_LCD_DD11, | ||
| 88 | GPIO72_LCD_DD12, | ||
| 89 | GPIO73_LCD_DD13, | ||
| 90 | GPIO74_LCD_DD14, | ||
| 91 | GPIO75_LCD_DD15, | ||
| 92 | GPIO76_LCD_DD16, | ||
| 93 | GPIO77_LCD_DD17, | ||
| 94 | GPIO78_LCD_DD18, | ||
| 95 | GPIO79_LCD_DD19, | ||
| 96 | GPIO80_LCD_DD20, | ||
| 97 | GPIO81_LCD_DD21, | ||
| 98 | GPIO82_LCD_DD22, | ||
| 99 | GPIO83_LCD_DD23, | ||
| 69 | }; | 100 | }; |
| 70 | 101 | ||
| 71 | static struct smc91x_platdata smc91x_info = { | 102 | static struct smc91x_platdata smc91x_info = { |
| @@ -134,6 +165,34 @@ static struct i2c_board_info aspenite_i2c_info[] __initdata = { | |||
| 134 | { I2C_BOARD_INFO("wm8753", 0x1b), }, | 165 | { I2C_BOARD_INFO("wm8753", 0x1b), }, |
| 135 | }; | 166 | }; |
| 136 | 167 | ||
| 168 | static struct fb_videomode video_modes[] = { | ||
| 169 | [0] = { | ||
| 170 | .pixclock = 30120, | ||
| 171 | .refresh = 60, | ||
| 172 | .xres = 800, | ||
| 173 | .yres = 480, | ||
| 174 | .hsync_len = 1, | ||
| 175 | .left_margin = 215, | ||
| 176 | .right_margin = 40, | ||
| 177 | .vsync_len = 1, | ||
| 178 | .upper_margin = 34, | ||
| 179 | .lower_margin = 10, | ||
| 180 | .sync = FB_SYNC_VERT_HIGH_ACT | FB_SYNC_HOR_HIGH_ACT, | ||
| 181 | }, | ||
| 182 | }; | ||
| 183 | |||
| 184 | struct pxa168fb_mach_info aspenite_lcd_info = { | ||
| 185 | .id = "Graphic Frame", | ||
| 186 | .modes = video_modes, | ||
| 187 | .num_modes = ARRAY_SIZE(video_modes), | ||
| 188 | .pix_fmt = PIX_FMT_RGB565, | ||
| 189 | .io_pin_allocation_mode = PIN_MODE_DUMB_24, | ||
| 190 | .dumb_mode = DUMB_MODE_RGB888, | ||
| 191 | .active = 1, | ||
| 192 | .panel_rbswap = 0, | ||
| 193 | .invert_pixclock = 0, | ||
| 194 | }; | ||
| 195 | |||
| 137 | static void __init common_init(void) | 196 | static void __init common_init(void) |
| 138 | { | 197 | { |
| 139 | mfp_config(ARRAY_AND_SIZE(common_pin_config)); | 198 | mfp_config(ARRAY_AND_SIZE(common_pin_config)); |
| @@ -143,6 +202,7 @@ static void __init common_init(void) | |||
| 143 | pxa168_add_twsi(1, NULL, ARRAY_AND_SIZE(aspenite_i2c_info)); | 202 | pxa168_add_twsi(1, NULL, ARRAY_AND_SIZE(aspenite_i2c_info)); |
| 144 | pxa168_add_ssp(1); | 203 | pxa168_add_ssp(1); |
| 145 | pxa168_add_nand(&aspenite_nand_info); | 204 | pxa168_add_nand(&aspenite_nand_info); |
| 205 | pxa168_add_fb(&aspenite_lcd_info); | ||
| 146 | 206 | ||
| 147 | /* off-chip devices */ | 207 | /* off-chip devices */ |
| 148 | platform_device_register(&smc91x_device); | 208 | platform_device_register(&smc91x_device); |
