2008-10-28 00:38:57     dm9000 error

Document created by Aaronwu Employee on Sep 18, 2013
Version 1Show Document
  • View in full screen mode

2008-10-28 00:38:57     dm9000 error

Jun Ai (CHINA)

Message: 64255   

 

My CPU is BF531, I open dm9000 and close smc91111

 

 

#define CONFIG_DRIVER_DM9000        1

#define CONFIG_DM9000_BASE          0x20100000

#define CONFIG_DM9000_USE_16BIT     1

#define DM9000_IO                   0x20100000

#define DM9000_DATA                 (CONFIG_DM9000_BASE+4)

 

but I get these error, please give me some advice,thanks!

 

 

rx fifo error

rx crc error

rx length error

rx length too big

rx fifo error

rx crc error

rx length error

rx length too big

rx fifo error

rx crc error

rx length error

rx length too big

rx fifo error

rx crc error

rx length error

rx length too big

rx fifo error

rx crc error

rx length error

rx length too big

rx fifo error

TranslateQuoteReplyEditDelete

 

 

2008-10-28 09:56:36     Re: dm9000 error

Robin Getz (UNITED STATES)

Message: 64278   

 

Jun:

 

I don't know if anyone has validated the DM9000 in U-Boot.

 

-Robin

QuoteReplyEditDelete

 

 

2008-10-28 16:05:13     Re: dm9000 error

Kiril Petrov (BULGARIA)

Message: 64292   

 

Hi Jun,

 

if you has define #define CONFIG_DM9000_USE_16BIT     1 , you need to chage DM9000_DATA to

 

CONFIG_DM9000_BASE+2, not +4 . Also in dm9000x.c you need to add in dm9000_recv subrouting after lines:

 

;-------8<-----

 

        DM9000_DBG ("receiving packet\n");

 

        // A packet ready now  & Get status/length

 

        DM9000_outb (DM9000_MRCMD, dm-> io);

 

       // Dirty hack

 

        udelay(20);

 

;-------8<-----

 

a little delay, to get correct packet status and lenght every time. It's a very durty hack , but it works for me in u-booit-1.1.6 , until now , maybe several months, I've tested with huge amount of data transfer under u-boot. I made some orher not significant changes to the dm9000x.c|h , so I attach them  so you can use them directly.

 

 

 

 

dm9000x.c

dm9000x.h

QuoteReplyEditDelete

 

 

2008-10-28 16:59:30     Re: dm9000 error

Javier Herrero (SPAIN)

Message: 64300   

 

CONFIG_DM9000_DATA could be CONFIG_DM9000_BASE+2 or CONFIG_DM9000_BASE+4, depending on your hardware, i.e., in you have wired the DM9000 CMD pin. I've seen that frequently this pin is tied to A2, I suppose that for compatibility with the 32-bit DM9000 (not A) mode, and in that case, +4 is right. If you have it tied to A1, +2 is right.

 

Regards,

 

Javier

QuoteReplyEditDelete

 

 

2008-10-29 04:23:07     Re: dm9000 error

Kiril Petrov (BULGARIA)

Message: 64309   

 

@Javier , you're absolutelty right, thank to mention that, almost to forget this little detail ;).  In my case CMD pin of DM9000 is tied to A1, so CONFIG_DM9000_DATA need to be CONFIG_DM9000_BASE+2.

QuoteReplyEditDelete

 

 

2008-10-30 03:26:26     Re: dm9000 error

Jun Ai (CHINA)

Message: 64394   

 

I have used CONFIG_DM9000_BASE+2, but it still fails, I am useing th develop board, and I read their config with 07r1-9 version, these changes is

 

/*

* Board settings

*

*/

#define CONFIG_DRIVER_DM9000        1

#define CONFIG_DM9000_BASE          0x20100000

#define CONFIG_DM9000_USE_16BIT     1

#define DM9000_IO                   0x20100000

#define DM9000_DATA                 0x20110000

 

why? the attch is sch

 

BF53X-KIT.pdf

TranslateQuoteReplyEditDelete

 

 

2008-10-30 03:29:17     Re: dm9000 error

Jun Ai (CHINA)

Message: 64395   

 

but I use these setting in u-boot-1.1.6-2008R1.5, and it fails, it get these error

Attachments

Outcomes