blob: 1e43d1c1bd23b5ca4634c481d52de98ce113bf61 [file] [log] [blame]
// SPDX-License-Identifier: GPL-2.0
/*
* https://beagleboard.org/ai-64
*
* Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
* Copyright (C) 2022-2023 Jason Kridner, BeagleBoard.org Foundation
* Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
*/
#include <efi_loader.h>
#include <cpu_func.h>
#include <env.h>
#include <fdt_support.h>
#include <spl.h>
DECLARE_GLOBAL_DATA_PTR;
struct efi_fw_image fw_images[] = {
{
.image_type_id = BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID,
.fw_name = u"BEAGLEBONEAI64_TIBOOT3",
.image_index = 1,
},
{
.image_type_id = BEAGLEBONEAI64_SPL_IMAGE_GUID,
.fw_name = u"BEAGLEBONEAI64_SPL",
.image_index = 2,
},
{
.image_type_id = BEAGLEBONEAI64_UBOOT_IMAGE_GUID,
.fw_name = u"BEAGLEBONEAI64_UBOOT",
.image_index = 3,
},
{
.image_type_id = BEAGLEBONEAI64_SYSFW_IMAGE_GUID,
.fw_name = u"BEAGLEBONEAI64_SYSFW",
.image_index = 4,
}
};
struct efi_capsule_update_info update_info = {
.dfu_string = "mmc 0=tiboot3.bin raw 0 2000 mmcpart 1;"
"tispl.bin fat 0 1;u-boot.img fat 0 1; sysfw.itb fat 0 1",
.num_images = ARRAY_SIZE(fw_images),
.images = fw_images,
};
#if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
void set_dfu_alt_info(char *interface, char *devstr)
{
if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
env_set("dfu_alt_info", update_info.dfu_string);
}
#endif
int board_init(void)
{
return 0;
}
int dram_init(void)
{
return fdtdec_setup_mem_size_base();
}
int dram_init_banksize(void)
{
return fdtdec_setup_memory_banksize();
}
#ifdef CONFIG_BOARD_LATE_INIT
int board_late_init(void)
{
char fdtfile[50];
snprintf(fdtfile, sizeof(fdtfile), "%s/%s.dtb",
CONFIG_TI_FDT_FOLDER_PATH, CONFIG_DEFAULT_DEVICE_TREE);
env_set("fdtfile", fdtfile);
return 0;
}
#endif