dm9000 ref: http://blog.chinaunix.net/uid-21973366-id-4094535.html
env: android_uboot_smdkv210.tar.bz2 +arm-2009q3
uboot: /arm/samsung-dev-uboot
cross_compile: /arm/arm-2009q3/bin/arm-none-linux-gnueabi-
1)tar -zxvf android_uboot_smdkv210.tar.bz2
2)cd /arm/samsung-dev-uboot
3)make smdkv210single_defconfig
4)make
5)cd sd_fusing
6)./sd_fusing.sh /dev/mmcblk0
note:
1)error:
s5pv210 uboot dm9000 not found at 0xa8000000 id: 0x2b2a2928
do there below:
1.修改配置文件:
gedit include/configs/smdkv210single.h
将:
#define CONFIG_DM9000_BASE (0xA8000000)
修改为:
#define CONFIG_DM9000_BASE (0x88000000)
将:
#define DM9000_DATA (CONFIG_DM9000_BASE+2)
修改为:
#define DM9000_DATA (CONFIG_DM9000_BASE+8)
修改板级初始化文件:
gedit board/samsung/smdkc110/smdkc110.c
修改DM9000预初始化函数dm9000_pre_init:
static void dm9000_pre_init(void)
{
unsigned int tmp;
/* DM9000 on SROMBANK1, 16 bit */
SROM_BW_REG &=~(0xf << 4);
SROM_BW_REG |= (0x1<< 4);
SROM_BC1_REG =((0<<28)|(0<<24)|(5<<16)|(0<<12)|(0<<8)|(0<<4)|(0<<0));
/* Set MP01_1 asSROM_CSn[1] */
tmp = MP01CON_REG;
tmp&=~(0xf<<4);
tmp |=(2<<4);
MP01CON_REG = tmp;
}