linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* imx6: PCIe imx6_pcie_assert_core_reset() hangs after watchdog reset
@ 2015-03-25  9:29 Stefan Roese
  2015-03-25  9:39 ` Lucas Stach
  2015-04-08 13:32 ` Fabio Estevam
  0 siblings, 2 replies; 17+ messages in thread
From: Stefan Roese @ 2015-03-25  9:29 UTC (permalink / raw)
  To: linux-arm-kernel

Hi!

I'm currently facing a problem in the imx6 PCIe driver. The
problem happens, after the Linux imx6 internal watchdog has timed-out
and issues a reset (this is intended, as I'm testing this wdog right
now). But the next Linux boot hangs in imx6_pcie_assert_core_reset()
while accessing a register from the PCIe port logic memory:

		val = readl(pp->dbi_base + PCIE_PL_PFLR);

The watchdog will issue a new reset once it times out again. But
Linux will hang here the next time as well. Only a power-cycle
helps. For a test purpose, I've removed the following part from
this function:

	if ((gpr1 & IMX6Q_GPR1_PCIE_REF_CLK_EN) &&
	    (gpr12 & IMX6Q_GPR12_PCIE_CTL_2)) {
		...
	}

Without it, Linux boots up fine. And PCIe also seems to be fully
functional.

I have to admit that I have no real insight in the imx6 / DW PCIe
driver. So I'm checking with you experts, if you have any ideas why
this could be the case? And how this could be solved.

BTW: This happens with v3.19 and v4.0-rc5 on a i.MX6Solo based board
(TQMa6S SoM). With no PCIe support enabled in the bootloader (U-Boot).

Thanks,
Stefan

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2017-01-20 16:02 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-25  9:29 imx6: PCIe imx6_pcie_assert_core_reset() hangs after watchdog reset Stefan Roese
2015-03-25  9:39 ` Lucas Stach
2015-03-25 10:32   ` Stefan Roese
2015-03-25 10:38     ` Lucas Stach
2015-03-26 11:06     ` Lucas Stach
2015-03-26 13:23       ` Tim Harvey
2015-03-26 13:39         ` Lucas Stach
2016-11-06 15:31           ` Philippe De Muyter
2016-11-06 16:59             ` Fabio Estevam
2016-11-07 10:34               ` Lucas Stach
2016-11-07 12:15                 ` Fabio Estevam
2016-11-07 14:23                   ` Lucas Stach
2017-01-19 14:24                   ` Lucas Stach
2017-01-20 16:02                     ` Fabio Estevam
2015-04-08 13:32 ` Fabio Estevam
2015-04-08 13:37   ` Lucas Stach
2015-04-08 13:42     ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).