Hi Dennis,

> +CONFIG_USE_PREBOOT=y
> +CONFIG_PREBOOT="pci enum; usb start; nvme scan;"

I've been carrying this patch for LibreELEC on an Orange Pi 5 Pro (4GB,
YT6801 NIC, NVMe in the M.2 slot), on top of v2026.10 with the board DT
from v7.3. With this PREBOOT the board hangs before loading the kernel:
nothing on HDMI, only the power LED. Without PREBOOT it boots fine.

I have no serial console, so I narrowed it down by rebuilding with
PREBOOT="pci enum;" and changing the u-boot DT:

  pcie2x1l1 (NVMe) only                          boots
  pcie2x1l2 (NIC) only                           hangs
  pcie2x1l2, vpcie3v3-supply removed             hangs
  pcie2x1l2, no pinctrl-0                        boots (slot powered or not)
  pcie2x1l2, pinctrl-0 = pcie20x1m0_clkreqn only boots
  pcie2x1l2, pinctrl-0 = pcie20x1m0_waken only   boots
  pcie2x1l2, pinctrl-0 = pcie20x1m0_perstn only  hangs
  "usb start" only                               boots

So "pci enum" hangs when pcie20x1m0_perstn muxes GPIO3_D1 to the PCIe
function, while the same pin is also the node's reset-gpios. The NVMe
node uses the same pattern (pcie30x1m1_1_perstn, GPIO4_A2) without
problems, and Linux is fine with the same DT.

Tested with rkbin DDR v1.19 and TF-A v2.15 as BL31.

Now that the DT is in v7.3, for a v2: dropping PREBOOT, or overriding
pinctrl-0 for pcie2x1l2 in rk3588s-orangepi-5-pro-u-boot.dtsi, avoids
the hang. Happy to test a v2.

Thanks,
Kel

Reply via email to