drivers: pci: imx: add imx_pcie_remove function
authorTim Harvey <tharvey@gateworks.com>
Fri, 12 May 2017 19:58:41 +0000 (12:58 -0700)
committerStefano Babic <sbabic@denx.de>
Wed, 31 May 2017 08:09:03 +0000 (10:09 +0200)
commit6ecbe13756711baa795180d1a63b7a73a835c303
tree9d058033c7645548c5fbeb2842c22ec613c70896
parentda384fc67a30ff4685b679a822ef005a8f1aeaa7
drivers: pci: imx: add imx_pcie_remove function

There is no dedicated reset signal wired up for the MX6QDL thus if the
bootloader enables the link we need some special handling to get the core
back into a state where it is safe to touch it for configuration.

While there has been some special handling in the Linux kernel to do this,
it was removed in 4.11 thus we need to do it properly in the bootloader
and therefore without this if you enable PCI in the bootloader you will hang
while booting the 4.11 kernel.

This puts the PCIe controller back into a safe state for the kernel driver
before launching the kernel.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Tested-by: Peter Senna Tschudin <peter.senna@collabora.com>
arch/arm/imx-common/cpu.c
drivers/pci/pcie_imx.c
include/pci.h