Commit 5a430c02 authored by Andre Przywara's avatar Andre Przywara
Browse files

rpi4/fdt: Move dtb_size() function to fdt_wrappers.h



Getting the actual size of a DTB blob is useful beyond the Raspberry Pi
port, so let's move this helper to a common header.

Change-Id: Ia5be46e9353ca859a1e5ad9e3c057a322dfe22e2
Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
parent 2bdb4611
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
#ifndef FDT_WRAPPERS_H #ifndef FDT_WRAPPERS_H
#define FDT_WRAPPERS_H #define FDT_WRAPPERS_H
#include <libfdt_env.h>
/* Number of cells, given total length in bytes. Each cell is 4 bytes long */ /* Number of cells, given total length in bytes. Each cell is 4 bytes long */
#define NCELLS(len) ((len) / 4U) #define NCELLS(len) ((len) / 4U)
...@@ -37,4 +39,11 @@ int fdt_get_stdout_node_offset(const void *dtb); ...@@ -37,4 +39,11 @@ int fdt_get_stdout_node_offset(const void *dtb);
uint64_t fdtw_translate_address(const void *dtb, int bus_node, uint64_t fdtw_translate_address(const void *dtb, int bus_node,
uint64_t base_address); uint64_t base_address);
static inline uint32_t fdt_blob_size(const void *dtb)
{
const uint32_t *dtb_header = dtb;
return fdt32_to_cpu(dtb_header[1]);
}
#endif /* FDT_WRAPPERS_H */ #endif /* FDT_WRAPPERS_H */
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <lib/xlat_tables/xlat_tables_v2.h> #include <lib/xlat_tables/xlat_tables_v2.h>
#include <plat/common/platform.h> #include <plat/common/platform.h>
#include <common/fdt_fixup.h> #include <common/fdt_fixup.h>
#include <common/fdt_wrappers.h>
#include <libfdt.h> #include <libfdt.h>
#include <drivers/arm/gicv2.h> #include <drivers/arm/gicv2.h>
...@@ -200,13 +201,6 @@ void bl31_plat_arch_setup(void) ...@@ -200,13 +201,6 @@ void bl31_plat_arch_setup(void)
enable_mmu_el3(0); enable_mmu_el3(0);
} }
static uint32_t dtb_size(const void *dtb)
{
const uint32_t *dtb_header = dtb;
return fdt32_to_cpu(dtb_header[1]);
}
static void rpi4_prepare_dtb(void) static void rpi4_prepare_dtb(void)
{ {
void *dtb = (void *)rpi4_get_dtb_address(); void *dtb = (void *)rpi4_get_dtb_address();
...@@ -250,7 +244,7 @@ static void rpi4_prepare_dtb(void) ...@@ -250,7 +244,7 @@ static void rpi4_prepare_dtb(void)
if (ret < 0) if (ret < 0)
ERROR("Failed to pack Device Tree at %p: error %d\n", dtb, ret); ERROR("Failed to pack Device Tree at %p: error %d\n", dtb, ret);
clean_dcache_range((uintptr_t)dtb, dtb_size(dtb)); clean_dcache_range((uintptr_t)dtb, fdt_blob_size(dtb));
INFO("Changed device tree to advertise PSCI.\n"); INFO("Changed device tree to advertise PSCI.\n");
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment