blob: c0a5288bdbb1ac318eb499d712455cb35eb6e42e [file] [log] [blame]
Bin Meng8a8694d2018-09-26 06:55:21 -07001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
4 */
5
6#include <common.h>
Bin Meng66c69352018-12-12 06:12:25 -08007#include <dm.h>
Simon Glass8f3f7612019-11-14 12:57:42 -07008#include <irq_func.h>
Bin Meng8a8694d2018-09-26 06:55:21 -07009
10/*
11 * cleanup_before_linux() is called just before we call linux
12 * it prepares the processor for linux
13 *
14 * we disable interrupt and caches.
15 */
16int cleanup_before_linux(void)
17{
18 disable_interrupts();
19
Rick Chen842d5802018-11-07 09:34:06 +080020 cache_flush();
Bin Meng8a8694d2018-09-26 06:55:21 -070021
22 return 0;
23}
Bin Meng66c69352018-12-12 06:12:25 -080024
25/* To enumerate devices on the /soc/ node, create a "simple-bus" driver */
26static const struct udevice_id riscv_virtio_soc_ids[] = {
27 { .compatible = "riscv-virtio-soc" },
28 { }
29};
30
31U_BOOT_DRIVER(riscv_virtio_soc) = {
32 .name = "riscv_virtio_soc",
33 .id = UCLASS_SIMPLE_BUS,
34 .of_match = riscv_virtio_soc_ids,
35 .flags = DM_FLAG_PRE_RELOC,
36};