2011-07-08 13:40:12 +04:00
/*
2011-09-23 09:51:30 +04:00
* Defines machines for CSR SiRFprimaII
2011-07-08 13:40:12 +04:00
*
* Copyright ( c ) 2011 Cambridge Silicon Radio Limited , a CSR plc group company .
*
* Licensed under GPLv2 or later .
*/
# include <linux/init.h>
# include <linux/kernel.h>
2011-11-17 18:18:14 +04:00
# include <asm/sizes.h>
2011-07-08 13:40:12 +04:00
# include <asm/mach-types.h>
# include <asm/mach/arch.h>
# include <linux/of.h>
# include <linux/of_platform.h>
# include "common.h"
static struct of_device_id sirfsoc_of_bus_ids [ ] __initdata = {
{ . compatible = " simple-bus " , } ,
{ } ,
} ;
void __init sirfsoc_mach_init ( void )
{
of_platform_bus_probe ( NULL , sirfsoc_of_bus_ids , NULL ) ;
}
2012-04-26 16:51:36 +04:00
void __init sirfsoc_init_late ( void )
{
sirfsoc_pm_init ( ) ;
}
2012-08-23 09:41:57 +04:00
# ifdef CONFIG_ARCH_PRIMA2
static const char * prima2_dt_match [ ] __initdata = {
" sirf,prima2 " ,
2011-07-08 13:40:12 +04:00
NULL
} ;
2012-08-23 09:41:57 +04:00
DT_MACHINE_START ( PRIMA2_DT , " Generic PRIMA2 (Flattened Device Tree) " )
2011-07-08 13:40:12 +04:00
/* Maintainer: Barry Song <baohua.song@csr.com> */
2011-07-08 13:40:13 +04:00
. map_io = sirfsoc_map_lluart ,
2011-07-08 13:40:12 +04:00
. init_irq = sirfsoc_of_irq_init ,
2012-12-20 13:33:49 +04:00
. init_time = sirfsoc_prima2_timer_init ,
2012-12-20 15:11:18 +04:00
# ifdef CONFIG_MULTI_IRQ_HANDLER
. handle_irq = sirfsoc_handle_irq ,
# endif
2011-09-03 05:05:10 +04:00
. dma_zone_size = SZ_256M ,
2011-07-08 13:40:12 +04:00
. init_machine = sirfsoc_mach_init ,
2012-04-26 16:51:36 +04:00
. init_late = sirfsoc_init_late ,
2012-08-23 09:41:57 +04:00
. dt_compat = prima2_dt_match ,
2011-11-05 14:23:27 +04:00
. restart = sirfsoc_restart ,
2011-07-08 13:40:12 +04:00
MACHINE_END
2012-08-23 09:41:57 +04:00
# endif