On 15.03.21 00:55, Pali Rohár wrote:
Moreover for mPCIe form factor cards, boards can share one PERST# signal with more PCIe cards and control this signal via GPIO. So asserting PERST# GPIO can trigger Warm reset for more PCIe cards, not just one. It depends on board or topology.
The pcengines apu* boards happen to be such candidates: they've got three m.2 slots, but not all wired in the same way (depending on actual model, not all have pcie wired). Reset lines are driven via gpio, and some devices (I recall some lte basebands) sometimes need an explicit reset in order to come up properly. I have to check the schematics for the diffrent models, how exactly these gpios are wired. (i've got reports that some production lines don't have them wired at all - but couldn't confirm this on my own). BTW: any idea how to inject board specific reset methods, after the host brigde driver is already active ? In my case, apu boards, the pci host bridge is probed via acpi and the apu board driver (which sets up gpios, leds, keys, ...) comes much later. --mtx -- --- Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren GPG/PGP-Schlüssel zu. --- Enrico Weigelt, metux IT consult Free software and Linux embedded engineering info@xxxxxxxxx -- +49-151-27565287