u-boot/drivers/pci
Sven-Ola Tuecke b2915ba25e drivers: pci: imx: fix imx_pcie_remove function
We have at least a minor count of boards, that failed to re-initialize
PCI express in the Linux kernel. Typical failure rate is 20% on affected
boards. This is mitigated by commit 6ecbe13756 ("drivers: pci: imx:
add imx_pcie_remove function").

However, at least on some i.MX6 custom boards, when calling
assert_core_reset() as part of the first-time PCIe init, read access
to PCIE_PL_PFLR simply hangs. Surround this readl() with
imx_pcie_fix_dabt_handler() does not help. For this reason, the forced
LTSSM detection is only used on the second assert_core_reset() that is
called shorly before starting the Linux kernel.

Signed-off-by: Sven-Ola Tuecke <sven-ola.tuecke@numberfour.eu>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: David Müller <d.mueller@elsoft.ch>
2017-10-12 17:56:28 +02:00
..
fsl_pci_init.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
Kconfig PCI: Add driver for a 'pci-host-ecam-generic' host controller 2017-10-06 11:28:12 -04:00
Makefile PCI: Add driver for a 'pci-host-ecam-generic' host controller 2017-10-06 11:28:12 -04:00
pci_auto_common.c dm: pci: Break out the common region display code 2016-03-14 15:34:50 -06:00
pci_auto_old.c drivers/pci: Fix for debug builds without CONFIG_PCI_ENUM_ONLY 2016-01-14 14:08:59 +01:00
pci_auto.c pci: Fix compiler warnings in dm_pciauto_setup_device() 2016-02-26 08:53:10 -07:00
pci_common.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
pci_compat.c dm: pci: return the real controller in pci_bus_to_hose() 2017-01-18 09:25:14 -08:00
pci_ftpci100.c Merge branch 'master' of git://git.denx.de/u-boot-nds32 2013-07-25 08:51:51 -04:00
pci_gt64120.c qemu-malta: Update for SPDX license identifiers 2013-07-25 08:51:48 -04:00
pci_indirect.c powerpc: remove 4xx support 2017-07-03 17:35:28 -04:00
pci_internal.h dm: pci: Move pci_bus_to_hose() to compatibility 2016-01-24 12:07:17 +08:00
pci_msc01.c malta: support for coreFPGA6 boards 2013-11-09 17:21:01 +01:00
pci_mvebu.c pci: mvebu: Fix Armada 38x support 2017-02-01 09:01:19 +01:00
pci_rom.c vbe: Drop vbe_get_video_info() 2017-08-24 11:00:47 +08:00
pci_sandbox.c dm: Use dm_scan_fdt_dev() directly where possible 2016-07-27 14:15:54 -06:00
pci_sh4.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pci_sh7751.c pci: sh7751: map PCI memory space into SDRAM 2016-12-02 21:32:43 -05:00
pci_sh7780.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pci_tegra.c treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
pci_x86.c x86: pci: Tidy up the generic x86 PCI driver 2015-07-14 18:03:19 -06:00
pci-emul-uclass.c dm: sandbox: pci: Add a PCI emulation uclass 2015-04-16 19:27:43 -06:00
pci-uclass.c pci: Add helper for implementing memory-mapped config space accesses 2017-10-06 11:27:40 -04:00
pci.c env: Rename getenv/_f() to env_get() 2017-08-16 08:30:24 -04:00
pcie_dw_mvebu.c dm: Rename dev_addr..() functions 2017-06-01 07:03:01 -06:00
pcie_ecam_generic.c PCI: Add driver for a 'pci-host-ecam-generic' host controller 2017-10-06 11:28:12 -04:00
pcie_imx.c drivers: pci: imx: fix imx_pcie_remove function 2017-10-12 17:56:28 +02:00
pcie_layerscape_fixup.c pci: layerscape: Fixup iommu-map for LS208xA 2017-09-22 12:42:29 -07:00
pcie_layerscape.c pci: layerscape: Use pci_generic_mmap_{read, write}_config 2017-10-06 11:27:41 -04:00
pcie_layerscape.h pci: layerscape: Remove unused field 'hose' from struct ls_pcie 2017-09-22 07:39:55 -04:00
pcie_xilinx.c pci: xilinx: Use pci_generic_mmap_{read, write}_config() 2017-10-06 11:27:41 -04:00
tsi108_pci.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00