diff options
author | Paul Walmsley <paul@pwsan.com> | 2009-09-03 13:14:02 -0400 |
---|---|---|
committer | paul <paul@twilight.(none)> | 2009-09-03 13:14:02 -0400 |
commit | b3c6df3ab2b17cd7ddf927d39a64f235b25ac8d4 (patch) | |
tree | 58d26a0b0dc5dc597519260ef04f8bff67cc4f8c /arch/arm/mach-omap2/board-h4.c | |
parent | 71348bcaac6f4c372525d4d62e88a82a7330435b (diff) |
OMAP2/3 board-*.c files: read bootloader configuration earlier
Most board-*.c files read configuration data from the bootloader in
their .init_machine() function. This needs to happen earlier, at some
point before omap2_init_common_hw() is called. This is because a
future patch will use the bootloader serial console port information
to enable the UART clocks earlier, immediately after omap2_clk_init().
This is in turn necessary since otherwise clock tree usecounts on
clocks like dpll4_m2x2_ck will be bogus, which can cause the
currently-active console UART clock to be disabled during boot.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-h4.c')
-rw-r--r-- | arch/arm/mach-omap2/board-h4.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c index b6501d241c10..eaa02d012c5c 100644 --- a/arch/arm/mach-omap2/board-h4.c +++ b/arch/arm/mach-omap2/board-h4.c | |||
@@ -268,14 +268,6 @@ static void __init h4_init_flash(void) | |||
268 | h4_flash_resource.end = base + SZ_64M - 1; | 268 | h4_flash_resource.end = base + SZ_64M - 1; |
269 | } | 269 | } |
270 | 270 | ||
271 | static void __init omap_h4_init_irq(void) | ||
272 | { | ||
273 | omap2_init_common_hw(NULL, NULL); | ||
274 | omap_init_irq(); | ||
275 | omap_gpio_init(); | ||
276 | h4_init_flash(); | ||
277 | } | ||
278 | |||
279 | static struct omap_lcd_config h4_lcd_config __initdata = { | 271 | static struct omap_lcd_config h4_lcd_config __initdata = { |
280 | .ctrl_name = "internal", | 272 | .ctrl_name = "internal", |
281 | }; | 273 | }; |
@@ -317,6 +309,16 @@ static struct omap_board_config_kernel h4_config[] = { | |||
317 | { OMAP_TAG_LCD, &h4_lcd_config }, | 309 | { OMAP_TAG_LCD, &h4_lcd_config }, |
318 | }; | 310 | }; |
319 | 311 | ||
312 | static void __init omap_h4_init_irq(void) | ||
313 | { | ||
314 | omap_board_config = h4_config; | ||
315 | omap_board_config_size = ARRAY_SIZE(h4_config); | ||
316 | omap2_init_common_hw(NULL, NULL); | ||
317 | omap_init_irq(); | ||
318 | omap_gpio_init(); | ||
319 | h4_init_flash(); | ||
320 | } | ||
321 | |||
320 | static struct at24_platform_data m24c01 = { | 322 | static struct at24_platform_data m24c01 = { |
321 | .byte_len = SZ_1K / 8, | 323 | .byte_len = SZ_1K / 8, |
322 | .page_size = 16, | 324 | .page_size = 16, |
@@ -361,8 +363,6 @@ static void __init omap_h4_init(void) | |||
361 | ARRAY_SIZE(h4_i2c_board_info)); | 363 | ARRAY_SIZE(h4_i2c_board_info)); |
362 | 364 | ||
363 | platform_add_devices(h4_devices, ARRAY_SIZE(h4_devices)); | 365 | platform_add_devices(h4_devices, ARRAY_SIZE(h4_devices)); |
364 | omap_board_config = h4_config; | ||
365 | omap_board_config_size = ARRAY_SIZE(h4_config); | ||
366 | omap_usb_init(&h4_usb_config); | 366 | omap_usb_init(&h4_usb_config); |
367 | omap_serial_init(); | 367 | omap_serial_init(); |
368 | } | 368 | } |