• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Configuration header file for K3 AM654 EVM
4  *
5  * Copyright (C) 2017-2018 Texas Instruments Incorporated - http://www.ti.com/
6  *	Lokesh Vutla <lokeshvutla@ti.com>
7  */
8 
9 #ifndef __CONFIG_AM654_EVM_H
10 #define __CONFIG_AM654_EVM_H
11 
12 #include <linux/sizes.h>
13 #include <config_distro_bootcmd.h>
14 #include <environment/ti/mmc.h>
15 #include <environment/ti/k3_rproc.h>
16 
17 /* DDR Configuration */
18 #define CONFIG_SYS_SDRAM_BASE1		0x880000000
19 
20 /* SPL Loader Configuration */
21 #ifdef CONFIG_TARGET_AM654_A53_EVM
22 #define CONFIG_SYS_INIT_SP_ADDR         (CONFIG_SPL_TEXT_BASE +	\
23 					 CONFIG_SYS_K3_NON_SECURE_MSRAM_SIZE)
24 #else
25 /*
26  * Maximum size in memory allocated to the SPL BSS. Keep it as tight as
27  * possible (to allow the build to go through), as this directly affects
28  * our memory footprint. The less we use for BSS the more we have available
29  * for everything else.
30  */
31 #define CONFIG_SPL_BSS_MAX_SIZE		0x5000
32 /*
33  * Link BSS to be within SPL in a dedicated region located near the top of
34  * the MCU SRAM, this way making it available also before relocation. Note
35  * that we are not using the actual top of the MCU SRAM as there is a memory
36  * location filled in by the boot ROM that we want to read out without any
37  * interference from the C context.
38  */
39 #define CONFIG_SPL_BSS_START_ADDR	(CONFIG_SYS_K3_BOOT_PARAM_TABLE_INDEX -\
40 					 CONFIG_SPL_BSS_MAX_SIZE)
41 /* Set the stack right below the SPL BSS section */
42 #define CONFIG_SYS_INIT_SP_ADDR         CONFIG_SPL_BSS_START_ADDR
43 /* Configure R5 SPL post-relocation malloc pool in DDR */
44 #define CONFIG_SYS_SPL_MALLOC_START	0x84000000
45 #define CONFIG_SYS_SPL_MALLOC_SIZE	SZ_16M
46 #endif
47 
48 #ifdef CONFIG_SYS_K3_SPL_ATF
49 #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME	"tispl.bin"
50 #endif
51 
52 #ifndef CONFIG_CPU_V7R
53 #define CONFIG_SKIP_LOWLEVEL_INIT
54 #endif
55 
56 #define CONFIG_SPL_MAX_SIZE		CONFIG_SYS_K3_MAX_DOWNLODABLE_IMAGE_SIZE
57 
58 #define CONFIG_SYS_BOOTM_LEN		SZ_64M
59 
60 #define PARTS_DEFAULT \
61 	/* Linux partitions */ \
62 	"name=rootfs,start=0,size=-,uuid=${uuid_gpt_rootfs}\0"
63 
64 /* U-Boot general configuration */
65 #define EXTRA_ENV_AM65X_BOARD_SETTINGS					\
66 	"findfdt="							\
67 		"setenv name_fdt k3-am654-base-board.dtb;"		\
68 		"setenv fdtfile ${name_fdt}\0"				\
69 	"loadaddr=0x80080000\0"						\
70 	"fdtaddr=0x82000000\0"						\
71 	"overlayaddr=0x83000000\0"					\
72 	"name_kern=Image\0"						\
73 	"console=ttyS2,115200n8\0"					\
74 	"args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000\0" \
75 	"run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}\0"		\
76 
77 /* U-Boot MMC-specific configuration */
78 #define EXTRA_ENV_AM65X_BOARD_SETTINGS_MMC				\
79 	"boot=mmc\0"							\
80 	"mmcdev=1\0"							\
81 	"bootpart=1:2\0"						\
82 	"bootdir=/boot\0"						\
83 	"rd_spec=-\0"							\
84 	"init_mmc=run args_all args_mmc\0"				\
85 	"get_fdt_mmc=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${name_fdt}\0" \
86 	"get_overlay_mmc="						\
87 		"fdt address ${fdtaddr};"				\
88 		"fdt resize 0x100000;"					\
89 		"for overlay in $name_overlays;"			\
90 		"do;"							\
91 		"load mmc ${bootpart} ${overlayaddr} ${bootdir}/${overlay};"	\
92 		"fdt apply ${overlayaddr};"				\
93 		"done;\0"						\
94 	"get_kern_mmc=load mmc ${bootpart} ${loadaddr} "		\
95 		"${bootdir}/${name_kern}\0"				\
96 	"get_fit_mmc=load mmc ${bootpart} ${addr_fit} "			\
97 		"${bootdir}/${name_fit}\0"				\
98 	"partitions=" PARTS_DEFAULT
99 
100 #ifdef DEFAULT_RPROCS
101 #undef DEFAULT_RPROCS
102 #endif
103 #define DEFAULT_RPROCS	""						\
104 		"0 /lib/firmware/am65x-mcu-r5f0_0-fw "			\
105 		"1 /lib/firmware/am65x-mcu-r5f0_1-fw "
106 
107 /* Incorporate settings into the U-Boot environment */
108 #define CONFIG_EXTRA_ENV_SETTINGS					\
109 	DEFAULT_MMC_TI_ARGS						\
110 	DEFAULT_FIT_TI_ARGS						\
111 	EXTRA_ENV_AM65X_BOARD_SETTINGS					\
112 	EXTRA_ENV_AM65X_BOARD_SETTINGS_MMC				\
113 	EXTRA_ENV_RPROC_SETTINGS
114 
115 /* MMC ENV related defines */
116 #ifdef CONFIG_ENV_IS_IN_MMC
117 #define CONFIG_SYS_MMC_ENV_DEV		0
118 #define CONFIG_SYS_MMC_ENV_PART	1
119 #endif
120 
121 #define CONFIG_SUPPORT_EMMC_BOOT
122 
123 /* Now for the remaining common defines */
124 #include <configs/ti_armv7_common.h>
125 
126 #endif /* __CONFIG_AM654_EVM_H */
127