[U-Boot] mips board with no output from console

Jerry Van Baren gvb.uboot at gmail.com
Wed Sep 30 01:37:16 CEST 2009


Hi myuboot,

(You should CC: the list - tap the wisdom of the crowd, plus answers get 
  archived for the next person that gets bit by the problem.)

myuboot at fastmail.fm wrote:
> Jerry,
> 
> I appreciate your input. 
> I somehow fixed the issue without really knowing the cause.

DANGER, Will Robinson!
   <http://en.wikipedia.org/wiki/Danger,_Will_Robinson>

> In the header file for the particular board I am using, I have the
> parameters for serial configuration,such as
> #define CFG_NS16550
> #define CFG_NS16550_SERIAL
> #define CFG_NS16550_REG_SIZE 4
> #define CFG_NS16550_CLK      4
> ...
> when I port it to u-boot2009.06, I double defined the parameters so that
> my existing code does not need to be changed, so I have both
> #define CFG_NS16550
> #define CFG_NS16550_SERIAL
> #define CFG_NS16550_REG_SIZE 4
> #define CFG_NS16550_CLK      4
> ...
> 
> #define CONFIG_SYS_NS16550
> #define CONFIG_SYS_NS16550_SERIAL
> #define CONFIG_SYS_NS16550_REG_SIZE 4
> #define CONFIG_SYS_NS16550_CLK      4
> ...
> 
> When I removed every thing starts with CONFIG_SYS_NS16550, the console
> is working.
> 
> Thanks. 

That is NOT the right fix.  If you grep CFG_NS16550, you will find it is 
no longer used (there was a CFG/CONFIG cleanup a little while back).
   $ find . -name "*.[ch]" | xargs grep CFG_NS16550

If you look at common/serial.c, you will find the default serial console
   struct serial_device *__default_serial_console (void)
is selected by a combination of
   #if defined(CONFIG_CONS_INDEX) && defined(CONFIG_SYS_NS16550_SERIAL)

Further, in
   void serial_initialize (void)
the combination is also used to select which register/UART channel to 
set up via
   int serial_register (struct serial_device *dev)

I suspect you did not have CONFIG_CONS_INDEX, and possible some other 
CONFIG_SYS_NS16550_SERIAL_* defines defined, so your initialization 
didn't happen correctly.  There are plenty of examples to copy from:
   $ find . -name "*.h" | xargs grep -l CONFIG_SYS_NS16550

Best regards,
gvb

[snip]


More information about the U-Boot mailing list