diff options
author | Markus Hubig <mhubig@imko.de> | 2012-08-16 08:22:09 +0000 |
---|---|---|
committer | Andreas Bießmann <andreas.devel@googlemail.com> | 2012-09-04 22:06:19 +0200 |
commit | 7d899c14cc1842004e5f94a376082e7b6cf5988d (patch) | |
tree | a1784e8587164304a61e362ec5ac57e5783af660 /board/taskit/stamp9g20/stamp9g20.c | |
parent | e23e5eeeb85e0f98ca51ec8532c02a52a3e8c78b (diff) | |
download | u-boot-imx-7d899c14cc1842004e5f94a376082e7b6cf5988d.zip u-boot-imx-7d899c14cc1842004e5f94a376082e7b6cf5988d.tar.gz u-boot-imx-7d899c14cc1842004e5f94a376082e7b6cf5988d.tar.bz2 |
Fixes the crippled console output on PortuxG20.
In order to use the serial interface on the PortuxG20 we need to enable the
level converter first by setting the PC9 pin to high. The level converter needs
some time to settle so we have to use the mdelay() function to wait for some
time. Unfortunately we have no timers available at board_early_init_f() so we
enable the serial output early within board_postclk_init().
Now the U-Boot output looks fine:
| U-Boot 2012.07-00132-gaf1a3b0-dirty (Aug 16 2012 - 18:21:32)
|
| CPU: AT91SAM9G20
| Crystal frequency: 18.432 MHz
| CPU clock : 396.288 MHz
| Master clock : 132.096 MHz
| DRAM: 64 MiB
| WARNING: Caches not enabled
| NAND: 128 MiB
| In: serial
| Out: serial
| Err: serial
| Net: macb0
| Hit any key to stop autoboot: 0
Signed-off-by: Markus Hubig <mhubig@imko.de>
Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Diffstat (limited to 'board/taskit/stamp9g20/stamp9g20.c')
-rw-r--r-- | board/taskit/stamp9g20/stamp9g20.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/board/taskit/stamp9g20/stamp9g20.c b/board/taskit/stamp9g20/stamp9g20.c index 5e07bf8..06df0af 100644 --- a/board/taskit/stamp9g20/stamp9g20.c +++ b/board/taskit/stamp9g20/stamp9g20.c @@ -159,15 +159,28 @@ int board_early_init_f(void) return 0; } -int board_init(void) +int board_postclk_init(void) { - /* Adress of boot parameters */ - gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; + /* + * Initialize the serial interface here, because be need a running + * timer to set PC9 to high and wait for some time to enable the + * level converter of the RS232 interface on the PortuxG20 board. + */ - /* Enable the serial interface */ +#ifdef CONFIG_PORTUXG20 at91_set_gpio_output(AT91_PIN_PC9, 1); + mdelay(1); +#endif at91_seriald_hw_init(); + return 0; +} + +int board_init(void) +{ + /* Adress of boot parameters */ + gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; + stamp9G20_nand_hw_init(); #ifdef CONFIG_MACB stamp9G20_macb_hw_init(); |