mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-08 22:03:22 +09:00
846b612014
The commit was added as a workaround required in QEMU when using BBL as
the supervisor binary interface (SBI) for Linux. We are now using
OpenSBI to provide the SBI, the workaround is therefore not required
anymore and can be removed.
This reverts commit 897206c5cc
.
Signed-off-by: Lukas Auer <lukas.auer@aisec.fraunhofer.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
70 lines
1.3 KiB
C
70 lines
1.3 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
/*
|
|
* Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
|
|
*/
|
|
|
|
#include <common.h>
|
|
#include <dm.h>
|
|
#include <env.h>
|
|
#include <fdtdec.h>
|
|
#include <spl.h>
|
|
#include <init.h>
|
|
#include <virtio_types.h>
|
|
#include <virtio.h>
|
|
|
|
int board_init(void)
|
|
{
|
|
/*
|
|
* Make sure virtio bus is enumerated so that peripherals
|
|
* on the virtio bus can be discovered by their drivers
|
|
*/
|
|
virtio_init();
|
|
|
|
return 0;
|
|
}
|
|
|
|
int board_late_init(void)
|
|
{
|
|
ulong kernel_start;
|
|
ofnode chosen_node;
|
|
int ret;
|
|
|
|
chosen_node = ofnode_path("/chosen");
|
|
if (!ofnode_valid(chosen_node)) {
|
|
debug("No chosen node found, can't get kernel start address\n");
|
|
return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_ARCH_RV64I
|
|
ret = ofnode_read_u64(chosen_node, "riscv,kernel-start",
|
|
(u64 *)&kernel_start);
|
|
#else
|
|
ret = ofnode_read_u32(chosen_node, "riscv,kernel-start",
|
|
(u32 *)&kernel_start);
|
|
#endif
|
|
if (ret) {
|
|
debug("Can't find kernel start address in device tree\n");
|
|
return 0;
|
|
}
|
|
|
|
env_set_hex("kernel_start", kernel_start);
|
|
|
|
return 0;
|
|
}
|
|
|
|
#ifdef CONFIG_SPL
|
|
u32 spl_boot_device(void)
|
|
{
|
|
/* RISC-V QEMU only supports RAM as SPL boot device */
|
|
return BOOT_DEVICE_RAM;
|
|
}
|
|
#endif
|
|
|
|
#ifdef CONFIG_SPL_LOAD_FIT
|
|
int board_fit_config_name_match(const char *name)
|
|
{
|
|
/* boot using first FIT config */
|
|
return 0;
|
|
}
|
|
#endif
|