[U-Boot] U-boot hangs on imx6 pci driver

Tim Harvey tharvey at gateworks.com
Thu Jun 5 02:16:54 CEST 2014


On Fri, May 30, 2014 at 12:04 AM, "David Müller (ELSOFT AG)"
<d.mueller at elsoft.ch> wrote:
> Fabio Estevam wrote:
>> On Wed, May 28, 2014 at 4:40 AM, "David Müller (ELSOFT AG)"
>> <d.mueller at elsoft.ch> 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


More information about the U-Boot mailing list