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.

AM3358: Inconsistent USB boot

Part Number: AM3358

Hello,

I need help in figuring out why the USB0 boot does not come up consistently. My setup is the following.
I have 3 boards that I have initially programmed through the USB0 port with SYSBOOT[4:0]=11000b. 
The sysboot[4:0] signals are strapped with resistors and one jumper for SYSBOOT[2], same as the 
beaglebone black. For the USB0 boot I install the jumper to pull SYSBOOT[2] to ground resulting
in SYSBOOT[4:0]=11000b. For a normal boot, I leave the jumper uninstalled for SYSBOOT[4:0]=11100b.
The problem is that with the jumper installed, no matter how many times I cycle power, I never see
any 'C's on my console and I never see the USB RNDIS driver come up in Windows or Uniflash connect
to the device. I know this should work with the hardware because I have used it successfully to install
software in the eMMC on the board. But the USB0 ROM code or the windows drivers seems to be
unreliable. For example, on one board it works but another another it does not. 

One of my thoughts was the timing of the resets versus the 3.3V rails on my board and which one I am using
to pull up the SYSBOOT resistors. By this I mean, the hardware is such that I have the P3V3_SYS rail used
to pull up the resistors rather than the P3V3_MPU (sourced by the PMIC and which comes up earlier). My thought
was that since these hardware straps are sampled early, right after the resets go high, and since P3V3_SYS
comes up later, that maybe this was the problem. But I have since reworked a board the pull the hardware
resistors to P3V3_MPU and this did not fix the problem.

Can you help? Is these a way to probe the tracing vectors for the ROM to see which boot method is being used
on any given power up?

Thanks.

Schematic attached1411.Schematic_Prints.PDF