• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/arm/mach-spear3xx/
1/*
2 * arch/arm/mach-spear3xx/spear320_evb.c
3 *
4 * SPEAr320 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,
24	&pmx_mii,
25	&pmx_uart0,
26
27	/* spear320 specific devices */
28	&pmx_fsmc,
29	&pmx_sdio,
30	&pmx_i2s,
31	&pmx_uart1,
32	&pmx_uart2,
33	&pmx_can,
34	&pmx_pwm0,
35	&pmx_pwm1,
36	&pmx_pwm2,
37	&pmx_mii1,
38};
39
40static struct amba_device *amba_devs[] __initdata = {
41	/* spear3xx specific devices */
42	&gpio_device,
43	&uart_device,
44
45	/* spear320 specific devices */
46};
47
48static struct platform_device *plat_devs[] __initdata = {
49	/* spear3xx specific devices */
50
51	/* spear320 specific devices */
52};
53
54static void __init spear320_evb_init(void)
55{
56	unsigned int i;
57
58	/* call spear320 machine init function */
59	spear320_init();
60
61	/* padmux initialization */
62	pmx_driver.mode = &auto_net_mii_mode;
63	pmx_driver.devs = pmx_devs;
64	pmx_driver.devs_count = ARRAY_SIZE(pmx_devs);
65	spear320_pmx_init();
66
67	/* Add Platform Devices */
68	platform_add_devices(plat_devs, ARRAY_SIZE(plat_devs));
69
70	/* Add Amba Devices */
71	for (i = 0; i < ARRAY_SIZE(amba_devs); i++)
72		amba_device_register(amba_devs[i], &iomem_resource);
73}
74
75MACHINE_START(SPEAR320, "ST-SPEAR320-EVB")
76	.boot_params	=	0x00000100,
77	.map_io		=	spear3xx_map_io,
78	.init_irq	=	spear3xx_init_irq,
79	.timer		=	&spear_sys_timer,
80	.init_machine	=	spear320_evb_init,
81MACHINE_END
82