mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-23 10:28:51 +09:00
![Lukas Auer](/assets/img/avatar_default.png)
Add two new configurations (qemu-riscv{32,64}_spl_defconfig) with SPL enabled for RISC-V QEMU. QEMU does not require SPL to run U-Boot. The configurations are meant to help the development of SPL on RISC-V. The configurations enable RAM as the only SPL boot device. Images must be loaded at address 0x80200000. In the default boot flow, U-Boot SPL starts in machine mode, loads the OpenSBI FW_DYNAMIC firmware and U-Boot proper from the supplied FIT image, and starts OpenSBI. U-Boot proper is then started in supervisor mode by OpenSBI. Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Anup Patel <anup.patel@wdc.com>
66 lines
1.5 KiB
C
66 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
|
|
*/
|
|
|
|
#ifndef __CONFIG_H
|
|
#define __CONFIG_H
|
|
|
|
#include <linux/sizes.h>
|
|
|
|
#ifdef CONFIG_SPL
|
|
|
|
#define CONFIG_SPL_MAX_SIZE 0x00100000
|
|
#define CONFIG_SPL_BSS_START_ADDR 0x84000000
|
|
#define CONFIG_SPL_BSS_MAX_SIZE 0x00100000
|
|
#define CONFIG_SYS_SPL_MALLOC_START 0x84100000
|
|
#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00100000
|
|
|
|
#define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80200000
|
|
|
|
#endif
|
|
|
|
#define CONFIG_SYS_SDRAM_BASE 0x80000000
|
|
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_2M)
|
|
|
|
#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_2M)
|
|
|
|
#define CONFIG_SYS_MALLOC_LEN SZ_8M
|
|
|
|
#define CONFIG_SYS_BOOTM_LEN SZ_64M
|
|
|
|
#define CONFIG_STANDALONE_LOAD_ADDR 0x80200000
|
|
|
|
/* Environment options */
|
|
#define CONFIG_ENV_SIZE SZ_128K
|
|
|
|
#ifndef CONFIG_SPL_BUILD
|
|
#define BOOT_TARGET_DEVICES(func) \
|
|
func(QEMU, qemu, na) \
|
|
func(VIRTIO, virtio, 0) \
|
|
func(DHCP, dhcp, na)
|
|
|
|
#include <config_distro_bootcmd.h>
|
|
|
|
#define BOOTENV_DEV_QEMU(devtypeu, devtypel, instance) \
|
|
"bootcmd_qemu=" \
|
|
"if env exists kernel_start; then " \
|
|
"bootm ${kernel_start} - ${fdtcontroladdr};" \
|
|
"fi;\0"
|
|
|
|
#define BOOTENV_DEV_NAME_QEMU(devtypeu, devtypel, instance) \
|
|
"qemu "
|
|
|
|
#define CONFIG_EXTRA_ENV_SETTINGS \
|
|
"fdt_high=0xffffffffffffffff\0" \
|
|
"initrd_high=0xffffffffffffffff\0" \
|
|
"kernel_addr_r=0x84000000\0" \
|
|
"fdt_addr_r=0x88000000\0" \
|
|
"scriptaddr=0x88100000\0" \
|
|
"pxefile_addr_r=0x88200000\0" \
|
|
"ramdisk_addr_r=0x88300000\0" \
|
|
BOOTENV
|
|
#endif
|
|
|
|
#endif /* __CONFIG_H */
|