I'm working on a custom board that boots u-boot from nand and then loads uImage/RFS from SATA(normal) or nand(fallback). We're just ramping up production, and we're seeing that in about 1-2% of the units the SATA drive is only present/connected in u-boot. On those units the SATA drive device is never detected in linux. We have over 200 units where this problem doesn't show up.
I've commented out the sata calls in u-boot such that it's never initialized in u-boot, and then even on those "bad" units the SATA drive is seen in linux. So it seems like u-boot is leaving the SATA subsystem in a state that linux can't always continue from.
Does anyone have any ideas what might be going on here?
We're using kernel 3.0.101 (w/NXP patches), iMX6Q, sata drive: Micron M600 MTFDDAK128MBF, and u-boot 2013.10