2011-10-10 20:29:24 +04:00
/*
2015-01-27 18:41:55 +03:00
* Setup code for AT91SAM9
2011-10-10 20:29:24 +04:00
*
* Copyright ( C ) 2011 Atmel ,
* 2011 Nicolas Ferre < nicolas . ferre @ atmel . com >
*
* Licensed under GPLv2 or later .
*/
# include <linux/types.h>
# include <linux/init.h>
# include <linux/module.h>
# include <linux/gpio.h>
2012-02-14 21:08:14 +04:00
# include <linux/of.h>
# include <linux/of_irq.h>
2015-01-15 17:59:27 +03:00
# include <linux/of_platform.h>
2014-03-12 13:43:41 +04:00
# include <linux/clk-provider.h>
2011-10-10 20:29:24 +04:00
2015-01-16 00:58:08 +03:00
# include <asm/system_misc.h>
2011-10-10 20:29:24 +04:00
# include <asm/setup.h>
# include <asm/irq.h>
# include <asm/mach/arch.h>
# include <asm/mach/map.h>
# include <asm/mach/irq.h>
# include "generic.h"
2015-01-27 20:41:33 +03:00
static void __init at91sam9_dt_device_init ( void )
2015-01-15 17:59:27 +03:00
{
2015-01-23 13:47:37 +03:00
of_platform_populate ( NULL , of_default_bus_match_table , NULL , NULL ) ;
2015-01-16 00:58:08 +03:00
arm_pm_idle = at91sam9_idle ;
2015-01-27 20:41:33 +03:00
at91sam9260_pm_init ( ) ;
2015-01-15 17:59:27 +03:00
}
2015-01-22 19:19:04 +03:00
static const char * at91_dt_board_compat [ ] __initconst = {
2012-03-01 10:47:44 +04:00
" atmel,at91sam9 " ,
2011-10-10 20:29:24 +04:00
NULL
} ;
2015-01-27 20:41:33 +03:00
DT_MACHINE_START ( at91sam_dt , " Atmel AT91SAM9 " )
2011-10-10 20:29:24 +04:00
/* Maintainer: Atmel */
. map_io = at91_map_io ,
2015-01-27 20:41:33 +03:00
. init_machine = at91sam9_dt_device_init ,
2011-10-10 20:29:24 +04:00
. dt_compat = at91_dt_board_compat ,
MACHINE_END
2015-01-15 17:59:27 +03:00
2015-01-27 20:41:33 +03:00
static void __init at91sam9g45_dt_device_init ( void )
2015-01-15 17:59:27 +03:00
{
2015-01-23 13:47:37 +03:00
of_platform_populate ( NULL , of_default_bus_match_table , NULL , NULL ) ;
2015-01-16 00:58:08 +03:00
arm_pm_idle = at91sam9_idle ;
2015-01-27 20:41:33 +03:00
at91sam9g45_pm_init ( ) ;
2015-01-15 17:59:27 +03:00
}
2015-01-27 20:41:33 +03:00
static const char * at91sam9g45_board_compat [ ] __initconst = {
2015-01-15 17:59:27 +03:00
" atmel,at91sam9g45 " ,
NULL
} ;
DT_MACHINE_START ( at91sam9g45_dt , " Atmel AT91SAM9G45 " )
/* Maintainer: Atmel */
. map_io = at91_map_io ,
2015-01-27 20:41:33 +03:00
. init_machine = at91sam9g45_dt_device_init ,
. dt_compat = at91sam9g45_board_compat ,
2015-01-15 17:59:27 +03:00
MACHINE_END
2015-01-22 18:54:50 +03:00
2015-01-27 20:41:33 +03:00
static void __init at91sam9x5_dt_device_init ( void )
2015-01-22 18:54:50 +03:00
{
2015-01-23 13:47:37 +03:00
of_platform_populate ( NULL , of_default_bus_match_table , NULL , NULL ) ;
2015-01-16 00:58:08 +03:00
arm_pm_idle = at91sam9_idle ;
2015-01-27 20:41:33 +03:00
at91sam9x5_pm_init ( ) ;
2015-01-22 18:54:50 +03:00
}
2015-01-27 20:41:33 +03:00
static const char * at91sam9x5_board_compat [ ] __initconst = {
2015-01-22 18:54:50 +03:00
" atmel,at91sam9x5 " ,
" atmel,at91sam9n12 " ,
NULL
} ;
DT_MACHINE_START ( at91sam9x5_dt , " Atmel AT91SAM9 " )
/* Maintainer: Atmel */
. map_io = at91_map_io ,
2015-01-27 20:41:33 +03:00
. init_machine = at91sam9x5_dt_device_init ,
. dt_compat = at91sam9x5_board_compat ,
2015-01-22 18:54:50 +03:00
MACHINE_END