由于sd卡启动报错“NOT PHY DETECT!!!”,所以尝试编译uboot
http://blog.sina.com.cn/s/blog_5e330a280100oowk.html
I have been using DVSDK2.0 that comes with
1. Download DVSDK4.01 for DM365EVM
2. For uboot to work on IPNC you need to change:
2.1 include/configs/davinci_dm365evm.h, change serial output to port 1:
#define CONFIG_SYS_NS16550_COM2
#define CONFIG_CONS_INDEX
#define CONFIG_SYS_NS16550_CLK
2.2 After recompiling uboot, you might be puzzled by the scrambled output. It looks like baudrate error. If you spend a couple of days digging into the source code,eventually you will find a bug in include/ns16650.h
change to #define dll msr
change to #define dlm spr
Now after recompiling, the uboot got output on serial console!
2.3 Then you will find out your network doesn't work, because the PHY is not detected.
include/configs/davinci_dm365evm.h, change
#define CONFIG_EMAC_MDIO_PHY_NUM
3. Modify the kernel source
That's also related to changing serial port from 0 to 1
3.1 arch/arm/mach-davinci/include/mach/serial.h change uart1 base address to
#define DAVINCI_UART1_BASE (IO_PHYS + 0x106000)
3.2 arch/arm/mach-davinci/dm365.c
MUX_CFG(DM365,
MUX_CFG(DM365,
3.3 arch/arm/mach-davinci/board-dm365-evm.c
in function dm365_evm_init()
change: .enabled_uarts = (1 << 1),
comment out dm365_init_spi0() function call, since on IPNC spi0 is muxed with UART1.
3.4 arch/arm/mach-davinci/common.c
add support of reading MAC from bootargs:
{
}
__setup("eth", davinci_get_mac_addr_from_bootargs);