]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
fix(rockchip): align fdt buffer on 8 bytes
authorQuentin Schulz <quentin.schulz@theobroma-systems.com>
Mon, 14 Nov 2022 16:40:33 +0000 (17:40 +0100)
committerQuentin Schulz <quentin.schulz@theobroma-systems.com>
Tue, 15 Nov 2022 10:22:42 +0000 (11:22 +0100)
Since commit 94b2f94bd632 ("feat(libfdt): upgrade libfdt source files"),
8-byte alignment of the FDT address is enforced to follow the DT
standard.

Rockchip implementation of params_early_setup loads the FDT address as
passed by the bootloader into a buffer. This buffer is currently made of
uint8_t which means it is not 8-byte aligned and might result in
fdt_open_into failing.

Instead, let's make this buffer uint64_t to make it 8-byte aligned.

Cc: Quentin Schulz <foss+tf-a@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
Change-Id: Ifcf0e0cf4000e3661d76d3c3a2fe3921f7fe44b9

plat/rockchip/common/params_setup.c

index aec53eee2e0d45694318aa1fb98ef2212a9251a7..68054ad19bc4fb796551f70ff5ef07bff0aa74ca 100644 (file)
@@ -38,7 +38,7 @@ static uint32_t rk_uart_base = PLAT_RK_UART_BASE;
 static uint32_t rk_uart_baudrate = PLAT_RK_UART_BAUDRATE;
 static uint32_t rk_uart_clock = PLAT_RK_UART_CLOCK;
 #define FDT_BUFFER_SIZE 0x20000
-static uint8_t fdt_buffer[FDT_BUFFER_SIZE];
+static uint64_t fdt_buffer[FDT_BUFFER_SIZE / 8];
 
 void *plat_get_fdt(void)
 {