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/time.h> 17 18 #include "mpc512x.h" 19 20 /* 21 * list of supported boards 22 */ 23 static const char * const board[] __initconst = { 24 "prt,prtlvt", 25 "fsl,mpc5125ads", 26 "ifm,ac14xx", 27 NULL 28 }; 29 30 /* 31 * Called very early, MMU is off, device-tree isn't unflattened 32 */ 33 static int __init mpc512x_generic_probe(void) 34 { 35 if (!of_device_compatible_match(of_root, board)) 36 return 0; 37 38 mpc512x_init_early(); 39 40 return 1; 41 } 42 43 define_machine(mpc512x_generic) { 44 .name = "MPC512x generic", 45 .probe = mpc512x_generic_probe, 46 .init = mpc512x_init, 47 .setup_arch = mpc512x_setup_arch, 48 .init_IRQ = mpc512x_init_IRQ, 49 .get_irq = ipic_get_irq, 50 .calibrate_decr = generic_calibrate_decr, 51 .restart = mpc512x_restart, 52 }; 53