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