I use a board based on the the EVM1707.
on my board:
- AM1705 CPU
- 32 MB SDRAM
- spi w25q32
-nand MT29F1G08ABADAWP
I`m using UART 2 port.
When I ported the bootloader, there was a problem with UART 2( not u-boots starting log on the terminal ).
The problem I decided to editing u-boots source code:
added the line com_port->regD = 0 to NS16550_init() function [ uboot-03.20.00.12/drivers/serial/ns16550.c ]:
void NS16550_init (NS16550_t com_port, int baud_divisor)
{
com_port->regD = 0 ;
com_port->ier = 0x00;
#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
com_port->mdr1 = 0x7; /* mode select reset TL16C750*/
#endif
com_port->lcr = UART_LCR_BKSE | UART_LCRVAL;
com_port->dll = 0;
com_port->dlm = 0;
com_port->lcr = UART_LCRVAL;
com_port->mcr = UART_MCRVAL;
com_port->fcr = UART_FCRVAL;
com_port->lcr = UART_LCR_BKSE | UART_LCRVAL;
com_port->dll = baud_divisor & 0xff;
com_port->dlm = (baud_divisor >> 8) & 0xff;
com_port->lcr = UART_LCRVAL;
#if defined(CONFIG_OMAP) && !defined(CONFIG_OMAP3_ZOOM2)
#if defined(CONFIG_APTIX)
com_port->mdr1 = 3; /* /13 mode so Aptix 6MHz can hit 115200 */
#else
com_port->mdr1 = 0; /* /16 is proper to hit 115200 with 48MHz */
#endif
#endif /* CONFIG_OMAP */
}
After this, u-boot loaded and normally works.
So, I load the kernel over UART 2 by kermit protocol.
and enter loadm command:
U-Boot > loadb
## Ready for binary (kermit) download to 0xC0700000 at 115200 bps...
## Total Size = 0x0016c1f4 = 1491444 Bytes
## Start Addr = 0xC0700000
U-Boot > bootm
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Linux-2.6.33-rc4
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1491380 Bytes = 1.4 MB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.