1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * https://beagleboard.org/ai-64
4  *
5  * Copyright (C) 2022-2023 Texas Instruments Incorporated - https://www.ti.com/
6  * Copyright (C) 2022-2023 Jason Kridner, BeagleBoard.org Foundation
7  * Copyright (C) 2022-2023 Robert Nelson, BeagleBoard.org Foundation
8  */
9 
10 #include <efi_loader.h>
11 #include <cpu_func.h>
12 #include <env.h>
13 #include <fdt_support.h>
14 #include <spl.h>
15 
16 DECLARE_GLOBAL_DATA_PTR;
17 
18 struct efi_fw_image fw_images[] = {
19 	{
20 		.image_type_id = BEAGLEBONEAI64_TIBOOT3_IMAGE_GUID,
21 		.fw_name = u"BEAGLEBONEAI64_TIBOOT3",
22 		.image_index = 1,
23 	},
24 	{
25 		.image_type_id = BEAGLEBONEAI64_SPL_IMAGE_GUID,
26 		.fw_name = u"BEAGLEBONEAI64_SPL",
27 		.image_index = 2,
28 	},
29 	{
30 		.image_type_id = BEAGLEBONEAI64_UBOOT_IMAGE_GUID,
31 		.fw_name = u"BEAGLEBONEAI64_UBOOT",
32 		.image_index = 3,
33 	},
34 	{
35 		.image_type_id = BEAGLEBONEAI64_SYSFW_IMAGE_GUID,
36 		.fw_name = u"BEAGLEBONEAI64_SYSFW",
37 		.image_index = 4,
38 	}
39 };
40 
41 struct efi_capsule_update_info update_info = {
42 	.dfu_string = "mmc 0=tiboot3.bin raw 0 2000 mmcpart 1;"
43 	"tispl.bin fat 0 1;u-boot.img fat 0 1; sysfw.itb fat 0 1",
44 	.num_images = ARRAY_SIZE(fw_images),
45 	.images = fw_images,
46 };
47 
dram_init(void)48 int dram_init(void)
49 {
50 	return fdtdec_setup_mem_size_base();
51 }
52 
dram_init_banksize(void)53 int dram_init_banksize(void)
54 {
55 	return fdtdec_setup_memory_banksize();
56 }
57 
58 #ifdef CONFIG_BOARD_LATE_INIT
board_late_init(void)59 int board_late_init(void)
60 {
61 	char fdtfile[50];
62 
63 	snprintf(fdtfile, sizeof(fdtfile), "%s.dtb", CONFIG_DEFAULT_DEVICE_TREE);
64 
65 	env_set("fdtfile", fdtfile);
66 
67 	return 0;
68 }
69 #endif
70