This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EMAC write RXTEARDOWN 1 causes AEMIF lockup

Hello TI!

We're observing a strange behavior in some of our DM368 based board. The problem occurs reproducible on those board while it seems to never occur on others from the same batch.

After a little bit of debugging, I found out that this sequence of register write/read will lockup the DM368 ARM chip:

write 0x01d07018 := 1

read 0x01d10064

So the first is a write into the EMAC RXTEARDOWN register. It requests a teardown of channel 1. The second is a read into AEMIF control regs (it doesn't matter what reg you read). This sequence does appear e.g. when you first access the network in u-boot and afterwards read or write NAND flash.

Note: Teardown of channel 1 is actually wrong, as u-boot uses channel 0 for communication. This seems to be an old bug in the u-boot emac driver (see: http://e2e.ti.com/support/embedded/f/354/p/36786/128519.aspx). But anyway it should not lockup the whole device. Also it seems only channel 1 causes the problem. Channel 0 or 2 work alright.

You can reproduce this easily with these u-boot commands:

u-boot# mw 0x01d07018 1
u-boot# md 0x01d10064 1

On boards that have this problem, u-boot will lock up. It is not possible to contact the chip via JTAG.

Is this a known problem?

Regards,

 Andreas.