mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-07-10 13:16:16 +09:00
![Philipp Tomsich](/assets/img/avatar_default.png)
For the RK3368, we use a multi-stage boot-process consisting of the following: 1. TPL: initalises DRAM, returns to boot-ROM (which then loads the next stage and transfers control to it) 2. SPL: a full-features SPL stage including OF_CONTROL and FIT image loading, which fetches the ATF, DTB and full U-Boot and then transfers control to the ATF (using the BL31 parameter block to indicate the location of BL33/U-Boot) 3. ATF: sets up the secure world and exits to BL33 (i.e. a full U-Boot) in the normal world 4. full U-Boot TPL/SPL and the full U-Boot are built from this tree and need to run from distinct text addresses and with distinct initial stack pointer addresses. This commit sets up the configuration to run: - TPL from the SRAM at 0xff8c0000 (note that the first 0x1000 are reserved for use by the boot-ROM and contain the SP when the TPL is entered) - SPL from DRAM at 0x0 - U-Boot from DRAM at 0x200000 Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
65 lines
1.5 KiB
C
65 lines
1.5 KiB
C
/*
|
|
* Copyright (c) 2016 Andreas Färber
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
#ifndef __CONFIG_RK3368_COMMON_H
|
|
#define __CONFIG_RK3368_COMMON_H
|
|
|
|
#define CONFIG_SYS_CACHELINE_SIZE 64
|
|
|
|
#include <asm/arch/hardware.h>
|
|
#include <linux/sizes.h>
|
|
|
|
#define CONFIG_SYS_SDRAM_BASE 0
|
|
#define SDRAM_MAX_SIZE 0xff000000
|
|
#define CONFIG_NR_DRAM_BANKS 1
|
|
#define CONFIG_SYS_MAXARGS 16
|
|
#define CONFIG_BAUDRATE 115200
|
|
#define CONFIG_SYS_MALLOC_LEN (32 << 20)
|
|
#define CONFIG_SYS_CBSIZE 1024
|
|
#define CONFIG_SKIP_LOWLEVEL_INIT
|
|
|
|
#define COUNTER_FREQUENCY 24000000
|
|
|
|
#define CONFIG_SYS_NS16550_MEM32
|
|
|
|
#define CONFIG_SYS_TEXT_BASE 0x00200000
|
|
#define CONFIG_SYS_INIT_SP_ADDR 0x00300000
|
|
#define CONFIG_SYS_LOAD_ADDR 0x00280000
|
|
|
|
#define CONFIG_SPL_TEXT_BASE 0x00000000
|
|
#define CONFIG_SPL_MAX_SIZE 0x40000
|
|
#define CONFIG_SPL_BSS_START_ADDR 0x400000
|
|
#define CONFIG_SPL_BSS_MAX_SIZE 0x20000
|
|
|
|
#define CONFIG_TPL_LDSCRIPT \
|
|
"arch/arm/mach-rockchip/rk3368/u-boot-tpl.lds"
|
|
#define CONFIG_TPL_TEXT_BASE 0xff8c1000
|
|
#define CONFIG_TPL_MAX_SIZE 0x7000
|
|
#define CONFIG_TPL_STACK 0xff8cffff
|
|
|
|
#define CONFIG_BOUNCE_BUFFER
|
|
|
|
#ifndef CONFIG_SPL_BUILD
|
|
#define ENV_MEM_LAYOUT_SETTINGS \
|
|
"scriptaddr=0x00500000\0" \
|
|
"pxefile_addr_r=0x00600000\0" \
|
|
"fdt_addr_r=0x5600000\0" \
|
|
"kernel_addr_r=0x280000\0" \
|
|
"ramdisk_addr_r=0x5bf0000\0"
|
|
|
|
#include <config_distro_defaults.h>
|
|
|
|
#define BOOT_TARGET_DEVICES(func)
|
|
|
|
#include <config_distro_bootcmd.h>
|
|
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
BOOTENV
|
|
|
|
#endif
|
|
|
|
#endif
|