mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 09:54:35 +00:00
![]() When the Broadcom STB PCIe controller is initialized, it must be set into one of three CLKREQ# modes: "none"/"aspm"/"l1ss". The Linux driver, through today, hard-codes "aspm" since the vast majority of boards using this driver have a fixed PCIe bus with the CLKREQ# signal wired up. The Raspberry Pi CM4, however, can be connected to a plethora of PCIe devices, some of which do not connect the CLKREQ# line (they just leave it floating). So "aspm" mode is no longer appropriate in all cases. In Linux, there is a proposed patchset [1] to determine the proper mode. This doesn't really make sense in U-Boot's case, so we just change the assumption from "aspm" to "none" (which is always safe). This patch DOES resolve a real-world crash that occurs when U-Boot is running on a Raspberry Pi CM4 installed in slot 3 of a Turing Pi 2 cluster board. [1]: https://lore.kernel.org/all/20230428223500.23337-1-jim2101024@gmail.com/ Signed-off-by: Sam Edwards <CFSworks@gmail.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
pci-aardvark.c | ||
pci-emul-uclass.c | ||
pci-rcar-gen2.c | ||
pci-rcar-gen3.c | ||
pci-uclass.c | ||
pci_auto.c | ||
pci_auto_common.c | ||
pci_common.c | ||
pci_compat.c | ||
pci_ftpci100.c | ||
pci_gt64120.c | ||
pci_internal.h | ||
pci_mpc85xx.c | ||
pci_msc01.c | ||
pci_mvebu.c | ||
pci_octeontx.c | ||
pci_rom.c | ||
pci_sandbox.c | ||
pci_sh7751.c | ||
pci_tegra.c | ||
pci_x86.c | ||
pcie-xilinx-nwl.c | ||
pcie_apple.c | ||
pcie_brcmstb.c | ||
pcie_dw_common.c | ||
pcie_dw_common.h | ||
pcie_dw_meson.c | ||
pcie_dw_mvebu.c | ||
pcie_dw_rockchip.c | ||
pcie_dw_sifive.c | ||
pcie_dw_ti.c | ||
pcie_ecam_generic.c | ||
pcie_ecam_synquacer.c | ||
pcie_fsl.c | ||
pcie_fsl.h | ||
pcie_fsl_fixup.c | ||
pcie_imx.c | ||
pcie_intel_fpga.c | ||
pcie_iproc.c | ||
pcie_layerscape.c | ||
pcie_layerscape.h | ||
pcie_layerscape_ep.c | ||
pcie_layerscape_fixup.c | ||
pcie_layerscape_fixup_common.c | ||
pcie_layerscape_fixup_common.h | ||
pcie_layerscape_gen4.c | ||
pcie_layerscape_gen4.h | ||
pcie_layerscape_gen4_fixup.c | ||
pcie_layerscape_rc.c | ||
pcie_mediatek.c | ||
pcie_octeon.c | ||
pcie_phytium.c | ||
pcie_plda_common.c | ||
pcie_plda_common.h | ||
pcie_rockchip.c | ||
pcie_starfive_jh7110.c | ||
pcie_uniphier.c | ||
pcie_xilinx.c |