mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-01-12 13:18:52 +00:00
5b71b7bf92
When fit image boots from ram, the payload will be prepared in the address of SPL_LOAD_FIT_ADDRESS. In spl fit generic flow, it will malloc another memory address and copy whole fit image to this malloc address. But it is un-necessary for booting from RAM. This patch improves this flow by declare the board_spl_fit_buffer_addr() to replace the original one. The larger image size (eq: Kernel Image 10~20MB), it can save more booting time. Signed-off-by: Rick Chen <rick@andestech.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
27 lines
653 B
C
27 lines
653 B
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (C) 2023 Andes Technology Corporation
|
|
* Rick Chen, Andes Technology Corporation <rick@andestech.com>
|
|
*/
|
|
#include <common.h>
|
|
#include <cpu_func.h>
|
|
#include <hang.h>
|
|
#include <init.h>
|
|
#include <log.h>
|
|
#include <spl.h>
|
|
#include <asm/global_data.h>
|
|
#include <asm/system.h>
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
|
|
#if CONFIG_IS_ENABLED(RAM_SUPPORT)
|
|
struct legacy_img_hdr *spl_get_load_buffer(ssize_t offset, size_t size)
|
|
{
|
|
return (void *)(CONFIG_SPL_LOAD_FIT_ADDRESS + offset);
|
|
}
|
|
|
|
void *board_spl_fit_buffer_addr(ulong fit_size, int sectors, int bl_len)
|
|
{
|
|
return spl_get_load_buffer(0, sectors * bl_len);
|
|
}
|
|
#endif
|