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 if (!of_device_compatible_match(of_root, board)) 42 return 0; 43 44 mpc512x_init_early(); 45 46 return 1; 47 } 48 49 define_machine(mpc512x_generic) { 50 .name = "MPC512x generic", 51 .probe = mpc512x_generic_probe, 52 .init = mpc512x_init, 53 .setup_arch = mpc512x_setup_arch, 54 .init_IRQ = mpc512x_init_IRQ, 55 .get_irq = ipic_get_irq, 56 .calibrate_decr = generic_calibrate_decr, 57 .restart = mpc512x_restart, 58 }; 59