2007-09-07 16:51:24 +04:00
/*
* Architecture - / platform - specific boot - time initialization code for
* IBM PowerPC 4 xx based boards . Adapted from original
* code by Gary Thomas , Cort Dougan < cort @ fsmlabs . com > , and Dan Malek
* < dan @ net4x . com > .
*
* Copyright ( c ) 1999 - 2000 Grant Erickson < grant @ lcse . umn . edu >
*
* Rewritten and ported to the merged powerpc tree :
* Copyright 2007 IBM Corporation
* Josh Boyer < jwboyer @ linux . vnet . ibm . com >
*
* 2002 ( c ) MontaVista , Software , Inc . This file is licensed under
* the terms of the GNU General Public License version 2. This program
* is licensed " as is " without any warranty of any kind , whether express
* or implied .
*/
# include <linux/init.h>
2007-11-06 21:13:04 +03:00
# include <linux/of_platform.h>
2008-02-06 16:04:58 +03:00
# include <linux/rtc.h>
2007-11-06 21:13:04 +03:00
2007-09-07 16:51:24 +04:00
# include <asm/machdep.h>
# include <asm/prom.h>
# include <asm/udbg.h>
# include <asm/time.h>
# include <asm/uic.h>
2007-12-21 07:39:37 +03:00
# include <asm/pci-bridge.h>
2008-03-27 17:43:31 +03:00
# include <asm/ppc4xx.h>
2007-09-07 16:51:24 +04:00
2007-12-24 17:40:31 +03:00
static __initdata struct of_device_id walnut_of_bus [ ] = {
2007-09-07 16:51:24 +04:00
{ . compatible = " ibm,plb3 " , } ,
{ . compatible = " ibm,opb " , } ,
{ . compatible = " ibm,ebc " , } ,
{ } ,
} ;
static int __init walnut_device_probe ( void )
{
of_platform_bus_probe ( NULL , walnut_of_bus , NULL ) ;
2008-01-11 06:25:34 +03:00
of_instantiate_rtc ( ) ;
2007-09-07 16:51:24 +04:00
return 0 ;
}
2007-12-24 19:42:02 +03:00
machine_device_initcall ( walnut , walnut_device_probe ) ;
2007-09-07 16:51:24 +04:00
static int __init walnut_probe ( void )
{
unsigned long root = of_get_flat_dt_root ( ) ;
if ( ! of_flat_dt_is_compatible ( root , " ibm,walnut " ) )
return 0 ;
2011-07-12 18:25:51 +04:00
pci_set_flags ( PCI_REASSIGN_ALL_RSRC ) ;
2007-12-21 07:39:37 +03:00
2007-09-07 16:51:24 +04:00
return 1 ;
}
define_machine ( walnut ) {
. name = " Walnut " ,
. probe = walnut_probe ,
. progress = udbg_progress ,
. init_IRQ = uic_init_tree ,
. get_irq = uic_get_irq ,
2008-03-27 17:43:31 +03:00
. restart = ppc4xx_reset_system ,
. calibrate_decr = generic_calibrate_decr ,
2007-09-07 16:51:24 +04:00
} ;