Hi folks, while I understand there are lots of already-working PCIe devices on RK3399 there are also many quirky devices which fail link training and refuse to enumerate. This RFC series is meant to alleviate this problem and has been tested on my Rock Pi N10. Note that with these patches, link will train for quirky devices but with Gen1 only and only one lane (x1). I have separate patches for improving to Gen2 and all four lanes (x4). They don't depend on this fix however and since I predict the present patches are bound to be controversial, I decided to send the quality improvements separately. --- V2 -> V3: separated commit for reordering function as per Bjorn's suggestion V1 -> V2: adjusted commit message to be more clear about change Geraldo Nascimento (3): PCI: rockchip-host: reorder rockchip_pcie_set_vpcie() PCI: rockchip-host: Retry link training on failure without PERST# arm64: dts: rockchip: drop PCIe 3v3 always-on and boot-on .../dts/rockchip/rk3399pro-vmarc-som.dtsi | 2 - drivers/pci/controller/pcie-rockchip-host.c | 141 +++++++++++------- 2 files changed, 87 insertions(+), 56 deletions(-) -- 2.49.0