diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2014-12-31 16:05:11 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-01-13 07:24:40 -0800 |
commit | a62e84d7b1824a202dd6a9e9c7b1bc350c7b33b7 (patch) | |
tree | 1c102299e34f9c25c8b17725586875ba9525062a /drivers/pci | |
parent | 949dbc12db8ba628004ac70359ca0e0edf98432e (diff) | |
download | u-boot-a62e84d7b1824a202dd6a9e9c7b1bc350c7b33b7.zip u-boot-a62e84d7b1824a202dd6a9e9c7b1bc350c7b33b7.tar.gz u-boot-a62e84d7b1824a202dd6a9e9c7b1bc350c7b33b7.tar.bz2 |
fdt: Add several apis to decode pci device node
This commit adds several APIs to decode PCI device node according to
the Open Firmware PCI bus bindings, including:
- fdtdec_get_pci_addr() for encoded pci address
- fdtdec_get_pci_vendev() for vendor id and device id
- fdtdec_get_pci_bdf() for pci device bdf triplet
- fdtdec_get_pci_bar32() for pci device register bar
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
(Include <pci.h> in fdtdec.h and adjust tegra to fix build error)
Diffstat (limited to 'drivers/pci')
-rw-r--r-- | drivers/pci/pci_tegra.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c index a03ad5f..f9e05ad 100644 --- a/drivers/pci/pci_tegra.c +++ b/drivers/pci/pci_tegra.c @@ -458,6 +458,7 @@ static int tegra_pcie_parse_port_info(const void *fdt, int node, unsigned int *index, unsigned int *lanes) { + struct fdt_pci_addr addr; pci_dev_t bdf; int err; @@ -469,7 +470,7 @@ static int tegra_pcie_parse_port_info(const void *fdt, int node, *lanes = err; - err = fdtdec_pci_get_bdf(fdt, node, &bdf); + err = fdtdec_get_pci_bdf(fdt, node, &addr, &bdf); if (err < 0) { error("failed to parse \"reg\" property"); return err; |