2008-07-09 14:54:03 -06:00
/*
* Copyright ( C ) 2007 , 2008 Freescale Semiconductor , Inc . All rights reserved .
*
* Author : John Rigby , < jrigby @ freescale . com >
*
* Description :
2013-03-20 07:41:52 +00:00
* MPC512x SoC setup
2008-07-09 14:54:03 -06:00
*
* This is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
*/
# include <linux/kernel.h>
# include <linux/of_platform.h>
# include <asm/machdep.h>
# include <asm/ipic.h>
# include <asm/prom.h>
# include <asm/time.h>
# include "mpc512x.h"
/*
* list of supported boards
*/
2012-10-04 17:11:37 -07:00
static const char * const board [ ] __initconst = {
2008-07-09 14:54:03 -06:00
" prt,prtlvt " ,
2013-04-04 03:57:30 +00:00
" fsl,mpc5125ads " ,
2013-04-10 20:46:27 +02:00
" ifm,ac14xx " ,
2008-07-09 14:54:03 -06:00
NULL
} ;
/*
* Called very early , MMU is off , device - tree isn ' t unflattened
*/
2013-03-20 07:41:52 +00:00
static int __init mpc512x_generic_probe ( void )
2008-07-09 14:54:03 -06:00
{
2016-07-05 15:04:06 +10:00
if ( ! of_device_compatible_match ( of_root , board ) )
return 0 ;
mpc512x_init_early ( ) ;
return 1 ;
2008-07-09 14:54:03 -06:00
}
2013-03-20 07:41:52 +00:00
define_machine ( mpc512x_generic ) {
. name = " MPC512x generic " ,
. probe = mpc512x_generic_probe ,
2010-02-16 10:35:13 -07:00
. init = mpc512x_init ,
2013-05-14 04:40:53 +00:00
. setup_arch = mpc512x_setup_arch ,
2008-07-09 14:54:03 -06:00
. init_IRQ = mpc512x_init_IRQ ,
. get_irq = ipic_get_irq ,
. calibrate_decr = generic_calibrate_decr ,
2010-02-16 10:36:26 -07:00
. restart = mpc512x_restart ,
2008-07-09 14:54:03 -06:00
} ;