2010-04-01 15:30:58 +04:00
/*
* arch / arm / mach - spear3xx / spear300_evb . c
*
* SPEAr300 evaluation board source file
*
* Copyright ( C ) 2009 ST Microelectronics
* Viresh Kumar < viresh . kumar @ st . com >
*
* 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 <asm/mach/arch.h>
# include <asm/mach-types.h>
# include <mach/generic.h>
2011-03-07 07:57:02 +03:00
# include <mach/hardware.h>
2010-04-01 15:30:58 +04:00
2010-04-01 15:31:29 +04:00
/* padmux devices to enable */
static struct pmx_dev * pmx_devs [ ] = {
/* spear3xx specific devices */
2011-05-20 11:34:22 +04:00
& spear3xx_pmx_i2c ,
& spear3xx_pmx_ssp_cs ,
& spear3xx_pmx_ssp ,
& spear3xx_pmx_mii ,
& spear3xx_pmx_uart0 ,
2010-04-01 15:31:29 +04:00
/* spear300 specific devices */
2011-05-20 11:34:22 +04:00
& spear300_pmx_fsmc_2_chips ,
& spear300_pmx_clcd ,
& spear300_pmx_telecom_sdhci_4bit ,
& spear300_pmx_gpio1 ,
2010-04-01 15:31:29 +04:00
} ;
2010-04-01 15:30:58 +04:00
static struct amba_device * amba_devs [ ] __initdata = {
/* spear3xx specific devices */
2011-05-20 11:34:23 +04:00
& spear3xx_gpio_device ,
& spear3xx_uart_device ,
2010-04-01 15:30:58 +04:00
/* spear300 specific devices */
2011-05-20 11:34:23 +04:00
& spear300_gpio1_device ,
2010-04-01 15:30:58 +04:00
} ;
static struct platform_device * plat_devs [ ] __initdata = {
/* spear3xx specific devices */
/* spear300 specific devices */
} ;
static void __init spear300_evb_init ( void )
{
unsigned int i ;
2011-02-16 09:40:30 +03:00
/* call spear300 machine init function */
2011-05-20 11:34:22 +04:00
spear300_init ( & spear300_photo_frame_mode , pmx_devs ,
ARRAY_SIZE ( pmx_devs ) ) ;
2010-04-01 15:31:29 +04:00
2010-04-01 15:30:58 +04:00
/* Add Platform Devices */
platform_add_devices ( plat_devs , ARRAY_SIZE ( plat_devs ) ) ;
/* Add Amba Devices */
for ( i = 0 ; i < ARRAY_SIZE ( amba_devs ) ; i + + )
amba_device_register ( amba_devs [ i ] , & iomem_resource ) ;
}
MACHINE_START ( SPEAR300 , " ST-SPEAR300-EVB " )
. boot_params = 0x00000100 ,
. map_io = spear3xx_map_io ,
. init_irq = spear3xx_init_irq ,
2011-02-16 09:40:32 +03:00
. timer = & spear3xx_timer ,
2010-04-01 15:30:58 +04:00
. init_machine = spear300_evb_init ,
MACHINE_END