diff options
-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); |