diff options
| author | Christian Riesch <christian.riesch@omicron.at> | 2011-10-13 00:52:29 +0000 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-10-27 21:56:36 +0200 | 
| commit | ae5c77dd908edaf55025fa3f41095bfb9cb1b973 (patch) | |
| tree | c15f7b18a32fe25775dbb6acb859af98a43dc638 | |
| parent | 3b413c5bfa2595483baaefb006cbad1ee4b489fc (diff) | |
| download | olio-uboot-2014.01-ae5c77dd908edaf55025fa3f41095bfb9cb1b973.tar.xz olio-uboot-2014.01-ae5c77dd908edaf55025fa3f41095bfb9cb1b973.zip | |
da850evm: Move LPSC configuration to board_early_init_f()
Since commit f1d2b313c9eb6808d30c16a9eb5251240452a56c the serial
port of the da850evm is accessed before the UART2 peripheral of
the SoC is powered on in the function board_init() in
board/davinci/da8xxevm/da850evm.c.
When u-boot is used in conjunction with the UBL (user boot loader, see
doc/README.davinci) on this board, the UART2 peripheral is already
turned on by UBL at the time u-boot is started. Hence, the wrong
initialization sequence is not noticed by most users. However, if UBL is not
used, u-boot must power on the peripheral before using it.
This patch adds a board_early_init_f() function for the LPSC
configuration to the da850evm board configuration.
Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com>
Cc: Sandeep Paulraj <s-paulraj@ti.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: Ben Gardiner <bengardiner@nanometrics.ca>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| -rw-r--r-- | board/davinci/da8xxevm/da850evm.c | 23 | ||||
| -rw-r--r-- | include/configs/da850evm.h | 1 | 
2 files changed, 15 insertions, 9 deletions
| diff --git a/board/davinci/da8xxevm/da850evm.c b/board/davinci/da8xxevm/da850evm.c index 46924d349..e0a3bbefc 100644 --- a/board/davinci/da8xxevm/da850evm.c +++ b/board/davinci/da8xxevm/da850evm.c @@ -278,6 +278,20 @@ u32 get_board_rev(void)  	return rev;  } +int board_early_init_f(void) +{ +	/* +	 * Power on required peripherals +	 * ARM does not have access by default to PSC0 and PSC1 +	 * assuming here that the DSP bootloader has set the IOPU +	 * such that PSC access is available to ARM +	 */ +	if (da8xx_configure_lpsc_items(lpsc, ARRAY_SIZE(lpsc))) +		return 1; + +	return 0; +} +  int board_init(void)  {  #ifdef CONFIG_USE_NOR @@ -310,15 +324,6 @@ int board_init(void)  	/* address of boot parameters */  	gd->bd->bi_boot_params = LINUX_BOOT_PARAM_ADDR; -	/* -	 * Power on required peripherals -	 * ARM does not have access by default to PSC0 and PSC1 -	 * assuming here that the DSP bootloader has set the IOPU -	 * such that PSC access is available to ARM -	 */ -	if (da8xx_configure_lpsc_items(lpsc, ARRAY_SIZE(lpsc))) -		return 1; -  	/* setup the SUSPSRC for ARM to control emulation suspend */  	writel(readl(&davinci_syscfg_regs->suspsrc) &  	       ~(DAVINCI_SYSCFG_SUSPSRC_EMAC | DAVINCI_SYSCFG_SUSPSRC_I2C | diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h index cad56209a..b4e489022 100644 --- a/include/configs/da850evm.h +++ b/include/configs/da850evm.h @@ -160,6 +160,7 @@   * U-Boot general configuration   */  #define CONFIG_MISC_INIT_R +#define CONFIG_BOARD_EARLY_INIT_F  #define CONFIG_BOOTFILE		"uImage" /* Boot file name */  #define CONFIG_SYS_PROMPT	"U-Boot > " /* Command Prompt */  #define CONFIG_SYS_CBSIZE	1024 /* Console I/O Buffer Size	*/ |