USB enumeration failure in ColdFire MCF52259

Posted by Quicksilver on Stack Overflow See other posts from Stack Overflow or by Quicksilver
Published on 2010-03-25T12:11:09Z Indexed on 2010/03/25 12:13 UTC
Read the original article Hit count: 436

Filed under:
|

Anybody with programming experience on the ColdFire line, please help!

I'm using the CMX USB-Lite stack with the ColdFire MCF52259. For some reason, USB enumeration fails at the very first step, as soon as I enable the DP pull-up resistor. This is what I'm doing :-

INT_ENB, OTG_INT_EN, ERR_ENB are set to 0x0

INT_STAT, OTG_INT_STAT and ERR_STAT are set to 0xff (This should clear all interrupts)

In the Interrupt Status Register, bits 0 (Mask All) and 53 are made 0, all others are 1.

TOK_DNE, USB_RST and STALL interrupts are enabled in INT_ENB.

BDT base address is set.

MCF_USB_CTL holds 0x1

PROBLEM: After the host issues the first reset (at which point I enable Control endpoint 0), instead of the expected Get Descriptor request I'm getting an endless series of resets. At least, that's what it looks like, because the TOK_DNE interrupt never triggers.

Is there anything I'm doing wrong?

© Stack Overflow or respective owner

Related posts about coldfire

Related posts about usb