diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-22 10:38:37 -0500 |
commit | fcc9d2e5a6c89d22b8b773a64fb4ad21ac318446 (patch) | |
tree | a57612d1888735a2ec7972891b68c1ac5ec8faea /arch/arm/mach-orion5x/include | |
parent | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (diff) |
Diffstat (limited to 'arch/arm/mach-orion5x/include')
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/gpio.h | 9 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/io.h | 58 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/memory.h | 12 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/system.h | 33 | ||||
-rw-r--r-- | arch/arm/mach-orion5x/include/mach/vmalloc.h | 5 |
5 files changed, 117 insertions, 0 deletions
diff --git a/arch/arm/mach-orion5x/include/mach/gpio.h b/arch/arm/mach-orion5x/include/mach/gpio.h new file mode 100644 index 00000000000..a1d0b78decb --- /dev/null +++ b/arch/arm/mach-orion5x/include/mach/gpio.h | |||
@@ -0,0 +1,9 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/gpio.h | ||
3 | * | ||
4 | * This file is licensed under the terms of the GNU General Public | ||
5 | * License version 2. This program is licensed "as is" without any | ||
6 | * warranty of any kind, whether express or implied. | ||
7 | */ | ||
8 | |||
9 | #include <plat/gpio.h> | ||
diff --git a/arch/arm/mach-orion5x/include/mach/io.h b/arch/arm/mach-orion5x/include/mach/io.h new file mode 100644 index 00000000000..c5196101a23 --- /dev/null +++ b/arch/arm/mach-orion5x/include/mach/io.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/io.h | ||
3 | * | ||
4 | * Tzachi Perelstein <tzachi@marvell.com> | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_IO_H | ||
12 | #define __ASM_ARCH_IO_H | ||
13 | |||
14 | #include "orion5x.h" | ||
15 | |||
16 | #define IO_SPACE_LIMIT 0xffffffff | ||
17 | |||
18 | static inline void __iomem * | ||
19 | __arch_ioremap(unsigned long paddr, size_t size, unsigned int mtype) | ||
20 | { | ||
21 | void __iomem *retval; | ||
22 | unsigned long offs = paddr - ORION5X_REGS_PHYS_BASE; | ||
23 | if (mtype == MT_DEVICE && size && offs < ORION5X_REGS_SIZE && | ||
24 | size <= ORION5X_REGS_SIZE && offs + size <= ORION5X_REGS_SIZE) { | ||
25 | retval = (void __iomem *)ORION5X_REGS_VIRT_BASE + offs; | ||
26 | } else { | ||
27 | retval = __arm_ioremap(paddr, size, mtype); | ||
28 | } | ||
29 | |||
30 | return retval; | ||
31 | } | ||
32 | |||
33 | static inline void | ||
34 | __arch_iounmap(void __iomem *addr) | ||
35 | { | ||
36 | if (addr < (void __iomem *)ORION5X_REGS_VIRT_BASE || | ||
37 | addr >= (void __iomem *)(ORION5X_REGS_VIRT_BASE + ORION5X_REGS_SIZE)) | ||
38 | __iounmap(addr); | ||
39 | } | ||
40 | |||
41 | #define __arch_ioremap __arch_ioremap | ||
42 | #define __arch_iounmap __arch_iounmap | ||
43 | #define __io(a) __typesafe_io(a) | ||
44 | #define __mem_pci(a) (a) | ||
45 | |||
46 | |||
47 | /***************************************************************************** | ||
48 | * Helpers to access Orion registers | ||
49 | ****************************************************************************/ | ||
50 | /* | ||
51 | * These are not preempt-safe. Locks, if needed, must be taken | ||
52 | * care of by the caller. | ||
53 | */ | ||
54 | #define orion5x_setbits(r, mask) writel(readl(r) | (mask), (r)) | ||
55 | #define orion5x_clrbits(r, mask) writel(readl(r) & ~(mask), (r)) | ||
56 | |||
57 | |||
58 | #endif | ||
diff --git a/arch/arm/mach-orion5x/include/mach/memory.h b/arch/arm/mach-orion5x/include/mach/memory.h new file mode 100644 index 00000000000..6769917882f --- /dev/null +++ b/arch/arm/mach-orion5x/include/mach/memory.h | |||
@@ -0,0 +1,12 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/memory.h | ||
3 | * | ||
4 | * Marvell Orion memory definitions | ||
5 | */ | ||
6 | |||
7 | #ifndef __ASM_ARCH_MEMORY_H | ||
8 | #define __ASM_ARCH_MEMORY_H | ||
9 | |||
10 | #define PLAT_PHYS_OFFSET UL(0x00000000) | ||
11 | |||
12 | #endif | ||
diff --git a/arch/arm/mach-orion5x/include/mach/system.h b/arch/arm/mach-orion5x/include/mach/system.h new file mode 100644 index 00000000000..a1d6e46ab03 --- /dev/null +++ b/arch/arm/mach-orion5x/include/mach/system.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/system.h | ||
3 | * | ||
4 | * Tzachi Perelstein <tzachi@marvell.com> | ||
5 | * | ||
6 | * This file is licensed under the terms of the GNU General Public | ||
7 | * License version 2. This program is licensed "as is" without any | ||
8 | * warranty of any kind, whether express or implied. | ||
9 | */ | ||
10 | |||
11 | #ifndef __ASM_ARCH_SYSTEM_H | ||
12 | #define __ASM_ARCH_SYSTEM_H | ||
13 | |||
14 | #include <mach/bridge-regs.h> | ||
15 | |||
16 | static inline void arch_idle(void) | ||
17 | { | ||
18 | cpu_do_idle(); | ||
19 | } | ||
20 | |||
21 | static inline void arch_reset(char mode, const char *cmd) | ||
22 | { | ||
23 | /* | ||
24 | * Enable and issue soft reset | ||
25 | */ | ||
26 | orion5x_setbits(RSTOUTn_MASK, (1 << 2)); | ||
27 | orion5x_setbits(CPU_SOFT_RESET, 1); | ||
28 | mdelay(200); | ||
29 | orion5x_clrbits(CPU_SOFT_RESET, 1); | ||
30 | } | ||
31 | |||
32 | |||
33 | #endif | ||
diff --git a/arch/arm/mach-orion5x/include/mach/vmalloc.h b/arch/arm/mach-orion5x/include/mach/vmalloc.h new file mode 100644 index 00000000000..06b50aeff7b --- /dev/null +++ b/arch/arm/mach-orion5x/include/mach/vmalloc.h | |||
@@ -0,0 +1,5 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-orion5x/include/mach/vmalloc.h | ||
3 | */ | ||
4 | |||
5 | #define VMALLOC_END 0xfd800000UL | ||