diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-apollon.c')
-rw-r--r-- | arch/arm/mach-omap2/board-apollon.c | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c index 70211703ff9f..de8134b7f580 100644 --- a/arch/arm/mach-omap2/board-apollon.c +++ b/arch/arm/mach-omap2/board-apollon.c | |||
@@ -40,6 +40,9 @@ | |||
40 | #include <plat/common.h> | 40 | #include <plat/common.h> |
41 | #include <plat/gpmc.h> | 41 | #include <plat/gpmc.h> |
42 | 42 | ||
43 | #include <video/omapdss.h> | ||
44 | #include <video/omap-panel-generic-dpi.h> | ||
45 | |||
43 | #include "mux.h" | 46 | #include "mux.h" |
44 | #include "control.h" | 47 | #include "control.h" |
45 | 48 | ||
@@ -149,11 +152,6 @@ static struct platform_device apollon_smc91x_device = { | |||
149 | .resource = apollon_smc91x_resources, | 152 | .resource = apollon_smc91x_resources, |
150 | }; | 153 | }; |
151 | 154 | ||
152 | static struct platform_device apollon_lcd_device = { | ||
153 | .name = "apollon_lcd", | ||
154 | .id = -1, | ||
155 | }; | ||
156 | |||
157 | static struct omap_led_config apollon_led_config[] = { | 155 | static struct omap_led_config apollon_led_config[] = { |
158 | { | 156 | { |
159 | .cdev = { | 157 | .cdev = { |
@@ -191,7 +189,6 @@ static struct platform_device apollon_led_device = { | |||
191 | static struct platform_device *apollon_devices[] __initdata = { | 189 | static struct platform_device *apollon_devices[] __initdata = { |
192 | &apollon_onenand_device, | 190 | &apollon_onenand_device, |
193 | &apollon_smc91x_device, | 191 | &apollon_smc91x_device, |
194 | &apollon_lcd_device, | ||
195 | &apollon_led_device, | 192 | &apollon_led_device, |
196 | }; | 193 | }; |
197 | 194 | ||
@@ -265,19 +262,27 @@ static struct omap_usb_config apollon_usb_config __initdata = { | |||
265 | .pins[0] = 6, | 262 | .pins[0] = 6, |
266 | }; | 263 | }; |
267 | 264 | ||
268 | static struct omap_lcd_config apollon_lcd_config __initdata = { | 265 | static struct panel_generic_dpi_data apollon_panel_data = { |
269 | .ctrl_name = "internal", | 266 | .name = "apollon", |
270 | }; | 267 | }; |
271 | 268 | ||
272 | static struct omap_board_config_kernel apollon_config[] __initdata = { | 269 | static struct omap_dss_device apollon_lcd_device = { |
273 | { OMAP_TAG_LCD, &apollon_lcd_config }, | 270 | .name = "lcd", |
271 | .driver_name = "generic_dpi_panel", | ||
272 | .type = OMAP_DISPLAY_TYPE_DPI, | ||
273 | .phy.dpi.data_lines = 18, | ||
274 | .data = &apollon_panel_data, | ||
274 | }; | 275 | }; |
275 | 276 | ||
276 | static void __init omap_apollon_init_early(void) | 277 | static struct omap_dss_device *apollon_dss_devices[] = { |
277 | { | 278 | &apollon_lcd_device, |
278 | omap2_init_common_infrastructure(); | 279 | }; |
279 | omap2_init_common_devices(NULL, NULL); | 280 | |
280 | } | 281 | static struct omap_dss_board_info apollon_dss_data = { |
282 | .num_devices = ARRAY_SIZE(apollon_dss_devices), | ||
283 | .devices = apollon_dss_devices, | ||
284 | .default_device = &apollon_lcd_device, | ||
285 | }; | ||
281 | 286 | ||
282 | static struct gpio apollon_gpio_leds[] __initdata = { | 287 | static struct gpio apollon_gpio_leds[] __initdata = { |
283 | { LED0_GPIO13, GPIOF_OUT_INIT_LOW, "LED0" }, /* LED0 - AA10 */ | 288 | { LED0_GPIO13, GPIOF_OUT_INIT_LOW, "LED0" }, /* LED0 - AA10 */ |
@@ -314,8 +319,6 @@ static void __init omap_apollon_init(void) | |||
314 | u32 v; | 319 | u32 v; |
315 | 320 | ||
316 | omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); | 321 | omap2420_mux_init(board_mux, OMAP_PACKAGE_ZAC); |
317 | omap_board_config = apollon_config; | ||
318 | omap_board_config_size = ARRAY_SIZE(apollon_config); | ||
319 | 322 | ||
320 | apollon_init_smc91x(); | 323 | apollon_init_smc91x(); |
321 | apollon_led_init(); | 324 | apollon_led_init(); |
@@ -340,20 +343,16 @@ static void __init omap_apollon_init(void) | |||
340 | */ | 343 | */ |
341 | platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); | 344 | platform_add_devices(apollon_devices, ARRAY_SIZE(apollon_devices)); |
342 | omap_serial_init(); | 345 | omap_serial_init(); |
343 | } | 346 | omap_sdrc_init(NULL, NULL); |
344 | 347 | omap_display_init(&apollon_dss_data); | |
345 | static void __init omap_apollon_map_io(void) | ||
346 | { | ||
347 | omap2_set_globals_242x(); | ||
348 | omap242x_map_common_io(); | ||
349 | } | 348 | } |
350 | 349 | ||
351 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") | 350 | MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon") |
352 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ | 351 | /* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */ |
353 | .boot_params = 0x80000100, | 352 | .atag_offset = 0x100, |
354 | .reserve = omap_reserve, | 353 | .reserve = omap_reserve, |
355 | .map_io = omap_apollon_map_io, | 354 | .map_io = omap242x_map_io, |
356 | .init_early = omap_apollon_init_early, | 355 | .init_early = omap2420_init_early, |
357 | .init_irq = omap2_init_irq, | 356 | .init_irq = omap2_init_irq, |
358 | .init_machine = omap_apollon_init, | 357 | .init_machine = omap_apollon_init, |
359 | .timer = &omap2_timer, | 358 | .timer = &omap2_timer, |