diff options
Diffstat (limited to 'arch/arm/boards/qemu-virt/board.c')
-rw-r--r-- | arch/arm/boards/qemu-virt/board.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm/boards/qemu-virt/board.c b/arch/arm/boards/qemu-virt/board.c new file mode 100644 index 0000000000..3aeea1a017 --- /dev/null +++ b/arch/arm/boards/qemu-virt/board.c @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2020 Pengutronix e.K. + * + */ +#include <common.h> +#include <init.h> +#include <asm/system_info.h> + +static int virt_probe(struct device_d *dev) +{ + char *hostname = "virt"; + + if (cpu_is_cortex_a7()) + hostname = "virt-a7"; + else if (cpu_is_cortex_a15()) + hostname = "virt-a15"; + + barebox_set_model("ARM QEMU virt"); + barebox_set_hostname(hostname); + + return 0; +} + +static const struct of_device_id virt_of_match[] = { + { .compatible = "linux,dummy-virt" }, + { /* Sentinel */}, +}; + +static struct driver_d virt_board_driver = { + .name = "board-qemu-virt", + .probe = virt_probe, + .of_compatible = virt_of_match, +}; + +postcore_platform_driver(virt_board_driver); |