1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * Copyright (C) 2007,2008 Freescale Semiconductor, Inc. All rights reserved. 4 * 5 * Author: John Rigby, <jrigby@freescale.com> 6 * 7 * Description: 8 * MPC512x SoC setup 9 */ 10 11 #include <linux/kernel.h> 12 #include <linux/of_platform.h> 13 14 #include <asm/machdep.h> 15 #include <asm/ipic.h> 16 #include <asm/prom.h> 17 #include <asm/time.h> 18 19 #include "mpc512x.h" 20 21 /* 22 * list of supported boards 23 */ 24 static const char * const board[] __initconst = { 25 "prt,prtlvt", 26 "fsl,mpc5125ads", 27 "ifm,ac14xx", 28 NULL 29 }; 30 31 /* 32 * Called very early, MMU is off, device-tree isn't unflattened 33 */ 34 static int __init mpc512x_generic_probe(void) 35 { 36 if (!of_device_compatible_match(of_root, board)) 37 return 0; 38 39 mpc512x_init_early(); 40 41 return 1; 42 } 43 44 define_machine(mpc512x_generic) { 45 .name = "MPC512x generic", 46 .probe = mpc512x_generic_probe, 47 .init = mpc512x_init, 48 .setup_arch = mpc512x_setup_arch, 49 .init_IRQ = mpc512x_init_IRQ, 50 .get_irq = ipic_get_irq, 51 .calibrate_decr = generic_calibrate_decr, 52 .restart = mpc512x_restart, 53 }; 54