aboutsummaryrefslogtreecommitdiff
path: root/drivers/pci
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2014-12-31 16:05:11 +0800
committerSimon Glass <sjg@chromium.org>2015-01-13 07:24:40 -0800
commita62e84d7b1824a202dd6a9e9c7b1bc350c7b33b7 (patch)
tree1c102299e34f9c25c8b17725586875ba9525062a /drivers/pci
parent949dbc12db8ba628004ac70359ca0e0edf98432e (diff)
downloadu-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.c3
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;