u-boot/drivers/pci
Sam Edwards 59bf0cdfa9 pci: pcie-brcmstb: do not rely on CLKREQ# signal
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>
2023-08-30 11:47:43 -04:00
..
Kconfig pci: ftpci100: add new driver implementation 2023-08-14 17:55:53 -04:00
Makefile pci: ftpci100: add new driver implementation 2023-08-14 17:55:53 -04:00
pci-aardvark.c drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
pci-emul-uclass.c
pci-rcar-gen2.c global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
pci-rcar-gen3.c pci-rcar-gen3: Rename CONFIG_SEND_ENABLE 2022-12-23 13:01:13 -05:00
pci-uclass.c pci: Fix device_find_first_child() return value handling 2023-08-14 17:55:52 -04:00
pci_auto.c pci: auto: Remove PCI_CLASS_PROCESSOR_POWERPC autoconfig case 2023-05-02 08:55:15 -04:00
pci_auto_common.c
pci_common.c
pci_compat.c
pci_ftpci100.c pci: ftpci100: add new driver implementation 2023-08-14 17:55:53 -04:00
pci_gt64120.c
pci_internal.h
pci_mpc85xx.c pci: mpc85xx: Do not access PCI BARs registers of BDF address 00:00.0 2023-05-01 18:59:33 -04:00
pci_msc01.c
pci_mvebu.c dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
pci_octeontx.c
pci_rom.c pci: Mask the ROM address in case it is already enabled 2023-07-17 17:12:26 +08:00
pci_sandbox.c
pci_sh7751.c global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
pci_tegra.c dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
pci_x86.c
pcie-xilinx-nwl.c PCI: zynqmp: Add ZynqMP NWL PCIe root port driver 2023-06-12 13:25:02 +02:00
pcie_apple.c pci: apple: Add support for M2 Pro/Max 2023-05-30 15:13:44 -04:00
pcie_brcmstb.c pci: pcie-brcmstb: do not rely on CLKREQ# signal 2023-08-30 11:47:43 -04:00
pcie_dw_common.c pci: pcie_dw_rockchip: Get config region from reg prop 2023-07-28 18:45:03 +08:00
pcie_dw_common.h drivers: pci: pcie_dw_common: add upper-limit to iATU 2022-12-12 14:03:11 -05:00
pcie_dw_meson.c drivers: use dev_read_addr_index_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
pcie_dw_mvebu.c drivers: use devfdt_get_addr_index_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
pcie_dw_rockchip.c pci: pcie_dw_rockchip: Disable unused BARs of the root complex 2023-07-28 18:45:03 +08:00
pcie_dw_sifive.c
pcie_dw_ti.c
pcie_ecam_generic.c
pcie_ecam_synquacer.c
pcie_fsl.c pci: fsl: Do not access PCI BAR0 register of PCIe Root Port 2023-05-03 18:30:46 -04:00
pcie_fsl.h global: Move remaining CONFIG_SYS_PCI* to CFG_SYS_PCI* 2022-12-05 16:06:07 -05:00
pcie_fsl_fixup.c
pcie_imx.c drivers: use devfdt_get_addr_index_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
pcie_intel_fpga.c
pcie_iproc.c pci: Add defines for normal and subtractive PCI bridges 2022-03-25 13:35:50 -04:00
pcie_layerscape.c
pcie_layerscape.h global: Move remaining CONFIG_SYS_SDRAM_* to CFG_SYS_SDRAM_* 2022-12-05 16:06:07 -05:00
pcie_layerscape_ep.c drivers: use devfdt_get_addr_index_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
pcie_layerscape_fixup.c pci: layerscape: update the searching compatible of LX2160A PCIe 2022-02-01 15:08:07 +05:30
pcie_layerscape_fixup_common.c fdt_support: Add fdt_for_each_node_by_compatible() helper macro 2022-01-20 11:35:29 +01:00
pcie_layerscape_fixup_common.h
pcie_layerscape_gen4.c global: Move remaining CONFIG_SYS_PCI* to CFG_SYS_PCI* 2022-12-05 16:06:07 -05:00
pcie_layerscape_gen4.h global: Move remaining CONFIG_SYS_PCI* to CFG_SYS_PCI* 2022-12-05 16:06:07 -05:00
pcie_layerscape_gen4_fixup.c
pcie_layerscape_rc.c pci: layerscape: add support for kernel/official fsl, ls1088a-pcie binding 2023-05-05 09:46:03 +08:00
pcie_mediatek.c dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00
pcie_octeon.c
pcie_phytium.c
pcie_plda_common.c pci: plda: Get correct ECAM offset in multiple PCIe RC case 2023-08-10 10:58:01 +08:00
pcie_plda_common.h starfive: pci: Add StarFive JH7110 pcie driver 2023-08-02 11:02:32 +08:00
pcie_rockchip.c pci: rockchip: Release resources on failing probe 2023-08-12 09:59:18 +08:00
pcie_starfive_jh7110.c starfive: pci: Add StarFive JH7110 pcie driver 2023-08-02 11:02:32 +08:00
pcie_uniphier.c
pcie_xilinx.c