From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerry Van Baren Date: Tue, 29 Sep 2009 19:37:16 -0400 Subject: [U-Boot] mips board with no output from console In-Reply-To: <1254264169.23326.1337258915@webmail.messagingengine.com> References: <1254182353.7952.1337072463@webmail.messagingengine.com> <4AC15B0C.2080001@gmail.com> <1254264169.23326.1337258915@webmail.messagingengine.com> Message-ID: <4AC29A2C.5000300@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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! > 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]