From 1db7ee464f28d72bd1af87b1136c9c158833da13 Mon Sep 17 00:00:00 2001 From: Suneel Garapati Date: Sat, 19 Oct 2019 15:19:35 -0700 Subject: fdtdec: Add API to read pci bus-range property Add fdtdec_get_pci_bus_range to read bus-range property values. Signed-off-by: Suneel Garapati Reviewed-by: Simon Glass --- lib/fdtdec.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'lib') diff --git a/lib/fdtdec.c b/lib/fdtdec.c index 30a1c6a217..d3b22ec323 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -243,6 +243,22 @@ int fdtdec_get_pci_bar32(const struct udevice *dev, struct fdt_pci_addr *addr, return 0; } + +int fdtdec_get_pci_bus_range(const void *blob, int node, + struct fdt_resource *res) +{ + const u32 *values; + int len; + + values = fdt_getprop(blob, node, "bus-range", &len); + if (!values || len < sizeof(*values) * 2) + return -EINVAL; + + res->start = fdt32_to_cpu(*values++); + res->end = fdt32_to_cpu(*values); + + return 0; +} #endif uint64_t fdtdec_get_uint64(const void *blob, int node, const char *prop_name, -- cgit