blob: 0d6b71b35a068a0f0b35b3ec5840800e13df831e [file] [log] [blame]
Tom Rini42c61412022-05-25 10:16:18 -04001/* SPDX-License-Identifier: GPL-2.0+ */
2
3#ifndef __SYSTEM_CONSTANTS_H__
4#define __SYSTEM_CONSTANTS_H__
5
Tom Rinieaf6ea62022-05-25 12:16:03 -04006/*
7 * The most common case for our initial stack pointer address is to
8 * say that we have defined a static intiial ram address location and
9 * size and from that we subtract the generated global data size.
10 */
11#ifdef CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR
12#define SYS_INIT_SP_ADDR CONFIG_CUSTOM_SYS_INIT_SP_ADDR
13#else
14#ifdef CONFIG_MIPS
Tom Rini65cc0e22022-11-16 13:10:41 -050015#define SYS_INIT_SP_ADDR (CFG_SYS_SDRAM_BASE + CFG_SYS_INIT_SP_OFFSET)
Tom Rinieaf6ea62022-05-25 12:16:03 -040016#else
17#define SYS_INIT_SP_ADDR \
Tom Rini65cc0e22022-11-16 13:10:41 -050018 (CFG_SYS_INIT_RAM_ADDR + CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Tom Rinieaf6ea62022-05-25 12:16:03 -040019#endif
20#endif
21
Tom Rini10f6e4d2022-05-27 12:48:32 -040022/*
23 * Typically, we have the SPL malloc pool at the end of the BSS area.
24 */
25#ifdef CONFIG_HAS_CUSTOM_SPL_MALLOC_START
26#define SYS_SPL_MALLOC_START CONFIG_CUSTOM_SYS_SPL_MALLOC_ADDR
27#else
28#define SYS_SPL_MALLOC_START (CONFIG_SPL_BSS_START_ADDR + \
29 CONFIG_SPL_BSS_MAX_SIZE)
30#endif
31
Tom Rini42c61412022-05-25 10:16:18 -040032#endif