mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-05 02:23:31 +08:00
b0cadb35da
Currently the following memory layout is typically used on RK3588: [ 0, 256K) - SPL binary [ 256K, 2M) - TF-A / reserved [ -X, 4M) - SPL pre-reloc stack (SPL_STACK) [ 3.5M, 4M) - pre-reloc malloc heap (SPL_SYS_MALLOC_F_LEN) [ -X, 6M) - SPL reloc stack (SPL_STACK_R_ADDR) [ 5M, 6M) - reloc malloc heap (SPL_STACK_R_MALLOC_SIMPLE_LEN) [ 10M, +X) - U-Boot proper binary (TEXT_BASE) [ -X, 12M) - U-Boot proper pre-reloc stack (CUSTOM_SYS_INIT_SP_ADDR) [11.5M, 12M) - pre-reloc malloc heap (SYS_MALLOC_F_LEN) [ 64M, +16K) - SPL bss (SPL_BSS_START_ADDR, SPL_BSS_MAX_SIZE) SPL can safely load U-Boot proper + FDT to [10M, 11.5M) with this layout. However, on ROCK 5A the SPL stacks is overlapping: [ -X, 16M) - SPL pre-reloc stack (SPL_STACK) [15.5M, 16M) - pre-reloc malloc heap (SPL_SYS_MALLOC_F_LEN) [ -X, 16M) - SPL reloc stack (SPL_STACK_R_ADDR) [ 15M, 16M) - reloc malloc heap (SPL_STACK_R_MALLOC_SIMPLE_LEN) Because bind and probe udevice instanses is allocated on the pre-reloc malloc heap, there is going to be an overlap when reloc malloc heap reaches close to 512 KiB of usage. Migrate to use common bss, stack and malloc heap size and addresses to mitigate these limitations and allow for a larger U-Boot proper size. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> (Update for new boards defconfig) Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
73 lines
1.8 KiB
Plaintext
73 lines
1.8 KiB
Plaintext
CONFIG_ARM=y
|
|
CONFIG_SKIP_LOWLEVEL_INIT=y
|
|
CONFIG_COUNTER_FREQUENCY=24000000
|
|
CONFIG_ARCH_ROCKCHIP=y
|
|
CONFIG_NR_DRAM_BANKS=2
|
|
CONFIG_DEFAULT_DEVICE_TREE="rk3588s-rock-5a"
|
|
CONFIG_ROCKCHIP_RK3588=y
|
|
CONFIG_SPL_SERIAL=y
|
|
CONFIG_TARGET_ROCK5A_RK3588=y
|
|
CONFIG_DEBUG_UART_BASE=0xFEB50000
|
|
CONFIG_DEBUG_UART_CLOCK=24000000
|
|
CONFIG_SYS_LOAD_ADDR=0xc00800
|
|
CONFIG_DEBUG_UART=y
|
|
CONFIG_FIT=y
|
|
CONFIG_FIT_VERBOSE=y
|
|
CONFIG_SPL_FIT_SIGNATURE=y
|
|
CONFIG_SPL_LOAD_FIT=y
|
|
CONFIG_LEGACY_IMAGE_FORMAT=y
|
|
CONFIG_OF_BOARD_SETUP=y
|
|
CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-rock-5a.dtb"
|
|
# CONFIG_DISPLAY_CPUINFO is not set
|
|
CONFIG_DISPLAY_BOARDINFO_LATE=y
|
|
CONFIG_SPL_MAX_SIZE=0x40000
|
|
CONFIG_SPL_PAD_TO=0x7f8000
|
|
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
|
|
CONFIG_SPL_ATF=y
|
|
CONFIG_CMD_GPIO=y
|
|
CONFIG_CMD_GPT=y
|
|
CONFIG_CMD_I2C=y
|
|
CONFIG_CMD_MMC=y
|
|
CONFIG_CMD_USB=y
|
|
# CONFIG_CMD_SETEXPR is not set
|
|
CONFIG_CMD_REGULATOR=y
|
|
# CONFIG_SPL_DOS_PARTITION is not set
|
|
CONFIG_SPL_OF_CONTROL=y
|
|
CONFIG_OF_LIVE=y
|
|
CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
|
|
CONFIG_SPL_DM_SEQ_ALIAS=y
|
|
CONFIG_SPL_REGMAP=y
|
|
CONFIG_SPL_SYSCON=y
|
|
CONFIG_SPL_CLK=y
|
|
CONFIG_ROCKCHIP_GPIO=y
|
|
CONFIG_SYS_I2C_ROCKCHIP=y
|
|
CONFIG_MISC=y
|
|
CONFIG_SUPPORT_EMMC_RPMB=y
|
|
CONFIG_MMC_DW=y
|
|
CONFIG_MMC_DW_ROCKCHIP=y
|
|
CONFIG_MMC_SDHCI=y
|
|
CONFIG_MMC_SDHCI_SDMA=y
|
|
CONFIG_MMC_SDHCI_ROCKCHIP=y
|
|
CONFIG_PHY_REALTEK=y
|
|
CONFIG_DWC_ETH_QOS=y
|
|
CONFIG_DWC_ETH_QOS_ROCKCHIP=y
|
|
CONFIG_PHY_ROCKCHIP_INNO_USB2=y
|
|
CONFIG_PHY_ROCKCHIP_NANENG_COMBOPHY=y
|
|
CONFIG_PHY_ROCKCHIP_USBDP=y
|
|
CONFIG_SPL_PINCTRL=y
|
|
CONFIG_PWM_ROCKCHIP=y
|
|
CONFIG_SPL_RAM=y
|
|
CONFIG_BAUDRATE=1500000
|
|
CONFIG_DEBUG_UART_SHIFT=2
|
|
CONFIG_SYS_NS16550_MEM32=y
|
|
CONFIG_SYSRESET=y
|
|
CONFIG_USB=y
|
|
CONFIG_USB_XHCI_HCD=y
|
|
CONFIG_USB_EHCI_HCD=y
|
|
CONFIG_USB_EHCI_GENERIC=y
|
|
CONFIG_USB_OHCI_HCD=y
|
|
CONFIG_USB_OHCI_GENERIC=y
|
|
CONFIG_USB_DWC3=y
|
|
CONFIG_USB_DWC3_GENERIC=y
|
|
CONFIG_ERRNO_STR=y
|