[U-Boot] [PATCH] fdt: pci: Permit use of reg property for setting device address
Bin Meng
bmeng.cn at gmail.com
Tue Jan 20 13:59:00 CET 2015
Hi Simon,
On Tue, Jan 20, 2015 at 11:19 AM, Simon Glass <sjg at chromium.org> wrote:
> In commit a62e84d the old functionality of obtaining a PCI address from the
> 'reg' property was lost. Add it back, so we can support both a compatible
> string list and a 'reg' property.
>
> This patch fixes PCIe ethernet on Tegra boards.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> lib/fdtdec.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 89dac4c..0488607 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -219,8 +219,14 @@ int fdtdec_get_pci_bdf(const void *blob, int node,
>
> /* get vendor id & device id from the compatible string */
> ret = fdtdec_get_pci_vendev(blob, node, &dt_vendor, &dt_device);
> - if (ret)
> - return ret;
> + if (ret) {
> + /* Fall back to using the 'reg' property */
> + ret = fdtdec_get_int(blob, node, "reg", -1);
> + if (ret == -1)
> + return -ENOENT;
> + *bdf = ret & 0xffffff;
> + return 0;
> + }
>
> /* extract the bdf from fdt_pci_addr */
> *bdf = addr->phys_hi & 0xffff00;
> --
How is 'reg' encodeded in Tegra's dts? I feel we should start using
standard bindings instead of custom one.
Regards,
Bin
More information about the U-Boot
mailing list