0001
0002
0003
0004
0005
0006
0007 #include <linux/types.h>
0008 #include <linux/kernel.h>
0009 #include <linux/stddef.h>
0010 #include <linux/init.h>
0011 #include <linux/of.h>
0012 #include <linux/of_platform.h>
0013
0014 #include <asm/machdep.h>
0015 #include <asm/time.h>
0016 #include <asm/xics.h>
0017 #include <asm/udbg.h>
0018
0019 #include "microwatt.h"
0020
0021 static void __init microwatt_init_IRQ(void)
0022 {
0023 xics_init();
0024 }
0025
0026 static int __init microwatt_probe(void)
0027 {
0028 return of_machine_is_compatible("microwatt-soc");
0029 }
0030
0031 static int __init microwatt_populate(void)
0032 {
0033 return of_platform_default_populate(NULL, NULL, NULL);
0034 }
0035 machine_arch_initcall(microwatt, microwatt_populate);
0036
0037 static void __init microwatt_setup_arch(void)
0038 {
0039 microwatt_rng_init();
0040 }
0041
0042 define_machine(microwatt) {
0043 .name = "microwatt",
0044 .probe = microwatt_probe,
0045 .init_IRQ = microwatt_init_IRQ,
0046 .setup_arch = microwatt_setup_arch,
0047 .progress = udbg_progress,
0048 .calibrate_decr = generic_calibrate_decr,
0049 };