[U-Boot-Users] More on serial terminal and u-boot

Brian S. Park brian at corelis.com
Thu Jul 24 18:18:05 CEST 2003


Hi all,
I've been trouble shooting the problem of u-Boot not coming up when serial 
terminal is not connected.
It turned out that when software CONFIG_SERIAL_SOFTWARE_FIFO is defined,
putc will wait till terminal is ready to receive the data.

 From u-boot/cpu/ppc4xx/serial.c, line 676
void serial_buffered_putc (const char c)
{
         /* Wait for CTS */
#if defined(CONFIG_HW_WATCHDOG)
         while (!(in8 (ACTING_UART0_BASE + UART_MSR) & 0x10))
                 WATCHDOG_RESET ();
#else
         while (!(in8 (ACTING_UART0_BASE + UART_MSR) & 0x10));
#endif
         serial_putc (c);
}

Is the while loop necessary?

printf's are ok because it uses serial_buffered_puts which eventually calls 
serial_putc with out waiting for CTS.

Thank you

Brian


===============================================================
Brian S. Park  brian at corelis.com  (562) 926-6727 x143
---------------------------------------------------------------
Everything we do helps our customers get to market
FASTER with HIGHER quality and LOWER cost
===============================================================






More information about the U-Boot mailing list