aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-orion/common.c
diff options
context:
space:
mode:
authorTzachi Perelstein <tzachi@marvell.com>2007-10-23 15:14:41 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-01-26 10:03:42 -0500
commit585cf17561d3174a745bec49c422c1a621c95fc4 (patch)
tree66f0ff02c844a4bf22dcbca66b2babf387b4f628 /arch/arm/mach-orion/common.c
parentd910a0aa21c9c6e824744d0139bbe6a9ae676e2d (diff)
[ARM] basic support for the Marvell Orion SoC family
The Marvell Orion is a family of ARM SoCs with a DDR/DDR2 memory controller, 10/100/1000 ethernet MAC, and USB 2.0 interfaces, and, depending on the specific model, PCI-E interface, PCI-X interface, SATA controllers, crypto unit, SPI interface, SDIO interface, device bus, NAND controller, DMA engine and/or XOR engine. This contains the basic structure and architecture register definitions. Signed-off-by: Tzachi Perelstein <tzachi@marvell.com> Reviewed-by: Nicolas Pitre <nico@marvell.com> Reviewed-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-orion/common.c')
-rw-r--r--arch/arm/mach-orion/common.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/arch/arm/mach-orion/common.c b/arch/arm/mach-orion/common.c
new file mode 100644
index 000000000000..e04f3f07cac0
--- /dev/null
+++ b/arch/arm/mach-orion/common.c
@@ -0,0 +1,53 @@
1/*
2 * arch/arm/mach-orion/common.c
3 *
4 * Core functions for Marvell Orion System On Chip
5 *
6 * Maintainer: Tzachi Perelstein <tzachi@marvell.com>
7 *
8 * This file is licensed under the terms of the GNU General Public
9 * License version 2. This program is licensed "as is" without any
10 * warranty of any kind, whether express or implied.
11 */
12
13#include <linux/kernel.h>
14#include <linux/init.h>
15#include <asm/page.h>
16#include <asm/mach/map.h>
17#include <asm/arch/orion.h>
18#include "common.h"
19
20/*****************************************************************************
21 * I/O Address Mapping
22 ****************************************************************************/
23static struct map_desc orion_io_desc[] __initdata = {
24 {
25 .virtual = ORION_REGS_BASE,
26 .pfn = __phys_to_pfn(ORION_REGS_BASE),
27 .length = ORION_REGS_SIZE,
28 .type = MT_DEVICE
29 },
30 {
31 .virtual = ORION_PCIE_IO_BASE,
32 .pfn = __phys_to_pfn(ORION_PCIE_IO_BASE),
33 .length = ORION_PCIE_IO_SIZE,
34 .type = MT_DEVICE
35 },
36 {
37 .virtual = ORION_PCI_IO_BASE,
38 .pfn = __phys_to_pfn(ORION_PCI_IO_BASE),
39 .length = ORION_PCI_IO_SIZE,
40 .type = MT_DEVICE
41 },
42 {
43 .virtual = ORION_PCIE_WA_BASE,
44 .pfn = __phys_to_pfn(ORION_PCIE_WA_BASE),
45 .length = ORION_PCIE_WA_SIZE,
46 .type = MT_DEVICE
47 },
48};
49
50void __init orion_map_io(void)
51{
52 iotable_init(orion_io_desc, ARRAY_SIZE(orion_io_desc));
53}