
Hello,I have some trouble in my u-boot net driver. I use s3c2410a cpu and ax88796lf 0838 net chip. I migrate the ax88796l driver, but it is not work! Follow is my startup info and env
U-Boot 2013.07 (Aug 15 2013 - 10:34:05)
CPUID: 32410002 FCLK: 202.800 MHz HCLK: 101.400 MHz PCLK: 50.700 MHz DRAM: 64 MiB WARNING: Caches not enabled NAND: 64 MiB In: serial Out: serial Err: serial Net: ### ne2k_setup_driver ----------------0------------------ this is first NE2000 KERNUX # print baudrate=115200 bootdelay=5 ethact=NE2000 ethaddr=9e:c7:1e:c7:1e:c7 gatewayip=192.168.10.1 ipaddr=192.168.10.3 nand_erasesize=4000 nand_oobsize=10 nand_writesize=200 netmask=255.255.255.0 serverip=192.168.10.2 stderr=serial stdin=serial stdout=serial
Environment size: 280/131067 bytes
and when I use ping 192.168.10.3 , the result is
dp83902a_start Using NE2000 device dp83902a_send TX prep page 64 len 64 sg buf 33fecc40 len 0000002a ffff ffff ffff c79e c71e c71e 0608 0100 0008 0406 0100 c79e c71e c71e a8c0 030a 0000 0000 0000 a8c0 030a + 22 bytes of padding dp83902a_start_xmit Tx pkt 64 len 64
the procedure is dead in here, and I'm only to press the reset button to force reset.I'm trace it and find it is in ne2000_base.c
static void dp83902a_send(u8 *data, int total_len, u32 key) { ......
/* Wait for DMA to complete */ do { DP_IN(base, DP_ISR, isr); } while ((isr & DP_ISR_RDC) == 0);
......}
It seems that the DMA never complete???? and there is no any stop flags, so how it is stoped by itself? please help, I don't have any ideas to solve this problem, this is my first to migrate the net driver.I set the memory bus whith and other timer register in lowlevel_init.S and all I could found method, but it is also not work. My board is fine, I test it used vivi and linux, so please help me!!!
participants (1)
-
Kernux Zhang