]> git.ipfire.org Git - thirdparty/u-boot.git/blob - include/system-constants.h
phycore_imx8mp: Move environment from include/config to board
[thirdparty/u-boot.git] / include / system-constants.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2
3 #ifndef __SYSTEM_CONSTANTS_H__
4 #define __SYSTEM_CONSTANTS_H__
5
6 #include <config.h>
7
8 /*
9 * The most common case for our initial stack pointer address is to
10 * say that we have defined a static intiial ram address location and
11 * size and from that we subtract the generated global data size.
12 */
13 #ifdef CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR
14 #define SYS_INIT_SP_ADDR CONFIG_CUSTOM_SYS_INIT_SP_ADDR
15 #else
16 #ifdef CONFIG_MIPS
17 #define SYS_INIT_SP_ADDR (CFG_SYS_SDRAM_BASE + CFG_SYS_INIT_SP_OFFSET)
18 #else
19 #define SYS_INIT_SP_ADDR \
20 (CFG_SYS_INIT_RAM_ADDR + CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
21 #endif
22 #endif
23
24 /*
25 * Typically, we have the SPL malloc pool at the end of the BSS area.
26 */
27 #ifdef CONFIG_SPL_HAS_CUSTOM_MALLOC_START
28 #define SPL_SYS_MALLOC_START CONFIG_SPL_CUSTOM_SYS_MALLOC_ADDR
29 #elif defined(CONFIG_SPL_BSS_START_ADDR)
30 #define SPL_SYS_MALLOC_START (CONFIG_SPL_BSS_START_ADDR + \
31 CONFIG_SPL_BSS_MAX_SIZE)
32 #else
33 /* feature not enabled: this value avoids compiler errors but is not used */
34 #define SPL_SYS_MALLOC_START 0
35 #endif
36 #define SPL_SYS_MALLOC_SIZE \
37 IF_ENABLED_INT(CONFIG_SPL_SYS_MALLOC, CONFIG_SPL_SYS_MALLOC_SIZE)
38
39 /* deal with an optional value */
40 #ifdef CONFIG_SPL_OS_BOOT
41 #define SPL_PAYLOAD_ARGS_ADDR CONFIG_SPL_PAYLOAD_ARGS_ADDR
42 #else
43 #define SPL_PAYLOAD_ARGS_ADDR 0
44 #endif
45
46 /* Number of pages per block */
47 #define SYS_NAND_BLOCK_PAGES \
48 (CONFIG_SYS_NAND_BLOCK_SIZE / CONFIG_SYS_NAND_PAGE_SIZE)
49
50 #endif