[PATCH v1] PCI: imx6: Move clock enable after core reset assertion
Hongxing Zhu (OSS)
hongxing.zhu at oss.nxp.com
Thu Aug 13 01:47:09 PDT 2026
NXP Confidential
> -----Original Message-----
> From: Francesco Dolcini <francesco at dolcini.it>
> Sent: Thursday, August 13, 2026 4:39 PM
> To: Hongxing Zhu (OSS) <hongxing.zhu at oss.nxp.com>
> Cc: leoreis.costa at gmail.com; fra.schnyder at gmail.com; francesco at dolcini.it;
> Frank Li <frank.li at nxp.com>; l.stach at pengutronix.de; lpieralisi at kernel.org;
> kwilczynski at kernel.org; mani at kernel.org; robh at kernel.org;
> bhelgaas at google.com; s.hauer at pengutronix.de; kernel at pengutronix.de;
> festevam at gmail.com; linux-pci at vger.kernel.org; linux-arm-
> kernel at lists.infradead.org; imx at lists.linux.dev; linux-kernel at vger.kernel.org;
> Hongxing Zhu <hongxing.zhu at nxp.com>; stable at vger.kernel.org
> Subject: Re: [PATCH v1] PCI: imx6: Move clock enable after core reset assertion
>
> On Thu, Aug 13, 2026 at 04:29:00PM +0800, hongxing.zhu at oss.nxp.com wrote:
> > From: Richard Zhu <hongxing.zhu at nxp.com>
> >
> > Commit 610fa91d9863 ("PCI: imx6: Assert PERST# before enabling
> > regulators") inadvertently moved clock enablement before core reset
> > assertion, breaking PCI device initialization on i.MX6Q Apalis
> > platforms when
> > ASM1061/ASM1062 is connected.
> >
> > Logs:
> > root at apalis-imx6-11486042:~# dmesg | grep pcie imx6q-pcie
> > 1ffc000.pcie: host bridge /soc/pcie at 1ffc000 ranges:
> > imx6q-pcie 1ffc000.pcie: IO 0x0001f80000..0x0001f8ffff -> 0x0000000000
> > imx6q-pcie 1ffc000.pcie: MEM 0x0001000000..0x0001efffff ->
> 0x0001000000
> > imx6q-pcie 1ffc000.pcie: config reg[1] 0x01f00000 == cpu 0x01f00000
> > imx6q-pcie 1ffc000.pcie: iATU: unroll F, 4 ob, 4 ib, align 64K, limit
> > 4G imx6q-pcie 1ffc000.pcie: Link: Only Gen1 is enabled imx6q-pcie
> > 1ffc000.pcie: Link failed to come up. LTSSM: POLL_CONFIG imx6q-pcie
> > 1ffc000.pcie: probe with driver imx6q-pcie failed with error -110
> >
> > To fix this regression, restore the original sequence where clocks are
> > enabled after asserting core reset and configuring the controller type.
> >
> > Fixes: 610fa91d9863 ("PCI: imx6: Assert PERST# before enabling
> > regulators")
> > Signed-off-by: Richard Zhu <hongxing.zhu at nxp.com>
> > Reported-by: Leonardo Costa <leoreis.costa at gmail.com>
> > Closes:
> > https://lore.kernel.org/all/bl7i3obu2clzsgeoct2a4mtfhv6typcjdqmgneropf
> > 3hpgwve6 at n2m5uhlduw57/T/#u
> > Reported-by: Franz Schnyder <fra.schnyder at gmail.com>
> > Closes:
> > https://lore.kernel.org/all/t65y5d54axtksbfs7r4olcefqhwm6m4dz3njgnrnf7
> > fcotj74i at o7avoznlafbj/
> > Cc: stable at vger.kernel.org # 7.1+
>
> 7.2+, 7.1 does not have the broken commit
>
> minor: it is not 100% clear if the issue is specific to the ASM1061/ASM1062
> device or on the specific power-up sequence (reset vs cold-power-on).
Thanks for your review comments.
Okay, I add this "minor" into commit message.
Richard Zhu
>
> Francesco
More information about the linux-arm-kernel
mailing list