The only interrupt I get is for the error bit. When I check the ERRSTAT register I see that the PIDERR bit is set. This is the only interrupt I get. I never get the TOKENDONE interrupt which is where most of the USB handling code is triggered. This feels like a clocking issue to me but I have run out of clock settings to check. What would prevent me from ever getting the TOKENDONE interrupt?
I should point out I have USB working in the bootloader so I don't think this is a hardware issue.
I don't see anything in the documentation that tells me which stack to use with which processors and I am also told by NXP that there is no difference in the USB hardware between the K20 and the K24 with the exception of some crystal-less operation on the K24. All of that hardware is disabled as far as I can tell.