From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tim Harvey Date: Wed, 4 Jun 2014 17:16:54 -0700 Subject: [U-Boot] U-boot hangs on imx6 pci driver In-Reply-To: <53882D92.6020708@elsoft.ch> References: <201405271525.51525.marex@denx.de> <5384A47C.7010107@elsoft.ch> <201405271656.31939.marex@denx.de> <53859308.3020006@elsoft.ch> <53882D92.6020708@elsoft.ch> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, May 30, 2014 at 12:04 AM, "David M?ller (ELSOFT AG)" wrote: > Fabio Estevam wrote: >> On Wed, May 28, 2014 at 4:40 AM, "David M?ller (ELSOFT AG)" >> wrote: >>> I use an additional delay in imx6_add_pcie_port() as a workaround so far. >> >> How much of additional delay? Could you please share your patch? > > diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c > index ee08250..1accc0e 100644 > --- a/drivers/pci/host/pci-imx6.c > +++ b/drivers/pci/host/pci-imx6.c > @@ -503,6 +532,9 @@ static int imx6_add_pcie_port(struct pcie_port *pp, > pp->root_bus_nr = -1; > pp->ops = &imx6_pcie_host_ops; > > + /* FIXME kernel hangs without this delay */ > + usleep_range(20000, 25000); > + > spin_lock_init(&pp->conf_lock); > ret = dw_pcie_host_init(pp); > if (ret) { > > > Dave > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot David / Marek, I run into this issue with our Gateworks Ventana IMX6 boards as well. When enabling PCI support in u-boot my 3.14 kernel hangs somewhere during PCI init or enumeration (can't tell as uart is not up yet) with PCI devices behind a PCIe switch. Applying your patch does seem to work-around the problem on my end as well. Note that I do not see this issue unless I'm using one of our boards with a PCIe switch and If I disable PCI support in u-boot this does not occur. This feels like a PCIE_RST# issue however I do have a PCIE_RST# signal being pinmuxed and configured properly in my u-boot board support as well as the kernel. There seems to be some sort of timing thing that we don't understand here. David, on your board(s) do you have a PCIe switch as well? Tim