mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 21:54:01 +00:00
qemu-ppce500: Update get_phys_ccsrbar_addr_early()
The logic of what fdt_get_base_address() will search for and return has
changed. Rework get_phys_ccsrbar_addr_early() to perform the logic that
fdt_get_base_address used to perform.
Fixes: 336a44877a
("fdt: Correct fdt_get_base_address()")
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Alexander Graf <agraf@suse.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
7b9c88bfca
commit
9f841559a5
1 changed files with 7 additions and 1 deletions
|
@ -50,13 +50,19 @@ uint64_t get_phys_ccsrbar_addr_early(void)
|
|||
{
|
||||
void *fdt = get_fdt_virt();
|
||||
uint64_t r;
|
||||
int size, node;
|
||||
u32 naddr;
|
||||
const fdt32_t *prop;
|
||||
|
||||
/*
|
||||
* To be able to read the FDT we need to create a temporary TLB
|
||||
* map for it.
|
||||
*/
|
||||
map_fdt_as(10);
|
||||
r = fdt_get_base_address(fdt, fdt_path_offset(fdt, "/soc"));
|
||||
node = fdt_path_offset(fdt, "/soc");
|
||||
naddr = fdt_address_cells(fdt, node);
|
||||
prop = fdt_getprop(fdt, node, "ranges", &size);
|
||||
r = fdt_translate_address(fdt, node, prop + naddr);
|
||||
disable_tlb(10);
|
||||
|
||||
return r;
|
||||
|
|
Loading…
Reference in a new issue