[U-Boot] [PATCH] pci: tegra: Fix port information parsing

Simon Glass sjg at chromium.org
Tue Jan 20 20:05:40 CET 2015


Hi Sjoerd,

On 20 January 2015 at 10:06, Sjoerd Simons
<sjoerd.simons at collabora.co.uk> wrote:
> commit a62e84d7b1824a202dd incorrectly changed the tegra pci code to the
> new fdtdec pci helpers. To get the device index of the root port, the
> "reg" property should be parsed from the dtb (as was previously the
> case).
>
> With this patch i can successfully network boot my jetson tk1
>
> Signed-off-by: Sjoerd Simons <sjoerd.simons at collabora.co.uk>
> ---
>  drivers/pci/pci_tegra.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

Can you also please take a look at this patch?

http://patchwork.ozlabs.org/patch/430815/

It tries to support both options.

>
> diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c
> index f9e05ad..67b5fdf 100644
> --- a/drivers/pci/pci_tegra.c
> +++ b/drivers/pci/pci_tegra.c
> @@ -459,7 +459,6 @@ static int tegra_pcie_parse_port_info(const void *fdt, int node,
>                                       unsigned int *lanes)
>  {
>         struct fdt_pci_addr addr;
> -       pci_dev_t bdf;
>         int err;
>
>         err = fdtdec_get_int(fdt, node, "nvidia,num-lanes", 0);
> @@ -470,13 +469,13 @@ static int tegra_pcie_parse_port_info(const void *fdt, int node,
>
>         *lanes = err;
>
> -       err = fdtdec_get_pci_bdf(fdt, node, &addr, &bdf);
> +       err = fdtdec_get_pci_addr(fdt, node, 0, "reg", &addr);
>         if (err < 0) {
>                 error("failed to parse \"reg\" property");
>                 return err;
>         }
>
> -       *index = PCI_DEV(bdf) - 1;
> +       *index = PCI_DEV(addr.phys_hi) - 1;
>
>         return 0;
>  }
> --
> 2.1.4
>

Regards,
Simon


More information about the U-Boot mailing list