Does anyone know more about the Atom C2000 family failures? In the errata sheet, Intel states:
AVR54. System May Experience Inability to Boot or May Cease Operation
Problem: The SoC LPC_CLKOUT0 and/or LPC_CLKOUT1 signals (Low Pin Count bus clock
outputs) may stop functioning.
Implication: If the LPC clock(s) stop functioning the system will no longer be able to boot.
Workaround: A platform level change has been identified and may be implemented as a workaround
for this erratum.
Status: For the steppings affected, see Table 1, “Errata Summary Table” on page 9.
The LPC is a PCI-to-ISA bridge controller and is one of the two supported BIOS boot locations; the C2000 can either boot from SPI (default) or LPC/ISA (set via external sense pins at powerup). This is fixed in a stepping, and curiously the "fix" consists of eliminating the ability of muxing the LPC bus pins with GPIO - they no longer become software selectable. This is pretty much ALL I've been able to find on the subject. There's a workaround which consists of adding an external 100 ohm resistor, but it's not clear what pins this is added to. It's added across two pads on a connector on some Synology NAS units, so it's not an output current limiter but almost certainly a stiff pullup or pulldown. This leads me to suspect it really goes on a configuration sense pin. Intel hasn't made their "platform level change" public. Tracing it out on a board is kind of hard since the SoC is a large BGA package that would need to be desoldered.
Does anyone know more about this? Like, for example, where the resistor is added - in particular is it added to the LPC clock outputs, or to the sense inputs?
It's also not clear if the clock output actually fails, or this is merely a convenient symptom any engineer with a scope can identify. (The two LPC clocks are only 25MHz.) Some possible root causes I can think of are:
1. The sense input pullup is underdimensioned and fails, resulting in the CPU trying to fetch boot firmware from SPI.
2. The sense configures it for LPC boot while the pins are reset to GPIO, resulting in duplicate pin drivers that short out internally.
3. 1+2 - multiple sense inputs with slightly different thresholds result in inconsistent pin configuration with both pin drivers enabled.
4. The clock pin output driver actually dies.
#4 sounds simple and straightforward, but somewhat implausible to me. This isn't Intel's first rodeo, and besides how would an external resistor help with this?
Here's the C2000 family datasheet:
https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/atom-c2000-microserver-datasheet.pdfErrata:
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/atom-c2000-family-spec-update.pdf