aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/include
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-16 13:42:58 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2010-08-16 13:42:58 -0400
commite4862f2f6f5653dfb67f3ba2b6f0bc74516ed51a (patch)
tree1db5a0540a4eecfad9b7daee476b985e82ddc810 /arch/arm/mach-omap2/include
parentec62dbd7eb8e3dddb221da89ecbcea0fc3dee8c1 (diff)
parentb2c1e07b81a126e5846dfc3d36f559d861df59f4 (diff)
Merge branch 'for-2.6.36' into for-2.6.37
Fairly simple conflicts, the most serious ones are the i.MX ones which I suspect now need another rename. Conflicts: arch/arm/mach-mx2/clock_imx27.c arch/arm/mach-mx2/devices.c arch/arm/mach-omap2/board-rx51-peripherals.c arch/arm/mach-omap2/board-zoom2.c sound/soc/fsl/mpc5200_dma.c sound/soc/fsl/mpc5200_dma.h sound/soc/fsl/mpc8610_hpcd.c sound/soc/pxa/spitz.c
Diffstat (limited to 'arch/arm/mach-omap2/include')
-rw-r--r--arch/arm/mach-omap2/include/mach/board-flash.h (renamed from arch/arm/mach-omap2/include/mach/board-sdp.h)9
-rw-r--r--arch/arm/mach-omap2/include/mach/board-zoom.h6
-rw-r--r--arch/arm/mach-omap2/include/mach/debug-macro.S29
-rw-r--r--arch/arm/mach-omap2/include/mach/id.h22
-rw-r--r--arch/arm/mach-omap2/include/mach/omap4-common.h7
5 files changed, 64 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/include/mach/board-sdp.h b/arch/arm/mach-omap2/include/mach/board-flash.h
index 465169c0908a..b2242ae2bb6f 100644
--- a/arch/arm/mach-omap2/include/mach/board-sdp.h
+++ b/arch/arm/mach-omap2/include/mach/board-flash.h
@@ -12,10 +12,17 @@
12 */ 12 */
13#include <linux/mtd/mtd.h> 13#include <linux/mtd/mtd.h>
14#include <linux/mtd/partitions.h> 14#include <linux/mtd/partitions.h>
15#include <plat/gpmc.h>
16
17#define PDC_NOR 1
18#define PDC_NAND 2
19#define PDC_ONENAND 3
20#define DBG_MPDB 4
15 21
16struct flash_partitions { 22struct flash_partitions {
17 struct mtd_partition *parts; 23 struct mtd_partition *parts;
18 int nr_parts; 24 int nr_parts;
19}; 25};
20 26
21extern void sdp_flash_init(struct flash_partitions []); 27extern void board_flash_init(struct flash_partitions [],
28 char chip_sel[][GPMC_CS_NUM]);
diff --git a/arch/arm/mach-omap2/include/mach/board-zoom.h b/arch/arm/mach-omap2/include/mach/board-zoom.h
index b6a010fc8bda..80591fda8f8f 100644
--- a/arch/arm/mach-omap2/include/mach/board-zoom.h
+++ b/arch/arm/mach-omap2/include/mach/board-zoom.h
@@ -1,6 +1,12 @@
1/* 1/*
2 * Defines for zoom boards 2 * Defines for zoom boards
3 */ 3 */
4#include <linux/mtd/mtd.h>
5#include <linux/mtd/partitions.h>
6
7#define ZOOM_NAND_CS 0
8
9extern void __init board_nand_init(struct mtd_partition *, u8 nr_parts, u8 cs);
4extern int __init zoom_debugboard_init(void); 10extern int __init zoom_debugboard_init(void);
5extern void __init zoom_peripherals_init(void); 11extern void __init zoom_peripherals_init(void);
6 12
diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S b/arch/arm/mach-omap2/include/mach/debug-macro.S
index 35b24409a0c8..09331bbbda52 100644
--- a/arch/arm/mach-omap2/include/mach/debug-macro.S
+++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
@@ -36,7 +36,7 @@ omap_uart_lsr: .word 0
36 /* Use omap_uart_phys/virt if already configured */ 36 /* Use omap_uart_phys/virt if already configured */
3710: mrc p15, 0, \rx, c1, c0 3710: mrc p15, 0, \rx, c1, c0
38 tst \rx, #1 @ MMU enabled? 38 tst \rx, #1 @ MMU enabled?
39 ldreq \rx, =omap_uart_phys @ physical base address 39 ldreq \rx, =__virt_to_phys(omap_uart_phys) @ physical base address
40 ldrne \rx, =omap_uart_virt @ virtual base address 40 ldrne \rx, =omap_uart_virt @ virtual base address
41 ldr \rx, [\rx, #0] 41 ldr \rx, [\rx, #0]
42 cmp \rx, #0 @ is port configured? 42 cmp \rx, #0 @ is port configured?
@@ -89,26 +89,36 @@ omap_uart_lsr: .word 0
8944: mov \rx, #UART_OFFSET(OMAP4_UART4_BASE) 8944: mov \rx, #UART_OFFSET(OMAP4_UART4_BASE)
90 b 98f 90 b 98f
9195: ldr \rx, =ZOOM_UART_BASE 9195: ldr \rx, =ZOOM_UART_BASE
92 ldr \tmp, =omap_uart_phys 92 mrc p15, 0, \tmp, c1, c0
93 tst \tmp, #1 @ MMU enabled?
94 ldreq \tmp, =__virt_to_phys(omap_uart_phys)
95 ldrne \tmp, =omap_uart_phys
93 str \rx, [\tmp, #0] 96 str \rx, [\tmp, #0]
94 ldr \rx, =ZOOM_UART_VIRT 97 ldr \rx, =ZOOM_UART_VIRT
95 ldr \tmp, =omap_uart_virt 98 ldreq \tmp, =__virt_to_phys(omap_uart_virt)
99 ldrne \tmp, =omap_uart_virt
96 str \rx, [\tmp, #0] 100 str \rx, [\tmp, #0]
97 mov \rx, #(UART_LSR << ZOOM_PORT_SHIFT) 101 mov \rx, #(UART_LSR << ZOOM_PORT_SHIFT)
98 ldr \tmp, =omap_uart_lsr 102 ldreq \tmp, =__virt_to_phys(omap_uart_lsr)
103 ldrne \tmp, =omap_uart_lsr
99 str \rx, [\tmp, #0] 104 str \rx, [\tmp, #0]
100 b 10b 105 b 10b
101 106
102 /* Store both phys and virt address for the uart */ 107 /* Store both phys and virt address for the uart */
10398: add \rx, \rx, #0x48000000 @ phys base 10898: add \rx, \rx, #0x48000000 @ phys base
104 ldr \tmp, =omap_uart_phys 109 mrc p15, 0, \tmp, c1, c0
110 tst \tmp, #1 @ MMU enabled?
111 ldreq \tmp, =__virt_to_phys(omap_uart_phys)
112 ldrne \tmp, =omap_uart_phys
105 str \rx, [\tmp, #0] 113 str \rx, [\tmp, #0]
106 sub \rx, \rx, #0x48000000 @ phys base 114 sub \rx, \rx, #0x48000000 @ phys base
107 add \rx, \rx, #0xfa000000 @ virt base 115 add \rx, \rx, #0xfa000000 @ virt base
108 ldr \tmp, =omap_uart_virt 116 ldreq \tmp, =__virt_to_phys(omap_uart_virt)
117 ldrne \tmp, =omap_uart_virt
109 str \rx, [\tmp, #0] 118 str \rx, [\tmp, #0]
110 mov \rx, #(UART_LSR << OMAP_PORT_SHIFT) 119 mov \rx, #(UART_LSR << OMAP_PORT_SHIFT)
111 ldr \tmp, =omap_uart_lsr 120 ldreq \tmp, =__virt_to_phys(omap_uart_lsr)
121 ldrne \tmp, =omap_uart_lsr
112 str \rx, [\tmp, #0] 122 str \rx, [\tmp, #0]
113 123
114 b 10b 124 b 10b
@@ -120,7 +130,10 @@ omap_uart_lsr: .word 0
120 .endm 130 .endm
121 131
122 .macro busyuart,rd,rx 132 .macro busyuart,rd,rx
1231001: ldr \rd, =omap_uart_lsr 1331001: mrc p15, 0, \rd, c1, c0
134 tst \rd, #1 @ MMU enabled?
135 ldreq \rd, =__virt_to_phys(omap_uart_lsr)
136 ldrne \rd, =omap_uart_lsr
124 ldr \rd, [\rd, #0] 137 ldr \rd, [\rd, #0]
125 ldrb \rd, [\rx, \rd] 138 ldrb \rd, [\rx, \rd]
126 and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE) 139 and \rd, \rd, #(UART_LSR_TEMT | UART_LSR_THRE)
diff --git a/arch/arm/mach-omap2/include/mach/id.h b/arch/arm/mach-omap2/include/mach/id.h
new file mode 100644
index 000000000000..02ed3aa56f1e
--- /dev/null
+++ b/arch/arm/mach-omap2/include/mach/id.h
@@ -0,0 +1,22 @@
1/*
2 * OMAP2 CPU identification code
3 *
4 * Copyright (C) 2010 Kan-Ru Chen <kanru@0xlab.org>
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#ifndef OMAP2_ARCH_ID_H
11#define OMAP2_ARCH_ID_H
12
13struct omap_die_id {
14 u32 id_0;
15 u32 id_1;
16 u32 id_2;
17 u32 id_3;
18};
19
20void omap_get_die_id(struct omap_die_id *odi);
21
22#endif
diff --git a/arch/arm/mach-omap2/include/mach/omap4-common.h b/arch/arm/mach-omap2/include/mach/omap4-common.h
index 423af3a6dd31..2744dfee1ff4 100644
--- a/arch/arm/mach-omap2/include/mach/omap4-common.h
+++ b/arch/arm/mach-omap2/include/mach/omap4-common.h
@@ -13,6 +13,13 @@
13#ifndef OMAP_ARCH_OMAP4_COMMON_H 13#ifndef OMAP_ARCH_OMAP4_COMMON_H
14#define OMAP_ARCH_OMAP4_COMMON_H 14#define OMAP_ARCH_OMAP4_COMMON_H
15 15
16/*
17 * wfi used in low power code. Directly opcode is used instead
18 * of instruction to avoid mulit-omap build break
19 */
20#define do_wfi() \
21 __asm__ __volatile__ (".word 0xe320f003" : : : "memory")
22
16#ifdef CONFIG_CACHE_L2X0 23#ifdef CONFIG_CACHE_L2X0
17extern void __iomem *l2cache_base; 24extern void __iomem *l2cache_base;
18#endif 25#endif