1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * https://www.beagleboard.org/boards/beagley-ai
4  *
5  * Copyright (C) 2024 Texas Instruments Incorporated - https://www.ti.com/
6  */
7 
8 #include <asm/arch/hardware.h>
9 #include <asm/io.h>
10 #include <dm/uclass.h>
11 #include <env.h>
12 #include <fdt_support.h>
13 #include <spl.h>
14 #include <asm/arch/k3-ddr.h>
15 
16 #if IS_ENABLED(CONFIG_SET_DFU_ALT_INFO)
set_dfu_alt_info(char * interface,char * devstr)17 void set_dfu_alt_info(char *interface, char *devstr)
18 {
19 	if (IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT))
20 		env_set("dfu_alt_info", update_info.dfu_string);
21 }
22 #endif
23 
dram_init(void)24 int dram_init(void)
25 {
26 	return fdtdec_setup_mem_size_base();
27 }
28 
dram_init_banksize(void)29 int dram_init_banksize(void)
30 {
31 	return fdtdec_setup_memory_banksize();
32 }
33 
34 #if defined(CONFIG_XPL_BUILD)
spl_perform_fixups(struct spl_image_info * spl_image)35 void spl_perform_fixups(struct spl_image_info *spl_image)
36 {
37 	if (IS_ENABLED(CONFIG_K3_DDRSS)) {
38 		if (IS_ENABLED(CONFIG_K3_INLINE_ECC))
39 			fixup_ddr_driver_for_ecc(spl_image);
40 	} else {
41 		fixup_memory_node(spl_image);
42 	}
43 }
44 #endif
45 
46 #if IS_ENABLED(CONFIG_BOARD_LATE_INIT)
board_late_init(void)47 int board_late_init(void)
48 {
49 	char fdtfile[50];
50 
51 	snprintf(fdtfile, sizeof(fdtfile), "%s.dtb", CONFIG_DEFAULT_DEVICE_TREE);
52 
53 	env_set("fdtfile", fdtfile);
54 
55 	return 0;
56 }
57 #endif
58