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 static void __init microwatt_init_IRQ(void) 20 { 21 xics_init(); 22 } 23 24 static int __init microwatt_probe(void) 25 { 26 return of_machine_is_compatible("microwatt-soc"); 27 } 28 29 static int __init microwatt_populate(void) 30 { 31 return of_platform_default_populate(NULL, NULL, NULL); 32 } 33 machine_arch_initcall(microwatt, microwatt_populate); 34 35 define_machine(microwatt) { 36 .name = "microwatt", 37 .probe = microwatt_probe, 38 .init_IRQ = microwatt_init_IRQ, 39 .progress = udbg_progress, 40 .calibrate_decr = generic_calibrate_decr, 41 }; 42