
On Fri, Apr 16, 2021 at 1:41 PM Fabio Estevam festevam@gmail.com wrote:
Hi Tim,
Some more comments.
On Fri, Apr 16, 2021 at 5:30 PM Tim Harvey tharvey@gateworks.com wrote:
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
"internal"
Fabio,
Thanks, I will correct this for a v2
--- 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) {
It seems that i.MX6QP is missing. What about adding is_mx6dqp() too?
The QP has a soft reset bit such that this isn't an issue. For reference I'm basing this off the kernel 'fixup' that was removed in v4.11 which can be found here: https://elixir.bootlin.com/linux/v4.10.17/source/drivers/pci/host/pci-imx6.c...
I'm the one who authored the original patch and it was my mistake way back then to use 'is_mx6dq()' in U-Boot thinking that it covered all the early IMX6's that lacked a PCIe soft reset.
Tim