1/*
2 * Microwatt FPGA-based SoC platform setup code.
3 *
4 * Copyright 2020 Paul Mackerras (paulus@ozlabs.org), IBM Corp.
5 */
6
7#include <linux/types.h>
8#include <linux/kernel.h>
9#include <linux/stddef.h>
10#include <linux/init.h>
11#include <linux/of.h>
12#include <linux/of_platform.h>
13
14#include <asm/machdep.h>
15#include <asm/time.h>
16#include <asm/xics.h>
17#include <asm/udbg.h>
18
19#include "microwatt.h"
20
21static void __init microwatt_init_IRQ(void)
22{
23	xics_init();
24}
25
26static int __init microwatt_populate(void)
27{
28	return of_platform_default_populate(NULL, NULL, NULL);
29}
30machine_arch_initcall(microwatt, microwatt_populate);
31
32static void __init microwatt_setup_arch(void)
33{
34	microwatt_rng_init();
35}
36
37define_machine(microwatt) {
38	.name			= "microwatt",
39	.compatible		= "microwatt-soc",
40	.init_IRQ		= microwatt_init_IRQ,
41	.setup_arch		= microwatt_setup_arch,
42	.progress		= udbg_progress,
43};
44