1bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar/* 2bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * arch/arm/mach-spear3xx/spear310_evb.c 3bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * 4bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * SPEAr310 evaluation board source file 5bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * 6bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * Copyright (C) 2009 ST Microelectronics 7bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * Viresh Kumar<viresh.kumar@st.com> 8bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * 9bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * This file is licensed under the terms of the GNU General Public 10bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * License version 2. This program is licensed "as is" without any 11bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar * warranty of any kind, whether express or implied. 12bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar */ 13bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 1466266f4ab8a049680cacf72ce792d967c12cd99aJamie Iles#include <asm/hardware/vic.h> 15bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar#include <asm/mach/arch.h> 16bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar#include <asm/mach-types.h> 17bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar#include <mach/generic.h> 1802aa06bc49fdb1749f350649c46b74da50290414viresh kumar#include <mach/hardware.h> 19bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 2070f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar/* padmux devices to enable */ 2170f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumarstatic struct pmx_dev *pmx_devs[] = { 2270f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar /* spear3xx specific devices */ 236618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_i2c, 246618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_ssp, 256618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_gpio_pin0, 266618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_gpio_pin1, 276618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_gpio_pin2, 286618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_gpio_pin3, 296618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_gpio_pin4, 306618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_gpio_pin5, 316618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear3xx_pmx_uart0, 3270f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar 3370f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar /* spear310 specific devices */ 346618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_emi_cs_0_1_4_5, 356618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_emi_cs_2_3, 366618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_uart1, 376618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_uart2, 386618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_uart3_4_5, 396618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_fsmc, 406618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_rs485_0_1, 416618c3ada039116ca0392ce955df081adc5f015cRyan Mallon &spear310_pmx_tdm0, 4270f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar}; 4370f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar 44bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumarstatic struct amba_device *amba_devs[] __initdata = { 45bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar /* spear3xx specific devices */ 461d23d2fcfa3f2e7ee90bd2779a842ee737d15365viresh kumar &spear3xx_gpio_device, 471d23d2fcfa3f2e7ee90bd2779a842ee737d15365viresh kumar &spear3xx_uart_device, 48bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 49bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar /* spear310 specific devices */ 50bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar}; 51bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 52bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumarstatic struct platform_device *plat_devs[] __initdata = { 53bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar /* spear3xx specific devices */ 54bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 55bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar /* spear310 specific devices */ 56bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar}; 57bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 58bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumarstatic void __init spear310_evb_init(void) 59bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar{ 60bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar unsigned int i; 61bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 6253688c51e412b7fd642e5c8eb8ba8ee19744c4eaviresh kumar /* call spear310 machine init function */ 636618c3ada039116ca0392ce955df081adc5f015cRyan Mallon spear310_init(NULL, pmx_devs, ARRAY_SIZE(pmx_devs)); 6470f4c0bf9e4d067744ee453bc37c0c4adcea6e53viresh kumar 65bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar /* Add Platform Devices */ 66bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs)); 67bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 68bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar /* Add Amba Devices */ 69bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar for (i = 0; i < ARRAY_SIZE(amba_devs); i++) 70bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar amba_device_register(amba_devs[i], &iomem_resource); 71bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar} 72bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar 73bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumarMACHINE_START(SPEAR310, "ST-SPEAR310-EVB") 74dfd48fbbb4f4cca955d35004f433e321833a73bbNicolas Pitre .atag_offset = 0x100, 75bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar .map_io = spear3xx_map_io, 76bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar .init_irq = spear3xx_init_irq, 7766266f4ab8a049680cacf72ce792d967c12cd99aJamie Iles .handle_irq = vic_handle_irq, 785c881d9ae9480171f01921585e1893863d7ab421Shiraz Hashim .timer = &spear3xx_timer, 79bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumar .init_machine = spear310_evb_init, 80dd1661e27a7879d3af0024ba94e171522492dd2fRussell King .restart = spear_restart, 81bc4e814e5d5e2851f0a0679eaad14f60abae2a6dviresh kumarMACHINE_END 82