Loading a FIT image for kernel, initrd and rootfs on px30 can result in an
memory overlap, resulting in the not 100% helpful message of
"This will not be a case any time" from lmb_fix_over_lap_regions().
Adding a bit of debug info to lmb_fix_over_lap_regions() brings:
lmb_fix_over_lap_regions: base1 0x280000-0x6005ac > base2 0x600000-0x6000d1
So this is because the FIT image gets loaded to the kernel_addr_r at
0x280000 while the pxe-file is already living at 0x600000, only 3.5MB
behind.
In commit 4acc8bb044 ("configs: rockchip: sync ENV_MEM_LAYOUT_SETTINGS
for rk3308, rk3328, and rk3399") FUKAUMI Naoki already brought the memory
layouts for the mentioned socs in sync.
Adjusting the env-layout on px30 to this scheme, magically solves the
overlap issue and also brings px30 more in line with the other mentioned
SoCs.
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
39 lines
919 B
C
39 lines
919 B
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* (C) Copyright 2017 Rockchip Electronics Co., Ltd
|
|
*/
|
|
|
|
#ifndef __CONFIG_PX30_COMMON_H
|
|
#define __CONFIG_PX30_COMMON_H
|
|
|
|
#include "rockchip-common.h"
|
|
|
|
#define CFG_IRAM_BASE 0xff0e0000
|
|
|
|
#define GICD_BASE 0xff131000
|
|
#define GICC_BASE 0xff132000
|
|
|
|
#define CFG_SYS_SDRAM_BASE 0
|
|
#define SDRAM_MAX_SIZE 0xff000000
|
|
|
|
#define ENV_MEM_LAYOUT_SETTINGS \
|
|
"scriptaddr=0x00500000\0" \
|
|
"script_offset_f=0xffe000\0" \
|
|
"script_size_f=0x2000\0" \
|
|
"pxefile_addr_r=0x00600000\0" \
|
|
"fdt_addr_r=0x01e00000\0" \
|
|
"fdtoverlay_addr_r=0x01f00000\0" \
|
|
"kernel_addr_r=0x02080000\0" \
|
|
"ramdisk_addr_r=0x06000000\0" \
|
|
"kernel_comp_addr_r=0x08000000\0" \
|
|
"kernel_comp_size=0x2000000\0"
|
|
|
|
#define CFG_EXTRA_ENV_SETTINGS \
|
|
ENV_MEM_LAYOUT_SETTINGS \
|
|
"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
|
|
"partitions=" PARTS_DEFAULT \
|
|
ROCKCHIP_DEVICE_SETTINGS \
|
|
"boot_targets=" BOOT_TARGETS "\0"
|
|
|
|
#endif
|