Ok, this one is keeping me up nights, as I don't really know where else to look.
I have a pair of i.MX6 boards (call them "R" and "M"), pretty much the same SOC system design, DDR, Flash, PMIC, etc. I just built new revisions of both, primarily for production reasons. I also swapped out an 800MHz i.MX6 (MCIMX6Q6AVT08AC) for a 1GHz i.MX6 (MCIMX6Q6AVT10AD).
The "R" boards come in. I program a boot CPLD, the system comes up, runs great.
The "M" boards come in. I program a boot CPLD... nothing. USB shows up as an error in Windows and Linux. I don't see as much of a current draw... previous version pulls 225mA prior to booting from USB, this is only pulling 160mA. Other than the power supplies (20W 3.3V supply and 100mA 1.8V supply in addition to the PMIC stuff), it's the CPLD and an attempt to run the i.MX6 at this point, everything else in the system is off and/or held in reset pending CPU boot. I've looked at all power rails, both at the PMIC and, with some effort, under the i.MX6 itself. Followed the USB routing and checked all components, just in case something weird got put in place.
Any suggestions, experience with something like this much appreciated. The oddest part is that this design has been runinng in field trials for two years. The only believed-to-be-significant changes were some additional filtering and re-routing of a PCI bus (parallel), in an effort to minimize any possible noise to a specific peripheral that's been some trouble.