2007-02-07 22:19:12 -06:00
/*
2008-01-24 20:45:51 -06:00
* arch / powerpc / platforms / 83 xx / mpc831x_rdb . c
2007-02-07 22:19:12 -06:00
*
2008-01-24 20:45:51 -06:00
* Description : MPC831x RDB board specific routines .
2007-02-07 22:19:12 -06:00
* This file is based on mpc834x_sys . c
* Author : Lo Wlison < r43300 @ freescale . com >
*
* Copyright ( C ) Freescale Semiconductor , Inc . 2006. All rights reserved .
*
* This program 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/pci.h>
2008-01-17 16:37:51 -06:00
# include <linux/of_platform.h>
2007-02-07 22:19:12 -06:00
# include <asm/time.h>
# include <asm/ipic.h>
# include <asm/udbg.h>
2008-06-26 11:07:57 -06:00
# include <sysdev/fsl_pci.h>
2007-02-07 22:19:12 -06:00
# include "mpc83xx.h"
2008-01-24 20:45:51 -06:00
/*
2007-02-07 22:19:12 -06:00
* Setup the architecture
*/
2008-01-24 20:45:51 -06:00
static void __init mpc831x_rdb_setup_arch ( void )
2007-02-07 22:19:12 -06:00
{
if ( ppc_md . progress )
2008-01-24 20:45:51 -06:00
ppc_md . progress ( " mpc831x_rdb_setup_arch() " , 0 ) ;
2007-02-07 22:19:12 -06:00
2011-11-17 18:48:48 +04:00
mpc83xx_setup_pci ( ) ;
2007-07-03 17:43:16 +08:00
mpc831x_usb_cfg ( ) ;
2007-02-07 22:19:12 -06:00
}
2011-01-19 08:59:33 -07:00
static const char * board [ ] __initdata = {
2010-10-30 11:49:09 -04:00
" MPC8313ERDB " ,
" fsl,mpc8315erdb " ,
NULL
2011-01-19 08:59:33 -07:00
} ;
2010-10-30 11:49:09 -04:00
2007-02-07 22:19:12 -06:00
/*
* Called very early , MMU is off , device - tree isn ' t unflattened
*/
2008-01-24 20:45:51 -06:00
static int __init mpc831x_rdb_probe ( void )
2007-02-07 22:19:12 -06:00
{
2010-10-30 11:49:09 -04:00
return of_flat_dt_match ( of_get_flat_dt_root ( ) , board ) ;
2007-02-07 22:19:12 -06:00
}
2011-11-17 18:48:47 +04:00
machine_device_initcall ( mpc831x_rdb , mpc83xx_declare_of_platform_devices ) ;
2008-01-17 16:37:51 -06:00
2008-01-24 20:45:51 -06:00
define_machine ( mpc831x_rdb ) {
. name = " MPC831x RDB " ,
. probe = mpc831x_rdb_probe ,
. setup_arch = mpc831x_rdb_setup_arch ,
2011-07-22 23:55:42 +04:00
. init_IRQ = mpc83xx_ipic_init_IRQ ,
2007-02-07 22:19:12 -06:00
. get_irq = ipic_get_irq ,
. restart = mpc83xx_restart ,
. time_init = mpc83xx_time_init ,
. calibrate_decr = generic_calibrate_decr ,
. progress = udbg_progress ,
} ;