mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-08 13:53:21 +09:00
![Marek Vasut](/assets/img/avatar_default.png)
Convert all Renesas R-Car boards to bootm_size of 256 MiB and drop both fdt_high and initrd_high. This change implies that the FDT and initrd will always be copied into the first 256 MiB of RAM instead of being used in place, which can cause various kinds of inobvious problems. The simpler problems include FDT or initrd being overwritten or being used from unaligned addresses, especially on ARM64. The overhead of copying the FDT to aligned location is negligible and these problems go away, so the benefit is significant. Regarding alignment problems with fitImage. The alignment of DT properties is always 32 bits, which implies that the alignment of the "data" property in fitImage is also 32 bits. The /incbin/ syntax plays no role here. The kernel expects all elements, including DT and initrd, to be aligned to 64 bits on ARM64, thus using them in place may not be possible. Using the bootm_size assures correct alignment, again with negligible overhead. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Tom Rini <trini@konsulko.com>
70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* include/configs/rcar-gen3-common.h
|
|
* This file is R-Car Gen3 common configuration file.
|
|
*
|
|
* Copyright (C) 2015-2017 Renesas Electronics Corporation
|
|
*/
|
|
|
|
#ifndef __RCAR_GEN3_COMMON_H
|
|
#define __RCAR_GEN3_COMMON_H
|
|
|
|
#include <asm/arch/rmobile.h>
|
|
|
|
#define CONFIG_REMAKE_ELF
|
|
#define CONFIG_BUILD_TARGET "u-boot-elf.srec"
|
|
|
|
/* boot option */
|
|
|
|
#define CONFIG_CMDLINE_TAG
|
|
#define CONFIG_SETUP_MEMORY_TAGS
|
|
#define CONFIG_INITRD_TAG
|
|
|
|
#undef CONFIG_SHOW_BOOT_PROGRESS
|
|
|
|
#define CONFIG_ARCH_CPU_INIT
|
|
|
|
/* Generic Interrupt Controller Definitions */
|
|
#define CONFIG_GICV2
|
|
#define GICD_BASE 0xF1010000
|
|
#define GICC_BASE 0xF1020000
|
|
|
|
/* console */
|
|
#define CONFIG_SYS_CBSIZE 2048
|
|
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
|
#define CONFIG_SYS_MAXARGS 64
|
|
#define CONFIG_SYS_BAUDRATE_TABLE { 115200, 38400 }
|
|
|
|
/* MEMORY */
|
|
#define CONFIG_SYS_INIT_SP_ADDR CONFIG_SYS_TEXT_BASE
|
|
|
|
#define DRAM_RSV_SIZE 0x08000000
|
|
#define CONFIG_SYS_SDRAM_BASE (0x40000000 + DRAM_RSV_SIZE)
|
|
#define CONFIG_SYS_SDRAM_SIZE (0x80000000u - DRAM_RSV_SIZE)
|
|
#define CONFIG_SYS_LOAD_ADDR 0x58000000
|
|
#define CONFIG_LOADADDR CONFIG_SYS_LOAD_ADDR
|
|
#define CONFIG_VERY_BIG_RAM
|
|
#define CONFIG_MAX_MEM_MAPPED (0x80000000u - DRAM_RSV_SIZE)
|
|
|
|
#define CONFIG_SYS_MONITOR_BASE 0x00000000
|
|
#define CONFIG_SYS_MONITOR_LEN (256 * 1024)
|
|
#define CONFIG_SYS_MALLOC_LEN (1 * 1024 * 1024)
|
|
#define CONFIG_SYS_BOOTMAPSZ (8 * 1024 * 1024)
|
|
#define CONFIG_SYS_BOOTM_LEN (64 << 20)
|
|
|
|
/* ENV setting */
|
|
#define CONFIG_ENV_OVERWRITE
|
|
#define CONFIG_ENV_SECT_SIZE (128 * 1024)
|
|
#define CONFIG_ENV_SIZE (CONFIG_ENV_SECT_SIZE)
|
|
#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
|
|
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
"bootm_size=0x10000000\0"
|
|
|
|
#define CONFIG_BOOTCOMMAND \
|
|
"tftp 0x48080000 Image; " \
|
|
"tftp 0x48000000 Image-"CONFIG_DEFAULT_FDT_FILE"; " \
|
|
"booti 0x48080000 - 0x48000000"
|
|
|
|
#endif /* __RCAR_GEN3_COMMON_H */
|