1/* 2 * arch/arm/mach-spear3xx/spear300_evb.c 3 * 4 * SPEAr300 evaluation board source file 5 * 6 * Copyright (C) 2009 ST Microelectronics 7 * Viresh Kumar<viresh.kumar@st.com> 8 * 9 * This file is licensed under the terms of the GNU General Public 10 * License version 2. This program is licensed "as is" without any 11 * warranty of any kind, whether express or implied. 12 */ 13 14#include <asm/mach/arch.h> 15#include <asm/mach-types.h> 16#include <mach/generic.h> 17#include <mach/spear.h> 18 19/* padmux devices to enable */ 20static struct pmx_dev *pmx_devs[] = { 21 /* spear3xx specific devices */ 22 &pmx_i2c, 23 &pmx_ssp_cs, 24 &pmx_ssp, 25 &pmx_mii, 26 &pmx_uart0, 27 28 /* spear300 specific devices */ 29 &pmx_fsmc_2_chips, 30 &pmx_clcd, 31 &pmx_telecom_sdio_4bit, 32 &pmx_gpio1, 33}; 34 35static struct amba_device *amba_devs[] __initdata = { 36 /* spear3xx specific devices */ 37 &gpio_device, 38 &uart_device, 39 40 /* spear300 specific devices */ 41 &gpio1_device, 42}; 43 44static struct platform_device *plat_devs[] __initdata = { 45 /* spear3xx specific devices */ 46 47 /* spear300 specific devices */ 48}; 49 50static void __init spear300_evb_init(void) 51{ 52 unsigned int i; 53 54 /* call spear300 machine init function */ 55 spear300_init(); 56 57 /* padmux initialization */ 58 pmx_driver.mode = &photo_frame_mode; 59 pmx_driver.devs = pmx_devs; 60 pmx_driver.devs_count = ARRAY_SIZE(pmx_devs); 61 spear300_pmx_init(); 62 63 /* Add Platform Devices */ 64 platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs)); 65 66 /* Add Amba Devices */ 67 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) 68 amba_device_register(amba_devs[i], &iomem_resource); 69} 70 71MACHINE_START(SPEAR300, "ST-SPEAR300-EVB") 72 .boot_params = 0x00000100, 73 .map_io = spear3xx_map_io, 74 .init_irq = spear3xx_init_irq, 75 .timer = &spear_sys_timer, 76 .init_machine = spear300_evb_init, 77MACHINE_END 78