summaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorTim Harvey <tharvey@gateworks.com>2021-04-16 23:30:41 +0300
committerStefano Babic <sbabic@denx.de>2021-05-02 13:46:54 +0300
commitdd8c32410e47880961a867ab143e48183b4c0493 (patch)
treed28c15eb497325efb02a373918314f13c45c52e0 /drivers/pci
parent35fc3713a39e70af3c8a4ce606c758d4f9af0800 (diff)
downloadu-boot-dd8c32410e47880961a867ab143e48183b4c0493.tar.xz
pci: imx: disable imx6sdl LTSSM upon driver remove
commit 6ecbe1375671 ("drivers: pci: imx: add imx_pcie_remove function") attempted to resolve an issue caused by MX6QDL not having a proper intneral PCIe core reset and thus hanging during kernel init if the bootloader had enabled PCI. The issue exists for IMX6Q, IMX6D, IXM6S, and IMX6DL. Fix the case for IMX6S and IMX6DL getting missed. This fixes IMX6S and IMX6DL with PCI enabled in U-Boot booting for Linux v4.11+. Signed-off-by: Tim Harvey <tharvey@gateworks.com> Reviewed-by: Fabio Estevam <festevam@gmail.com>
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/pcie_imx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pcie_imx.c b/drivers/pci/pcie_imx.c
index d9c2325a22..73875e00db 100644
--- a/drivers/pci/pcie_imx.c
+++ b/drivers/pci/pcie_imx.c
@@ -473,7 +473,7 @@ static int imx6_pcie_assert_core_reset(struct imx_pcie_priv *priv,
* If both LTSSM_ENABLE and REF_SSP_ENABLE are active we have a strong
* indication that the bootloader activated the link.
*/
- if (is_mx6dq() && prepare_for_boot) {
+ if ((is_mx6dq() || is_mx6sdl()) && prepare_for_boot) {
u32 val, gpr1, gpr12;
gpr1 = readl(&iomuxc_regs->gpr[1]);