aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3
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/mach-mx3
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/mach-mx3')
-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
3 files changed, 89 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