We have been using the MPC8313 for many years without any issue but recently it seems we have been seeing many instances when power cycling our device, as soon as the 8313 starts to power-up it will pull-up D+, D- or both, causing our host PC to try to enumerate to it. The problem seems to be dependent on how quickly you power cycle the device or in other words, how long you allow the power to decay before applying full power again. If I immediately turn on the device after it powering it off, on a 'bad' machine,. it will pull D+/D- high, but if I let the power decay for 30-40 seconds before turning it back on, the problem doesn't happen. Normally, our FW will wait until the device fully boots before setting the RS bit in the USB command register to connect to the host PC. Our board does have a power-on reset chip to insure that the processor is never running unless the power is above the minimum threshold.
This is occurring on boards that have been built this year and have silicon revision v2.1... I looked at an older product (4-5 years old) which also had v2.1 silicon and has the same power supplies/power sequencing as the boards built today and it does not exhibit the problem.
Does anyone have any insight on this issue?