diff options
| author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2013-01-11 18:17:33 +0100 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2013-01-11 18:17:33 +0100 | 
| commit | 59ee45ee91cc91b392a8e2684bfcb8c933ce4967 (patch) | |
| tree | 120150545e45a778e613171cdb75a5d1609e8781 | |
| parent | 80e409508b9bba8c372cdd44565a3d472b10e904 (diff) | |
| parent | 039cbaefcf57338cc9b6a3c656db64e7907838db (diff) | |
| download | olio-uboot-2014.01-59ee45ee91cc91b392a8e2684bfcb8c933ce4967.tar.xz olio-uboot-2014.01-59ee45ee91cc91b392a8e2684bfcb8c933ce4967.zip | |
Merge branch 'u-boot-ti/master' into 'u-boot-arm/master'
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | README | 8 | ||||
| -rw-r--r-- | drivers/serial/ns16550.c | 2 | ||||
| -rw-r--r-- | include/configs/igep00x0.h | 4 | 
4 files changed, 15 insertions, 1 deletions
| @@ -869,7 +869,7 @@ clobber:	tidy  	@rm -f $(obj)nand_spl/{u-boot-nand_spl.lds,u-boot-spl,u-boot-spl.map}  	@rm -f $(obj)spl/{u-boot-spl,u-boot-spl.bin,u-boot-spl.map}  	@rm -f $(obj)spl/{u-boot-spl.lds,u-boot.lst} -	@rm -f $(obj)MLO +	@rm -f $(obj)MLO MLO.byteswap  	@rm -f $(obj)SPL  	@rm -f $(obj)tools/xway-swap-bytes  	@rm -f $(obj)arch/powerpc/cpu/mpc824x/bedbug_603e.c @@ -616,6 +616,14 @@ The following options need to be configured:  		boot loader that has already initialized the UART.  Define this  		variable to flush the UART at init time. +		CONFIG_SYS_NS16550_BROKEN_TEMT + +		16550 UART set the Transmitter Empty (TEMT) Bit when all output +		has finished and the transmitter is totally empty. U-Boot waits +		for this bit to be set to initialize the serial console. On some +		broken platforms this bit is not set in SPL making U-Boot to +		hang while waiting for TEMT. Define this option to avoid it. +  - Console Interface:  		Depending on board, define exactly one serial port diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index bbd91ca24..87a091708 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -36,8 +36,10 @@  void NS16550_init(NS16550_t com_port, int baud_divisor)  { +#if (!defined(CONFIG_SYS_NS16550_BROKEN_TEMT))  	while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT))  		; +#endif  	serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);  #if (defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)) || \ diff --git a/include/configs/igep00x0.h b/include/configs/igep00x0.h index 43dd06e24..f8131b1ba 100644 --- a/include/configs/igep00x0.h +++ b/include/configs/igep00x0.h @@ -67,6 +67,9 @@  #define CONFIG_SYS_NS16550_REG_SIZE	(-4)  #define CONFIG_SYS_NS16550_CLK		V_NS16550_CLK +/* define to avoid U-Boot to hang while waiting for TEMT */ +#define CONFIG_SYS_NS16550_BROKEN_TEMT +  /* select serial console configuration */  #define CONFIG_CONS_INDEX		3  #define CONFIG_SYS_NS16550_COM3		OMAP34XX_UART3 @@ -312,6 +315,7 @@  #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION	1  #define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME	"u-boot.img" +#define CONFIG_SPL_BOARD_INIT  #define CONFIG_SPL_LIBCOMMON_SUPPORT  #define CONFIG_SPL_LIBDISK_SUPPORT  #define CONFIG_SPL_I2C_SUPPORT |