]> git.dujemihanovic.xyz Git - u-boot.git/commit
fdt: fix fdtdec_get_pci_addr() for CONFIG_PHYS_64BIT
authorStephen Warren <swarren@nvidia.com>
Fri, 2 Oct 2015 23:44:06 +0000 (17:44 -0600)
committerSimon Glass <sjg@chromium.org>
Fri, 23 Oct 2015 15:42:28 +0000 (09:42 -0600)
commit4ea5243a3a2fbc59bbcdd401d75f1744bcd6280f
tree19498ea56e36d581174fd7d8a4f3d65730dd1e19
parent545dfd101400637219b7024ce0fc02728663380e
fdt: fix fdtdec_get_pci_addr() for CONFIG_PHYS_64BIT

PCI addresses are always represented as 3 cells in DT. (one cell for bus
and device, and two cells for a 64-bit addres). This does not vary based
on either the physical address size of the CPU, nor any #address-cells
property in DT (or more precisely, #address-cells must be set to 3 in any
PCIe controller's node).

Fix fdtdec_get_pci_addr() to use conversion functions that operate on
(fixed) cell-sized data rather than (varying) physical-address-sized
data, so that the function works on 64-bit systems.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Thierry Reding <treding@nvidia.com>
lib/fdtdec.c