1 /* 2 * Copyright (C) 2007,2008 Freescale Semiconductor, Inc. All rights reserved. 3 * 4 * Author: John Rigby, <jrigby@freescale.com> 5 * 6 * Description: 7 * MPC512x SoC setup 8 * 9 * This is free software; you can redistribute it and/or modify it 10 * under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 */ 15 16 #include <linux/kernel.h> 17 #include <linux/of_platform.h> 18 19 #include <asm/machdep.h> 20 #include <asm/ipic.h> 21 #include <asm/prom.h> 22 #include <asm/time.h> 23 24 #include "mpc512x.h" 25 26 /* 27 * list of supported boards 28 */ 29 static const char * const board[] __initconst = { 30 "prt,prtlvt", 31 "fsl,mpc5125ads", 32 "ifm,ac14xx", 33 NULL 34 }; 35 36 /* 37 * Called very early, MMU is off, device-tree isn't unflattened 38 */ 39 static int __init mpc512x_generic_probe(void) 40 { 41 return of_flat_dt_match(of_get_flat_dt_root(), board); 42 } 43 44 define_machine(mpc512x_generic) { 45 .name = "MPC512x generic", 46 .probe = mpc512x_generic_probe, 47 .init = mpc512x_init, 48 .init_early = mpc512x_init_early, 49 .setup_arch = mpc512x_setup_arch, 50 .init_IRQ = mpc512x_init_IRQ, 51 .get_irq = ipic_get_irq, 52 .calibrate_decr = generic_calibrate_decr, 53 .restart = mpc512x_restart, 54 }; 55