aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-nomadik/board-nhk8815.c
diff options
context:
space:
mode:
authorAlessandro Rubini <rubini@gnudd.com>2009-07-02 14:06:47 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-07-02 16:20:44 -0400
commit28ad94ec61dc60207dbffdb95ff870c617fbb832 (patch)
tree4ee4d2fc06f98d70c0f7f803179b94638bc0e850 /arch/arm/mach-nomadik/board-nhk8815.c
parent8c81b52422147b4b09f5adb8d0c6963342a336c6 (diff)
[ARM] 5590/1: Add basic support for ST Nomadik 8815 SoC and evaluation board
This patch adds the basic infrastructure for the Nomadik 8815 CPU and the "Nomadik Hardware Kit" NHK8815. This patch only includes the serial console and core stuff, no drivers. Signed-off-by: Alessandro Rubini <rubini@unipv.it> Acked-by: Andrea Gallo <andrea.gallo@stericsson.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-nomadik/board-nhk8815.c')
-rw-r--r--arch/arm/mach-nomadik/board-nhk8815.c75
1 files changed, 75 insertions, 0 deletions
diff --git a/arch/arm/mach-nomadik/board-nhk8815.c b/arch/arm/mach-nomadik/board-nhk8815.c
new file mode 100644
index 000000000000..eebca614d36b
--- /dev/null
+++ b/arch/arm/mach-nomadik/board-nhk8815.c
@@ -0,0 +1,75 @@
1/*
2 * linux/arch/arm/mach-nomadik/board-8815nhk.c
3 *
4 * Copyright (C) STMicroelectronics
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2, as
8 * published by the Free Software Foundation.
9 *
10 * NHK15 board specifc driver definition
11 */
12#include <linux/types.h>
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <linux/platform_device.h>
16#include <linux/amba/bus.h>
17#include <asm/mach-types.h>
18#include <asm/mach/arch.h>
19#include <asm/mach/irq.h>
20#include <mach/setup.h>
21#include "clock.h"
22
23#define __MEM_4K_RESOURCE(x) \
24 .res = {.start = (x), .end = (x) + SZ_4K - 1, .flags = IORESOURCE_MEM}
25
26static struct amba_device uart0_device = {
27 .dev = { .init_name = "uart0" },
28 __MEM_4K_RESOURCE(NOMADIK_UART0_BASE),
29 .irq = {IRQ_UART0, NO_IRQ},
30};
31
32static struct amba_device uart1_device = {
33 .dev = { .init_name = "uart1" },
34 __MEM_4K_RESOURCE(NOMADIK_UART1_BASE),
35 .irq = {IRQ_UART1, NO_IRQ},
36};
37
38static struct amba_device *amba_devs[] __initdata = {
39 &uart0_device,
40 &uart1_device,
41};
42
43/* We have a fixed clock alone, by now */
44static struct clk nhk8815_clk_48 = {
45 .rate = 48*1000*1000,
46};
47
48static struct platform_device *nhk8815_platform_devices[] __initdata = {
49 /* currently empty, will add keypad, touchscreen etc */
50};
51
52static void __init nhk8815_platform_init(void)
53{
54 int i;
55
56 cpu8815_platform_init();
57 platform_add_devices(nhk8815_platform_devices,
58 ARRAY_SIZE(nhk8815_platform_devices));
59
60 for (i = 0; i < ARRAY_SIZE(amba_devs); i++) {
61 nmdk_clk_create(&nhk8815_clk_48, amba_devs[i]->dev.init_name);
62 amba_device_register(amba_devs[i], &iomem_resource);
63 }
64}
65
66MACHINE_START(NOMADIK, "NHK8815")
67 /* Maintainer: ST MicroElectronics */
68 .phys_io = NOMADIK_UART0_BASE,
69 .io_pg_offst = (IO_ADDRESS(NOMADIK_UART0_BASE) >> 18) & 0xfffc,
70 .boot_params = 0x100,
71 .map_io = cpu8815_map_io,
72 .init_irq = cpu8815_init_irq,
73 .timer = &nomadik_timer,
74 .init_machine = nhk8815_platform_init,
75MACHINE_END