u-boot-brain/drivers/pci
Pali Rohár 5f50b88ab6 arm64: a37xx: pci: Disable link training when unloading driver
As required by PCI Express spec a delay for at least 100ms after
de-asserting PERST# signal is needed before link training is enabled.

Linux kernels prior to 5.8 version do not automatically disable link
training before de-asserting PERST# signal, therefore this requirement is
not fulfilled.

Above requirement is needed for proper detection of some Compex PCIe WiFi
cards. Otherwise Linux kernel cannot detect it.

To allow using those PCIe cards with older Linux kernel versions booted by
U-Boot compiled with U-Boot a37xx pci driver, disable link training in
U-Boot when unloading this pci driver.

Thanks to DM_FLAG_OS_PREPARE flag, U-Boot automatically unload this driver
when booting Linux kernel.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
2020-09-24 10:14:06 +02:00
..
fsl_pci_init.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
Kconfig arm64: a37xx: pci: Depends on DM_GPIO 2020-08-31 14:45:53 +02:00
Makefile pci: Add PCI controller driver for OcteonTX / TX2 2020-08-25 08:01:16 +02:00
pci_auto_common.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_auto_old.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_auto.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_common.c env: Move env_get() to env.h 2019-08-11 16:43:41 -04:00
pci_compat.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_ftpci100.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_gt64120.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_indirect.c pci: Don't use pci_indirect when DM is active 2018-05-08 18:50:23 -04:00
pci_internal.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pci_mpc85xx.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pci_msc01.c common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
pci_mvebu.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pci_octeontx.c pci: Add PCI controller driver for OcteonTX / TX2 2020-08-25 08:01:16 +02:00
pci_rom.c video: pci: Set up the copy framebuffer 2020-07-09 12:33:24 +08:00
pci_sandbox.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci_sh4.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pci_sh7751.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pci_sh7780.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pci_tegra.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pci_x86.c dm: pci: Update the PCI read_config() method to const dev * 2020-02-05 19:33:45 -07:00
pci-aardvark.c arm64: a37xx: pci: Disable link training when unloading driver 2020-09-24 10:14:06 +02:00
pci-emul-uclass.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pci-rcar-gen2.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pci-rcar-gen3.c pci: Move some PCIe register offset definitions to a common header 2020-07-09 15:46:12 +02:00
pci-uclass.c pci: pci-uclass: Check validity of ofnode 2020-08-25 08:01:16 +02:00
pci.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pcie_brcmstb.c pci: Add driver for Broadcom BCM2711 SoC PCIe controller 2020-07-10 11:49:28 +02:00
pcie_dw_mvebu.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pcie_dw_ti.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
pcie_ecam_generic.c pci-host-ecam-generic: access config space independent of system-wide bus id 2020-03-30 08:11:56 +05:30
pcie_fsl_fixup.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_fsl.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pcie_fsl.h dm: pcie_fsl: Fix the calculation of controller index 2019-08-28 13:47:44 +05:30
pcie_imx.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
pcie_intel_fpga.c pci: Move some PCIe register offset definitions to a common header 2020-07-09 15:46:12 +02:00
pcie_iproc.c drivers: pcie: add Broadcom IPROC PCIe RC driver 2020-08-14 09:43:21 -04:00
pcie_layerscape_ep.c pci_ep: layerscape: Add the PCIe EP mode support for lx2160a-v2 2020-07-27 14:24:15 +05:30
pcie_layerscape_fixup_common.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_layerscape_fixup_common.h treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
pcie_layerscape_fixup.c pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_layerscape_gen4_fixup.c pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_layerscape_gen4.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
pcie_layerscape_gen4.h pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_layerscape_rc.c pci: layerscape: Modify the ls_pcie_dump_atu function 2020-07-27 14:24:15 +05:30
pcie_layerscape.c pci: layerscape: Modify the ls_pcie_dump_atu function 2020-07-27 14:24:15 +05:30
pcie_layerscape.h pci: Drop dm.h inclusion from header file 2020-08-03 22:19:54 -04:00
pcie_mediatek.c PCI: mediatek: Release the resource when PCIe enable port fail 2020-09-10 15:32:09 -04:00
pcie_phytium.c dm: pci: Update the PCI read_config() method to const dev * 2020-02-05 19:33:45 -07:00
pcie_rockchip.c pci: rockchip: Drop legacy PHY driver 2020-07-22 20:22:49 +08:00
pcie_xilinx.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00