aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorDaniel Mack <daniel@caiaq.de>2009-05-20 13:54:33 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2009-05-26 06:30:32 -0400
commit65b1aa13f2a14e113d1139ecf7cb2507a3cfa8b8 (patch)
treebc3dcf794b45e86f54cc3e4fca48baee544b15cb /arch/arm
parent0003b795c310da83501fcf0329f6be7a0984647d (diff)
ARM: MX3: basic support for lilly-1131 board
This patch adds basic support for INCO startec's LILLY-1131 iMX31 based modules. The module needs a baseboard support to work which will be added in the next patch. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-mx3/Kconfig7
-rw-r--r--arch/arm/mach-mx3/Makefile1
-rw-r--r--arch/arm/mach-mx3/mx31lilly.c81
-rw-r--r--arch/arm/plat-mxc/include/mach/board-mx31lilly.h43
4 files changed, 132 insertions, 0 deletions
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig
index ebab18a661ef..6f17ceb00593 100644
--- a/arch/arm/mach-mx3/Kconfig
+++ b/arch/arm/mach-mx3/Kconfig
@@ -60,6 +60,13 @@ config MACH_MX31MOBOARD
60 Include support for mx31moboard platform. This includes specific 60 Include support for mx31moboard platform. This includes specific
61 configurations for the board and its peripherals. 61 configurations for the board and its peripherals.
62 62
63config MACH_MX31LILLY
64 bool "Support MX31 LILLY-1131 platforms (INCO startec)"
65 select ARCH_MX31
66 help
67 Include support for mx31 based LILLY1131 modules. This includes
68 specific configurations for the board and its peripherals.
69
63config MACH_QONG 70config MACH_QONG
64 bool "Support Dave/DENX QongEVB-LITE platform" 71 bool "Support Dave/DENX QongEVB-LITE platform"
65 select ARCH_MX31 72 select ARCH_MX31
diff --git a/arch/arm/mach-mx3/Makefile b/arch/arm/mach-mx3/Makefile
index 611812bfe1d3..d3e3f3b06620 100644
--- a/arch/arm/mach-mx3/Makefile
+++ b/arch/arm/mach-mx3/Makefile
@@ -8,6 +8,7 @@ obj-y := mm.o devices.o
8obj-$(CONFIG_ARCH_MX31) += clock.o iomux.o 8obj-$(CONFIG_ARCH_MX31) += clock.o iomux.o
9obj-$(CONFIG_ARCH_MX35) += clock-imx35.o 9obj-$(CONFIG_ARCH_MX35) += clock-imx35.o
10obj-$(CONFIG_MACH_MX31ADS) += mx31ads.o 10obj-$(CONFIG_MACH_MX31ADS) += mx31ads.o
11obj-$(CONFIG_MACH_MX31LILLY) += mx31lilly.o
11obj-$(CONFIG_MACH_MX31LITE) += mx31lite.o 12obj-$(CONFIG_MACH_MX31LITE) += mx31lite.o
12obj-$(CONFIG_MACH_PCM037) += pcm037.o 13obj-$(CONFIG_MACH_PCM037) += pcm037.o
13obj-$(CONFIG_MACH_MX31_3DS) += mx31pdk.o 14obj-$(CONFIG_MACH_MX31_3DS) += mx31pdk.o
diff --git a/arch/arm/mach-mx3/mx31lilly.c b/arch/arm/mach-mx3/mx31lilly.c
new file mode 100644
index 000000000000..3f6477849067
--- /dev/null
+++ b/arch/arm/mach-mx3/mx31lilly.c
@@ -0,0 +1,81 @@
1/*
2 * LILLY-1131 module support
3 *
4 * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de>
5 *
6 * based on code for other MX31 boards,
7 *
8 * Copyright 2005-2007 Freescale Semiconductor
9 * Copyright (c) 2009 Alberto Panizzo <maramaopercheseimorto@gmail.com>
10 * Copyright (C) 2009 Valentin Longchamp, EPFL Mobots group
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 */
26
27#include <linux/types.h>
28#include <linux/init.h>
29#include <linux/clk.h>
30
31#include <asm/mach-types.h>
32#include <asm/mach/arch.h>
33#include <asm/mach/time.h>
34#include <asm/mach/map.h>
35
36#include <mach/hardware.h>
37#include <mach/common.h>
38#include <mach/iomux-mx3.h>
39#include <mach/board-mx31lilly.h>
40
41#include "devices.h"
42
43/*
44 * This file contains module-specific initialization routines for LILLY-1131.
45 * Initialization of peripherals found on the baseboard is implemented in the
46 * appropriate baseboard support code.
47 */
48
49static int mx31lilly_baseboard;
50core_param(mx31lilly_baseboard, mx31lilly_baseboard, int, 0444);
51
52static void __init mx31lilly_board_init(void)
53{
54 switch (mx31lilly_baseboard) {
55 case MX31LILLY_NOBOARD:
56 break;
57 default:
58 printk(KERN_ERR "Illegal mx31lilly_baseboard type %d\n",
59 mx31lilly_baseboard);
60 }
61}
62
63static void __init mx31lilly_timer_init(void)
64{
65 mx31_clocks_init(26000000);
66}
67
68static struct sys_timer mx31lilly_timer = {
69 .init = mx31lilly_timer_init,
70};
71
72MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
73 .phys_io = AIPS1_BASE_ADDR,
74 .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
75 .boot_params = PHYS_OFFSET + 0x100,
76 .map_io = mx31_map_io,
77 .init_irq = mxc_init_irq,
78 .init_machine = mx31lilly_board_init,
79 .timer = &mx31lilly_timer,
80MACHINE_END
81
diff --git a/arch/arm/plat-mxc/include/mach/board-mx31lilly.h b/arch/arm/plat-mxc/include/mach/board-mx31lilly.h
new file mode 100644
index 000000000000..823fb88fe0f2
--- /dev/null
+++ b/arch/arm/plat-mxc/include/mach/board-mx31lilly.h
@@ -0,0 +1,43 @@
1/*
2 * Copyright (C) 2009 Daniel Mack <daniel@caiaq.de>
3 *
4 * Based on code for mobots boards,
5 * Copyright (C) 2009 Valentin Longchamp, EPFL Mobots group
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19 * MA 02110-1301, USA.
20 */
21
22#ifndef __ASM_ARCH_MXC_BOARD_MX31LILLY_H__
23#define __ASM_ARCH_MXC_BOARD_MX31LILLY_H__
24
25/* mandatory for CONFIG_LL_DEBUG */
26
27#define MXC_LL_UART_PADDR UART1_BASE_ADDR
28#define MXC_LL_UART_VADDR (AIPI_BASE_ADDR_VIRT + 0x0A000)
29
30#ifndef __ASSEMBLY__
31
32enum mx31lilly_boards {
33 MX31LILLY_NOBOARD = 0,
34};
35
36/*
37 * This CPU module needs a baseboard to work. After basic initializing
38 * its own devices, it calls baseboard's init function.
39 */
40
41#endif
42
43#endif /* __ASM_ARCH_MXC_BOARD_MX31LILLY_H__ */