aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2012-02-24 13:34:35 -0500
committerTony Lindgren <tony@atomide.com>2012-02-24 13:34:35 -0500
commitee0839c22cdda7f2e5f06e2d0351e2b49e0975ff (patch)
tree43aae8ac684d982860304731cda8a5e5295c562e /arch
parent2e3ee9f45b3c25faa012abc9a62ab7aa515cd617 (diff)
ARM: OMAP2+: Move most of plat/io.h into local iomap.h
There's no need to have these defines in plat/io.h. Note that we now need to ifdef omap_read/write calls as they will be available for omap1 only. While at it, clean up the includes to group them like they typically are grouped. Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap2/clock2420_data.c1
-rw-r--r--arch/arm/mach-omap2/clock2430.c1
-rw-r--r--arch/arm/mach-omap2/clock2430_data.c1
-rw-r--r--arch/arm/mach-omap2/clock3xxx_data.c3
-rw-r--r--arch/arm/mach-omap2/clock44xx_data.c3
-rw-r--r--arch/arm/mach-omap2/cm2xxx_3xxx.c2
-rw-r--r--arch/arm/mach-omap2/cm44xx.c2
-rw-r--r--arch/arm/mach-omap2/cminst44xx.c2
-rw-r--r--arch/arm/mach-omap2/common.c4
-rw-r--r--arch/arm/mach-omap2/control.c3
-rw-r--r--arch/arm/mach-omap2/control.h1
-rw-r--r--arch/arm/mach-omap2/devices.c2
-rw-r--r--arch/arm/mach-omap2/display.c1
-rw-r--r--arch/arm/mach-omap2/emu.c2
-rw-r--r--arch/arm/mach-omap2/io.c17
-rw-r--r--arch/arm/mach-omap2/iomap.h203
-rw-r--r--arch/arm/mach-omap2/irq.c5
-rw-r--r--arch/arm/mach-omap2/omap-smp.c3
-rw-r--r--arch/arm/mach-omap2/pm24xx.c5
-rw-r--r--arch/arm/mach-omap2/prcm_mpu44xx.c2
-rw-r--r--arch/arm/mach-omap2/prm44xx.c3
-rw-r--r--arch/arm/mach-omap2/prminst44xx.c2
-rw-r--r--arch/arm/mach-omap2/sdram-nokia.c1
-rw-r--r--arch/arm/mach-omap2/sdrc2xxx.c5
-rw-r--r--arch/arm/mach-omap2/sleep24xx.S1
-rw-r--r--arch/arm/mach-omap2/sleep34xx.S4
-rw-r--r--arch/arm/mach-omap2/sram242x.S4
-rw-r--r--arch/arm/mach-omap2/sram243x.S4
-rw-r--r--arch/arm/mach-omap2/sram34xx.S5
-rw-r--r--arch/arm/plat-omap/include/plat/io.h174
-rw-r--r--arch/arm/plat-omap/include/plat/tc.h4
-rw-r--r--arch/arm/plat-omap/sram.c9
32 files changed, 264 insertions, 215 deletions
diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c
index 61ad3855f10a..b1f3e7cebd10 100644
--- a/arch/arm/mach-omap2/clock2420_data.c
+++ b/arch/arm/mach-omap2/clock2420_data.c
@@ -19,6 +19,7 @@
19 19
20#include <plat/clkdev_omap.h> 20#include <plat/clkdev_omap.h>
21 21
22#include "iomap.h"
22#include "clock.h" 23#include "clock.h"
23#include "clock2xxx.h" 24#include "clock2xxx.h"
24#include "opp2xxx.h" 25#include "opp2xxx.h"
diff --git a/arch/arm/mach-omap2/clock2430.c b/arch/arm/mach-omap2/clock2430.c
index d87bc9cb2a36..0caf792ef5f5 100644
--- a/arch/arm/mach-omap2/clock2430.c
+++ b/arch/arm/mach-omap2/clock2430.c
@@ -23,6 +23,7 @@
23 23
24#include <plat/clock.h> 24#include <plat/clock.h>
25 25
26#include "iomap.h"
26#include "clock.h" 27#include "clock.h"
27#include "clock2xxx.h" 28#include "clock2xxx.h"
28#include "cm2xxx_3xxx.h" 29#include "cm2xxx_3xxx.h"
diff --git a/arch/arm/mach-omap2/clock2430_data.c b/arch/arm/mach-omap2/clock2430_data.c
index 0cc12879e7b9..9a061ffdbd5a 100644
--- a/arch/arm/mach-omap2/clock2430_data.c
+++ b/arch/arm/mach-omap2/clock2430_data.c
@@ -19,6 +19,7 @@
19 19
20#include <plat/clkdev_omap.h> 20#include <plat/clkdev_omap.h>
21 21
22#include "iomap.h"
22#include "clock.h" 23#include "clock.h"
23#include "clock2xxx.h" 24#include "clock2xxx.h"
24#include "opp2xxx.h" 25#include "opp2xxx.h"
diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
index d75e5f6b8a01..981b9f9111a4 100644
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@ -20,14 +20,15 @@
20#include <linux/clk.h> 20#include <linux/clk.h>
21#include <linux/list.h> 21#include <linux/list.h>
22 22
23#include <plat/hardware.h>
23#include <plat/clkdev_omap.h> 24#include <plat/clkdev_omap.h>
24 25
26#include "iomap.h"
25#include "clock.h" 27#include "clock.h"
26#include "clock3xxx.h" 28#include "clock3xxx.h"
27#include "clock34xx.h" 29#include "clock34xx.h"
28#include "clock36xx.h" 30#include "clock36xx.h"
29#include "clock3517.h" 31#include "clock3517.h"
30
31#include "cm2xxx_3xxx.h" 32#include "cm2xxx_3xxx.h"
32#include "cm-regbits-34xx.h" 33#include "cm-regbits-34xx.h"
33#include "prm2xxx_3xxx.h" 34#include "prm2xxx_3xxx.h"
diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c
index 08e86d793a1f..79b98f22f207 100644
--- a/arch/arm/mach-omap2/clock44xx_data.c
+++ b/arch/arm/mach-omap2/clock44xx_data.c
@@ -26,8 +26,11 @@
26#include <linux/kernel.h> 26#include <linux/kernel.h>
27#include <linux/list.h> 27#include <linux/list.h>
28#include <linux/clk.h> 28#include <linux/clk.h>
29
30#include <plat/hardware.h>
29#include <plat/clkdev_omap.h> 31#include <plat/clkdev_omap.h>
30 32
33#include "iomap.h"
31#include "clock.h" 34#include "clock.h"
32#include "clock44xx.h" 35#include "clock44xx.h"
33#include "cm1_44xx.h" 36#include "cm1_44xx.h"
diff --git a/arch/arm/mach-omap2/cm2xxx_3xxx.c b/arch/arm/mach-omap2/cm2xxx_3xxx.c
index 04d39cdd2112..c79ed63601ca 100644
--- a/arch/arm/mach-omap2/cm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/cm2xxx_3xxx.c
@@ -18,8 +18,8 @@
18#include <linux/err.h> 18#include <linux/err.h>
19#include <linux/io.h> 19#include <linux/io.h>
20 20
21#include "iomap.h"
21#include "common.h" 22#include "common.h"
22
23#include "cm.h" 23#include "cm.h"
24#include "cm2xxx_3xxx.h" 24#include "cm2xxx_3xxx.h"
25#include "cm-regbits-24xx.h" 25#include "cm-regbits-24xx.h"
diff --git a/arch/arm/mach-omap2/cm44xx.c b/arch/arm/mach-omap2/cm44xx.c
index 6a836303252c..535d66e2822c 100644
--- a/arch/arm/mach-omap2/cm44xx.c
+++ b/arch/arm/mach-omap2/cm44xx.c
@@ -18,8 +18,8 @@
18#include <linux/err.h> 18#include <linux/err.h>
19#include <linux/io.h> 19#include <linux/io.h>
20 20
21#include "iomap.h"
21#include "common.h" 22#include "common.h"
22
23#include "cm.h" 23#include "cm.h"
24#include "cm1_44xx.h" 24#include "cm1_44xx.h"
25#include "cm2_44xx.h" 25#include "cm2_44xx.h"
diff --git a/arch/arm/mach-omap2/cminst44xx.c b/arch/arm/mach-omap2/cminst44xx.c
index 6204deaf85b1..bd8810c3753f 100644
--- a/arch/arm/mach-omap2/cminst44xx.c
+++ b/arch/arm/mach-omap2/cminst44xx.c
@@ -20,8 +20,8 @@
20#include <linux/err.h> 20#include <linux/err.h>
21#include <linux/io.h> 21#include <linux/io.h>
22 22
23#include "iomap.h"
23#include "common.h" 24#include "common.h"
24
25#include "cm.h" 25#include "cm.h"
26#include "cm1_44xx.h" 26#include "cm1_44xx.h"
27#include "cm2_44xx.h" 27#include "cm2_44xx.h"
diff --git a/arch/arm/mach-omap2/common.c b/arch/arm/mach-omap2/common.c
index aaf421178c91..93419de4534a 100644
--- a/arch/arm/mach-omap2/common.c
+++ b/arch/arm/mach-omap2/common.c
@@ -17,12 +17,12 @@
17#include <linux/clk.h> 17#include <linux/clk.h>
18#include <linux/io.h> 18#include <linux/io.h>
19 19
20#include "common.h"
21#include <plat/board.h> 20#include <plat/board.h>
22#include <plat/mux.h> 21#include <plat/mux.h>
23
24#include <plat/clock.h> 22#include <plat/clock.h>
25 23
24#include "iomap.h"
25#include "common.h"
26#include "sdrc.h" 26#include "sdrc.h"
27#include "control.h" 27#include "control.h"
28 28
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index 114c037e433c..2fd5fd1abb4f 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -15,9 +15,10 @@
15#include <linux/kernel.h> 15#include <linux/kernel.h>
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#include "common.h"
19#include <plat/sdrc.h> 18#include <plat/sdrc.h>
20 19
20#include "iomap.h"
21#include "common.h"
21#include "cm-regbits-34xx.h" 22#include "cm-regbits-34xx.h"
22#include "prm-regbits-34xx.h" 23#include "prm-regbits-34xx.h"
23#include "prm2xxx_3xxx.h" 24#include "prm2xxx_3xxx.h"
diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
index 0ba68d3764bc..03149de08544 100644
--- a/arch/arm/mach-omap2/control.h
+++ b/arch/arm/mach-omap2/control.h
@@ -16,7 +16,6 @@
16#ifndef __ARCH_ARM_MACH_OMAP2_CONTROL_H 16#ifndef __ARCH_ARM_MACH_OMAP2_CONTROL_H
17#define __ARCH_ARM_MACH_OMAP2_CONTROL_H 17#define __ARCH_ARM_MACH_OMAP2_CONTROL_H
18 18
19#include <mach/io.h>
20#include <mach/ctrl_module_core_44xx.h> 19#include <mach/ctrl_module_core_44xx.h>
21#include <mach/ctrl_module_wkup_44xx.h> 20#include <mach/ctrl_module_wkup_44xx.h>
22#include <mach/ctrl_module_pad_core_44xx.h> 21#include <mach/ctrl_module_pad_core_44xx.h>
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index 283d11eae693..e13644c11260 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -24,7 +24,7 @@
24#include <asm/mach/map.h> 24#include <asm/mach/map.h>
25#include <asm/pmu.h> 25#include <asm/pmu.h>
26 26
27#include <plat/tc.h> 27#include "iomap.h"
28#include <plat/board.h> 28#include <plat/board.h>
29#include <plat/mcbsp.h> 29#include <plat/mcbsp.h>
30#include <plat/mmc.h> 30#include <plat/mmc.h>
diff --git a/arch/arm/mach-omap2/display.c b/arch/arm/mach-omap2/display.c
index 3677b1f58b85..28d16a4bb615 100644
--- a/arch/arm/mach-omap2/display.c
+++ b/arch/arm/mach-omap2/display.c
@@ -30,6 +30,7 @@
30#include <plat/omap-pm.h> 30#include <plat/omap-pm.h>
31#include "common.h" 31#include "common.h"
32 32
33#include "iomap.h"
33#include "mux.h" 34#include "mux.h"
34#include "control.h" 35#include "control.h"
35#include "display.h" 36#include "display.h"
diff --git a/arch/arm/mach-omap2/emu.c b/arch/arm/mach-omap2/emu.c
index 9c442e290ccb..28d639f8f6cf 100644
--- a/arch/arm/mach-omap2/emu.c
+++ b/arch/arm/mach-omap2/emu.c
@@ -21,6 +21,8 @@
21#include <linux/clk.h> 21#include <linux/clk.h>
22#include <linux/err.h> 22#include <linux/err.h>
23 23
24#include "iomap.h"
25
24MODULE_LICENSE("GPL"); 26MODULE_LICENSE("GPL");
25MODULE_AUTHOR("Alexander Shishkin"); 27MODULE_AUTHOR("Alexander Shishkin");
26 28
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index eb50c29fb644..0119807016f9 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -24,26 +24,23 @@
24#include <linux/omapfb.h> 24#include <linux/omapfb.h>
25 25
26#include <asm/tlb.h> 26#include <asm/tlb.h>
27
28#include <asm/mach/map.h> 27#include <asm/mach/map.h>
29 28
30#include <plat/sram.h> 29#include <plat/sram.h>
31#include <plat/sdrc.h> 30#include <plat/sdrc.h>
32#include <plat/serial.h> 31#include <plat/serial.h>
33
34#include "clock2xxx.h"
35#include "clock3xxx.h"
36#include "clock44xx.h"
37
38#include "common.h"
39#include <plat/omap-pm.h> 32#include <plat/omap-pm.h>
33#include <plat/omap_hwmod.h>
34#include <plat/multi.h>
35
36#include "iomap.h"
40#include "voltage.h" 37#include "voltage.h"
41#include "powerdomain.h" 38#include "powerdomain.h"
42
43#include "clockdomain.h" 39#include "clockdomain.h"
44#include <plat/omap_hwmod.h>
45#include <plat/multi.h>
46#include "common.h" 40#include "common.h"
41#include "clock2xxx.h"
42#include "clock3xxx.h"
43#include "clock44xx.h"
47 44
48/* 45/*
49 * The machine specific code may provide the extra mapping besides the 46 * The machine specific code may provide the extra mapping besides the
diff --git a/arch/arm/mach-omap2/iomap.h b/arch/arm/mach-omap2/iomap.h
new file mode 100644
index 000000000000..e6f958165296
--- /dev/null
+++ b/arch/arm/mach-omap2/iomap.h
@@ -0,0 +1,203 @@
1/*
2 * IO mappings for OMAP2+
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
10 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
12 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
13 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
14 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
15 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
16 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
17 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
18 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
19 *
20 * You should have received a copy of the GNU General Public License along
21 * with this program; if not, write to the Free Software Foundation, Inc.,
22 * 675 Mass Ave, Cambridge, MA 02139, USA.
23 */
24
25#ifdef __ASSEMBLER__
26#define IOMEM(x) (x)
27#else
28#define IOMEM(x) ((void __force __iomem *)(x))
29#endif
30
31#define OMAP2_L3_IO_OFFSET 0x90000000
32#define OMAP2_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L3_IO_OFFSET) /* L3 */
33
34#define OMAP2_L4_IO_OFFSET 0xb2000000
35#define OMAP2_L4_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L4_IO_OFFSET) /* L4 */
36
37#define OMAP4_L3_IO_OFFSET 0xb4000000
38#define OMAP4_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_L3_IO_OFFSET) /* L3 */
39
40#define AM33XX_L4_WK_IO_OFFSET 0xb5000000
41#define AM33XX_L4_WK_IO_ADDRESS(pa) IOMEM((pa) + AM33XX_L4_WK_IO_OFFSET)
42
43#define OMAP4_L3_PER_IO_OFFSET 0xb1100000
44#define OMAP4_L3_PER_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_L3_PER_IO_OFFSET)
45
46#define OMAP4_GPMC_IO_OFFSET 0xa9000000
47#define OMAP4_GPMC_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_GPMC_IO_OFFSET)
48
49#define OMAP2_EMU_IO_OFFSET 0xaa800000 /* Emulation */
50#define OMAP2_EMU_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_EMU_IO_OFFSET)
51
52/*
53 * ----------------------------------------------------------------------------
54 * Omap2 specific IO mapping
55 * ----------------------------------------------------------------------------
56 */
57
58/* We map both L3 and L4 on OMAP2 */
59#define L3_24XX_PHYS L3_24XX_BASE /* 0x68000000 --> 0xf8000000*/
60#define L3_24XX_VIRT (L3_24XX_PHYS + OMAP2_L3_IO_OFFSET)
61#define L3_24XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
62#define L4_24XX_PHYS L4_24XX_BASE /* 0x48000000 --> 0xfa000000 */
63#define L4_24XX_VIRT (L4_24XX_PHYS + OMAP2_L4_IO_OFFSET)
64#define L4_24XX_SIZE SZ_1M /* 1MB of 128MB used, want 1MB sect */
65
66#define L4_WK_243X_PHYS L4_WK_243X_BASE /* 0x49000000 --> 0xfb000000 */
67#define L4_WK_243X_VIRT (L4_WK_243X_PHYS + OMAP2_L4_IO_OFFSET)
68#define L4_WK_243X_SIZE SZ_1M
69#define OMAP243X_GPMC_PHYS OMAP243X_GPMC_BASE
70#define OMAP243X_GPMC_VIRT (OMAP243X_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
71 /* 0x6e000000 --> 0xfe000000 */
72#define OMAP243X_GPMC_SIZE SZ_1M
73#define OMAP243X_SDRC_PHYS OMAP243X_SDRC_BASE
74 /* 0x6D000000 --> 0xfd000000 */
75#define OMAP243X_SDRC_VIRT (OMAP243X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
76#define OMAP243X_SDRC_SIZE SZ_1M
77#define OMAP243X_SMS_PHYS OMAP243X_SMS_BASE
78 /* 0x6c000000 --> 0xfc000000 */
79#define OMAP243X_SMS_VIRT (OMAP243X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
80#define OMAP243X_SMS_SIZE SZ_1M
81
82/* 2420 IVA */
83#define DSP_MEM_2420_PHYS OMAP2420_DSP_MEM_BASE
84 /* 0x58000000 --> 0xfc100000 */
85#define DSP_MEM_2420_VIRT 0xfc100000
86#define DSP_MEM_2420_SIZE 0x28000
87#define DSP_IPI_2420_PHYS OMAP2420_DSP_IPI_BASE
88 /* 0x59000000 --> 0xfc128000 */
89#define DSP_IPI_2420_VIRT 0xfc128000
90#define DSP_IPI_2420_SIZE SZ_4K
91#define DSP_MMU_2420_PHYS OMAP2420_DSP_MMU_BASE
92 /* 0x5a000000 --> 0xfc129000 */
93#define DSP_MMU_2420_VIRT 0xfc129000
94#define DSP_MMU_2420_SIZE SZ_4K
95
96/* 2430 IVA2.1 - currently unmapped */
97
98/*
99 * ----------------------------------------------------------------------------
100 * Omap3 specific IO mapping
101 * ----------------------------------------------------------------------------
102 */
103
104/* We map both L3 and L4 on OMAP3 */
105#define L3_34XX_PHYS L3_34XX_BASE /* 0x68000000 --> 0xf8000000 */
106#define L3_34XX_VIRT (L3_34XX_PHYS + OMAP2_L3_IO_OFFSET)
107#define L3_34XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
108
109#define L4_34XX_PHYS L4_34XX_BASE /* 0x48000000 --> 0xfa000000 */
110#define L4_34XX_VIRT (L4_34XX_PHYS + OMAP2_L4_IO_OFFSET)
111#define L4_34XX_SIZE SZ_4M /* 1MB of 128MB used, want 1MB sect */
112
113/*
114 * ----------------------------------------------------------------------------
115 * AM33XX specific IO mapping
116 * ----------------------------------------------------------------------------
117 */
118#define L4_WK_AM33XX_PHYS L4_WK_AM33XX_BASE
119#define L4_WK_AM33XX_VIRT (L4_WK_AM33XX_PHYS + AM33XX_L4_WK_IO_OFFSET)
120#define L4_WK_AM33XX_SIZE SZ_4M /* 1MB of 128MB used, want 1MB sect */
121
122/*
123 * Need to look at the Size 4M for L4.
124 * VPOM3430 was not working for Int controller
125 */
126
127#define L4_PER_34XX_PHYS L4_PER_34XX_BASE
128 /* 0x49000000 --> 0xfb000000 */
129#define L4_PER_34XX_VIRT (L4_PER_34XX_PHYS + OMAP2_L4_IO_OFFSET)
130#define L4_PER_34XX_SIZE SZ_1M
131
132#define L4_EMU_34XX_PHYS L4_EMU_34XX_BASE
133 /* 0x54000000 --> 0xfe800000 */
134#define L4_EMU_34XX_VIRT (L4_EMU_34XX_PHYS + OMAP2_EMU_IO_OFFSET)
135#define L4_EMU_34XX_SIZE SZ_8M
136
137#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE
138 /* 0x6e000000 --> 0xfe000000 */
139#define OMAP34XX_GPMC_VIRT (OMAP34XX_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
140#define OMAP34XX_GPMC_SIZE SZ_1M
141
142#define OMAP343X_SMS_PHYS OMAP343X_SMS_BASE
143 /* 0x6c000000 --> 0xfc000000 */
144#define OMAP343X_SMS_VIRT (OMAP343X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
145#define OMAP343X_SMS_SIZE SZ_1M
146
147#define OMAP343X_SDRC_PHYS OMAP343X_SDRC_BASE
148 /* 0x6D000000 --> 0xfd000000 */
149#define OMAP343X_SDRC_VIRT (OMAP343X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
150#define OMAP343X_SDRC_SIZE SZ_1M
151
152/* 3430 IVA - currently unmapped */
153
154/*
155 * ----------------------------------------------------------------------------
156 * Omap4 specific IO mapping
157 * ----------------------------------------------------------------------------
158 */
159
160/* We map both L3 and L4 on OMAP4 */
161#define L3_44XX_PHYS L3_44XX_BASE /* 0x44000000 --> 0xf8000000 */
162#define L3_44XX_VIRT (L3_44XX_PHYS + OMAP4_L3_IO_OFFSET)
163#define L3_44XX_SIZE SZ_1M
164
165#define L4_44XX_PHYS L4_44XX_BASE /* 0x4a000000 --> 0xfc000000 */
166#define L4_44XX_VIRT (L4_44XX_PHYS + OMAP2_L4_IO_OFFSET)
167#define L4_44XX_SIZE SZ_4M
168
169#define L4_PER_44XX_PHYS L4_PER_44XX_BASE
170 /* 0x48000000 --> 0xfa000000 */
171#define L4_PER_44XX_VIRT (L4_PER_44XX_PHYS + OMAP2_L4_IO_OFFSET)
172#define L4_PER_44XX_SIZE SZ_4M
173
174#define L4_ABE_44XX_PHYS L4_ABE_44XX_BASE
175 /* 0x49000000 --> 0xfb000000 */
176#define L4_ABE_44XX_VIRT (L4_ABE_44XX_PHYS + OMAP2_L4_IO_OFFSET)
177#define L4_ABE_44XX_SIZE SZ_1M
178
179#define L4_EMU_44XX_PHYS L4_EMU_44XX_BASE
180 /* 0x54000000 --> 0xfe800000 */
181#define L4_EMU_44XX_VIRT (L4_EMU_44XX_PHYS + OMAP2_EMU_IO_OFFSET)
182#define L4_EMU_44XX_SIZE SZ_8M
183
184#define OMAP44XX_GPMC_PHYS OMAP44XX_GPMC_BASE
185 /* 0x50000000 --> 0xf9000000 */
186#define OMAP44XX_GPMC_VIRT (OMAP44XX_GPMC_PHYS + OMAP4_GPMC_IO_OFFSET)
187#define OMAP44XX_GPMC_SIZE SZ_1M
188
189
190#define OMAP44XX_EMIF1_PHYS OMAP44XX_EMIF1_BASE
191 /* 0x4c000000 --> 0xfd100000 */
192#define OMAP44XX_EMIF1_VIRT (OMAP44XX_EMIF1_PHYS + OMAP4_L3_PER_IO_OFFSET)
193#define OMAP44XX_EMIF1_SIZE SZ_1M
194
195#define OMAP44XX_EMIF2_PHYS OMAP44XX_EMIF2_BASE
196 /* 0x4d000000 --> 0xfd200000 */
197#define OMAP44XX_EMIF2_SIZE SZ_1M
198#define OMAP44XX_EMIF2_VIRT (OMAP44XX_EMIF1_VIRT + OMAP44XX_EMIF1_SIZE)
199
200#define OMAP44XX_DMM_PHYS OMAP44XX_DMM_BASE
201 /* 0x4e000000 --> 0xfd300000 */
202#define OMAP44XX_DMM_SIZE SZ_1M
203#define OMAP44XX_DMM_VIRT (OMAP44XX_EMIF2_VIRT + OMAP44XX_EMIF2_SIZE)
diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
index 1fef061f7927..6da2d0edee11 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -14,10 +14,13 @@
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/interrupt.h> 15#include <linux/interrupt.h>
16#include <linux/io.h> 16#include <linux/io.h>
17#include <mach/hardware.h> 17
18#include <asm/exception.h> 18#include <asm/exception.h>
19#include <asm/mach/irq.h> 19#include <asm/mach/irq.h>
20 20
21#include <mach/hardware.h>
22
23#include "iomap.h"
21 24
22/* selected INTC register offsets */ 25/* selected INTC register offsets */
23 26
diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c
index c1bf3ef0ba02..deffbf1c9627 100644
--- a/arch/arm/mach-omap2/omap-smp.c
+++ b/arch/arm/mach-omap2/omap-smp.c
@@ -23,11 +23,12 @@
23#include <asm/cacheflush.h> 23#include <asm/cacheflush.h>
24#include <asm/hardware/gic.h> 24#include <asm/hardware/gic.h>
25#include <asm/smp_scu.h> 25#include <asm/smp_scu.h>
26
26#include <mach/hardware.h> 27#include <mach/hardware.h>
27#include <mach/omap-secure.h> 28#include <mach/omap-secure.h>
28 29
30#include "iomap.h"
29#include "common.h" 31#include "common.h"
30
31#include "clockdomain.h" 32#include "clockdomain.h"
32 33
33/* SCU base address */ 34/* SCU base address */
diff --git a/arch/arm/mach-omap2/pm24xx.c b/arch/arm/mach-omap2/pm24xx.c
index 6d63973c7f15..423a9a957b84 100644
--- a/arch/arm/mach-omap2/pm24xx.c
+++ b/arch/arm/mach-omap2/pm24xx.c
@@ -35,12 +35,14 @@
35#include <asm/mach/irq.h> 35#include <asm/mach/irq.h>
36#include <asm/mach-types.h> 36#include <asm/mach-types.h>
37 37
38#include <mach/irqs.h>
39#include <plat/clock.h> 38#include <plat/clock.h>
40#include <plat/sram.h> 39#include <plat/sram.h>
41#include <plat/dma.h> 40#include <plat/dma.h>
42#include <plat/board.h> 41#include <plat/board.h>
43 42
43#include <mach/irqs.h>
44
45#include "iomap.h"
44#include "common.h" 46#include "common.h"
45#include "prm2xxx_3xxx.h" 47#include "prm2xxx_3xxx.h"
46#include "prm-regbits-24xx.h" 48#include "prm-regbits-24xx.h"
@@ -49,7 +51,6 @@
49#include "sdrc.h" 51#include "sdrc.h"
50#include "pm.h" 52#include "pm.h"
51#include "control.h" 53#include "control.h"
52
53#include "powerdomain.h" 54#include "powerdomain.h"
54#include "clockdomain.h" 55#include "clockdomain.h"
55 56
diff --git a/arch/arm/mach-omap2/prcm_mpu44xx.c b/arch/arm/mach-omap2/prcm_mpu44xx.c
index ca669b50f390..928dbd4f20ed 100644
--- a/arch/arm/mach-omap2/prcm_mpu44xx.c
+++ b/arch/arm/mach-omap2/prcm_mpu44xx.c
@@ -15,8 +15,8 @@
15#include <linux/err.h> 15#include <linux/err.h>
16#include <linux/io.h> 16#include <linux/io.h>
17 17
18#include "iomap.h"
18#include "common.h" 19#include "common.h"
19
20#include "prcm_mpu44xx.h" 20#include "prcm_mpu44xx.h"
21#include "cm-regbits-44xx.h" 21#include "cm-regbits-44xx.h"
22 22
diff --git a/arch/arm/mach-omap2/prm44xx.c b/arch/arm/mach-omap2/prm44xx.c
index 33dd655e6aab..f4c151989c91 100644
--- a/arch/arm/mach-omap2/prm44xx.c
+++ b/arch/arm/mach-omap2/prm44xx.c
@@ -17,10 +17,11 @@
17#include <linux/err.h> 17#include <linux/err.h>
18#include <linux/io.h> 18#include <linux/io.h>
19 19
20#include "common.h"
21#include <plat/cpu.h> 20#include <plat/cpu.h>
22#include <plat/prcm.h> 21#include <plat/prcm.h>
23 22
23#include "iomap.h"
24#include "common.h"
24#include "vp.h" 25#include "vp.h"
25#include "prm44xx.h" 26#include "prm44xx.h"
26#include "prm-regbits-44xx.h" 27#include "prm-regbits-44xx.h"
diff --git a/arch/arm/mach-omap2/prminst44xx.c b/arch/arm/mach-omap2/prminst44xx.c
index f6de5bc6b12a..9b3898a3ac9b 100644
--- a/arch/arm/mach-omap2/prminst44xx.c
+++ b/arch/arm/mach-omap2/prminst44xx.c
@@ -16,8 +16,8 @@
16#include <linux/err.h> 16#include <linux/err.h>
17#include <linux/io.h> 17#include <linux/io.h>
18 18
19#include "iomap.h"
19#include "common.h" 20#include "common.h"
20
21#include "prm44xx.h" 21#include "prm44xx.h"
22#include "prminst44xx.h" 22#include "prminst44xx.h"
23#include "prm-regbits-44xx.h" 23#include "prm-regbits-44xx.h"
diff --git a/arch/arm/mach-omap2/sdram-nokia.c b/arch/arm/mach-omap2/sdram-nokia.c
index 7479d7ea1379..845c4fd2b125 100644
--- a/arch/arm/mach-omap2/sdram-nokia.c
+++ b/arch/arm/mach-omap2/sdram-nokia.c
@@ -17,7 +17,6 @@
17#include <linux/err.h> 17#include <linux/err.h>
18#include <linux/io.h> 18#include <linux/io.h>
19 19
20#include <plat/io.h>
21#include "common.h" 20#include "common.h"
22#include <plat/clock.h> 21#include <plat/clock.h>
23#include <plat/sdrc.h> 22#include <plat/sdrc.h>
diff --git a/arch/arm/mach-omap2/sdrc2xxx.c b/arch/arm/mach-omap2/sdrc2xxx.c
index 791a63cdceb2..2c329a6f4778 100644
--- a/arch/arm/mach-omap2/sdrc2xxx.c
+++ b/arch/arm/mach-omap2/sdrc2xxx.c
@@ -24,13 +24,14 @@
24#include <linux/clk.h> 24#include <linux/clk.h>
25#include <linux/io.h> 25#include <linux/io.h>
26 26
27#include "common.h"
28#include <plat/clock.h> 27#include <plat/clock.h>
29#include <plat/sram.h> 28#include <plat/sram.h>
29#include <plat/sdrc.h>
30 30
31#include "iomap.h"
32#include "common.h"
31#include "prm2xxx_3xxx.h" 33#include "prm2xxx_3xxx.h"
32#include "clock.h" 34#include "clock.h"
33#include <plat/sdrc.h>
34#include "sdrc.h" 35#include "sdrc.h"
35 36
36/* Memory timing, DLL mode flags */ 37/* Memory timing, DLL mode flags */
diff --git a/arch/arm/mach-omap2/sleep24xx.S b/arch/arm/mach-omap2/sleep24xx.S
index b5071a47ec39..d4bf904d84ab 100644
--- a/arch/arm/mach-omap2/sleep24xx.S
+++ b/arch/arm/mach-omap2/sleep24xx.S
@@ -27,7 +27,6 @@
27 27
28#include <linux/linkage.h> 28#include <linux/linkage.h>
29#include <asm/assembler.h> 29#include <asm/assembler.h>
30#include <mach/io.h>
31 30
32#include <plat/omap24xx.h> 31#include <plat/omap24xx.h>
33 32
diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S
index f2ea1bd1c691..b760fec1053d 100644
--- a/arch/arm/mach-omap2/sleep34xx.S
+++ b/arch/arm/mach-omap2/sleep34xx.S
@@ -23,10 +23,12 @@
23 * MA 02111-1307 USA 23 * MA 02111-1307 USA
24 */ 24 */
25#include <linux/linkage.h> 25#include <linux/linkage.h>
26
26#include <asm/assembler.h> 27#include <asm/assembler.h>
28
27#include <plat/sram.h> 29#include <plat/sram.h>
28#include <mach/io.h>
29 30
31#include "iomap.h"
30#include "cm2xxx_3xxx.h" 32#include "cm2xxx_3xxx.h"
31#include "prm2xxx_3xxx.h" 33#include "prm2xxx_3xxx.h"
32#include "sdrc.h" 34#include "sdrc.h"
diff --git a/arch/arm/mach-omap2/sram242x.S b/arch/arm/mach-omap2/sram242x.S
index ff9b9dbcb30e..ee0bfcc1410f 100644
--- a/arch/arm/mach-omap2/sram242x.S
+++ b/arch/arm/mach-omap2/sram242x.S
@@ -29,10 +29,12 @@
29 * These crashes may be intermittent. 29 * These crashes may be intermittent.
30 */ 30 */
31#include <linux/linkage.h> 31#include <linux/linkage.h>
32
32#include <asm/assembler.h> 33#include <asm/assembler.h>
33#include <mach/io.h> 34
34#include <mach/hardware.h> 35#include <mach/hardware.h>
35 36
37#include "iomap.h"
36#include "prm2xxx_3xxx.h" 38#include "prm2xxx_3xxx.h"
37#include "cm2xxx_3xxx.h" 39#include "cm2xxx_3xxx.h"
38#include "sdrc.h" 40#include "sdrc.h"
diff --git a/arch/arm/mach-omap2/sram243x.S b/arch/arm/mach-omap2/sram243x.S
index 76730209fa0e..d4d39ef04769 100644
--- a/arch/arm/mach-omap2/sram243x.S
+++ b/arch/arm/mach-omap2/sram243x.S
@@ -29,10 +29,12 @@
29 * These crashes may be intermittent. 29 * These crashes may be intermittent.
30 */ 30 */
31#include <linux/linkage.h> 31#include <linux/linkage.h>
32
32#include <asm/assembler.h> 33#include <asm/assembler.h>
33#include <mach/io.h> 34
34#include <mach/hardware.h> 35#include <mach/hardware.h>
35 36
37#include "iomap.h"
36#include "prm2xxx_3xxx.h" 38#include "prm2xxx_3xxx.h"
37#include "cm2xxx_3xxx.h" 39#include "cm2xxx_3xxx.h"
38#include "sdrc.h" 40#include "sdrc.h"
diff --git a/arch/arm/mach-omap2/sram34xx.S b/arch/arm/mach-omap2/sram34xx.S
index 6f5849aaa7c0..df5a21322b0a 100644
--- a/arch/arm/mach-omap2/sram34xx.S
+++ b/arch/arm/mach-omap2/sram34xx.S
@@ -26,11 +26,12 @@
26 * MA 02111-1307 USA 26 * MA 02111-1307 USA
27 */ 27 */
28#include <linux/linkage.h> 28#include <linux/linkage.h>
29
29#include <asm/assembler.h> 30#include <asm/assembler.h>
30#include <mach/hardware.h>
31 31
32#include <mach/io.h> 32#include <mach/hardware.h>
33 33
34#include "iomap.h"
34#include "sdrc.h" 35#include "sdrc.h"
35#include "cm2xxx_3xxx.h" 36#include "cm2xxx_3xxx.h"
36 37
diff --git a/arch/arm/plat-omap/include/plat/io.h b/arch/arm/plat-omap/include/plat/io.h
index e5e8e08f62f5..93261d9098f6 100644
--- a/arch/arm/plat-omap/include/plat/io.h
+++ b/arch/arm/plat-omap/include/plat/io.h
@@ -60,180 +60,6 @@
60#define IOMEM(x) ((void __force __iomem *)(x)) 60#define IOMEM(x) ((void __force __iomem *)(x))
61#endif 61#endif
62 62
63#define OMAP2_L3_IO_OFFSET 0x90000000
64#define OMAP2_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L3_IO_OFFSET) /* L3 */
65
66
67#define OMAP2_L4_IO_OFFSET 0xb2000000
68#define OMAP2_L4_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_L4_IO_OFFSET) /* L4 */
69
70#define OMAP4_L3_IO_OFFSET 0xb4000000
71#define OMAP4_L3_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_L3_IO_OFFSET) /* L3 */
72
73#define AM33XX_L4_WK_IO_OFFSET 0xb5000000
74#define AM33XX_L4_WK_IO_ADDRESS(pa) IOMEM((pa) + AM33XX_L4_WK_IO_OFFSET)
75
76#define OMAP4_L3_PER_IO_OFFSET 0xb1100000
77#define OMAP4_L3_PER_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_L3_PER_IO_OFFSET)
78
79#define OMAP4_GPMC_IO_OFFSET 0xa9000000
80#define OMAP4_GPMC_IO_ADDRESS(pa) IOMEM((pa) + OMAP4_GPMC_IO_OFFSET)
81
82#define OMAP2_EMU_IO_OFFSET 0xaa800000 /* Emulation */
83#define OMAP2_EMU_IO_ADDRESS(pa) IOMEM((pa) + OMAP2_EMU_IO_OFFSET)
84
85/*
86 * ----------------------------------------------------------------------------
87 * Omap2 specific IO mapping
88 * ----------------------------------------------------------------------------
89 */
90
91/* We map both L3 and L4 on OMAP2 */
92#define L3_24XX_PHYS L3_24XX_BASE /* 0x68000000 --> 0xf8000000*/
93#define L3_24XX_VIRT (L3_24XX_PHYS + OMAP2_L3_IO_OFFSET)
94#define L3_24XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
95#define L4_24XX_PHYS L4_24XX_BASE /* 0x48000000 --> 0xfa000000 */
96#define L4_24XX_VIRT (L4_24XX_PHYS + OMAP2_L4_IO_OFFSET)
97#define L4_24XX_SIZE SZ_1M /* 1MB of 128MB used, want 1MB sect */
98
99#define L4_WK_243X_PHYS L4_WK_243X_BASE /* 0x49000000 --> 0xfb000000 */
100#define L4_WK_243X_VIRT (L4_WK_243X_PHYS + OMAP2_L4_IO_OFFSET)
101#define L4_WK_243X_SIZE SZ_1M
102#define OMAP243X_GPMC_PHYS OMAP243X_GPMC_BASE
103#define OMAP243X_GPMC_VIRT (OMAP243X_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
104 /* 0x6e000000 --> 0xfe000000 */
105#define OMAP243X_GPMC_SIZE SZ_1M
106#define OMAP243X_SDRC_PHYS OMAP243X_SDRC_BASE
107 /* 0x6D000000 --> 0xfd000000 */
108#define OMAP243X_SDRC_VIRT (OMAP243X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
109#define OMAP243X_SDRC_SIZE SZ_1M
110#define OMAP243X_SMS_PHYS OMAP243X_SMS_BASE
111 /* 0x6c000000 --> 0xfc000000 */
112#define OMAP243X_SMS_VIRT (OMAP243X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
113#define OMAP243X_SMS_SIZE SZ_1M
114
115/* 2420 IVA */
116#define DSP_MEM_2420_PHYS OMAP2420_DSP_MEM_BASE
117 /* 0x58000000 --> 0xfc100000 */
118#define DSP_MEM_2420_VIRT 0xfc100000
119#define DSP_MEM_2420_SIZE 0x28000
120#define DSP_IPI_2420_PHYS OMAP2420_DSP_IPI_BASE
121 /* 0x59000000 --> 0xfc128000 */
122#define DSP_IPI_2420_VIRT 0xfc128000
123#define DSP_IPI_2420_SIZE SZ_4K
124#define DSP_MMU_2420_PHYS OMAP2420_DSP_MMU_BASE
125 /* 0x5a000000 --> 0xfc129000 */
126#define DSP_MMU_2420_VIRT 0xfc129000
127#define DSP_MMU_2420_SIZE SZ_4K
128
129/* 2430 IVA2.1 - currently unmapped */
130
131/*
132 * ----------------------------------------------------------------------------
133 * Omap3 specific IO mapping
134 * ----------------------------------------------------------------------------
135 */
136
137/* We map both L3 and L4 on OMAP3 */
138#define L3_34XX_PHYS L3_34XX_BASE /* 0x68000000 --> 0xf8000000 */
139#define L3_34XX_VIRT (L3_34XX_PHYS + OMAP2_L3_IO_OFFSET)
140#define L3_34XX_SIZE SZ_1M /* 44kB of 128MB used, want 1MB sect */
141
142#define L4_34XX_PHYS L4_34XX_BASE /* 0x48000000 --> 0xfa000000 */
143#define L4_34XX_VIRT (L4_34XX_PHYS + OMAP2_L4_IO_OFFSET)
144#define L4_34XX_SIZE SZ_4M /* 1MB of 128MB used, want 1MB sect */
145
146/*
147 * ----------------------------------------------------------------------------
148 * AM33XX specific IO mapping
149 * ----------------------------------------------------------------------------
150 */
151#define L4_WK_AM33XX_PHYS L4_WK_AM33XX_BASE
152#define L4_WK_AM33XX_VIRT (L4_WK_AM33XX_PHYS + AM33XX_L4_WK_IO_OFFSET)
153#define L4_WK_AM33XX_SIZE SZ_4M /* 1MB of 128MB used, want 1MB sect */
154
155/*
156 * Need to look at the Size 4M for L4.
157 * VPOM3430 was not working for Int controller
158 */
159
160#define L4_PER_34XX_PHYS L4_PER_34XX_BASE
161 /* 0x49000000 --> 0xfb000000 */
162#define L4_PER_34XX_VIRT (L4_PER_34XX_PHYS + OMAP2_L4_IO_OFFSET)
163#define L4_PER_34XX_SIZE SZ_1M
164
165#define L4_EMU_34XX_PHYS L4_EMU_34XX_BASE
166 /* 0x54000000 --> 0xfe800000 */
167#define L4_EMU_34XX_VIRT (L4_EMU_34XX_PHYS + OMAP2_EMU_IO_OFFSET)
168#define L4_EMU_34XX_SIZE SZ_8M
169
170#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE
171 /* 0x6e000000 --> 0xfe000000 */
172#define OMAP34XX_GPMC_VIRT (OMAP34XX_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
173#define OMAP34XX_GPMC_SIZE SZ_1M
174
175#define OMAP343X_SMS_PHYS OMAP343X_SMS_BASE
176 /* 0x6c000000 --> 0xfc000000 */
177#define OMAP343X_SMS_VIRT (OMAP343X_SMS_PHYS + OMAP2_L3_IO_OFFSET)
178#define OMAP343X_SMS_SIZE SZ_1M
179
180#define OMAP343X_SDRC_PHYS OMAP343X_SDRC_BASE
181 /* 0x6D000000 --> 0xfd000000 */
182#define OMAP343X_SDRC_VIRT (OMAP343X_SDRC_PHYS + OMAP2_L3_IO_OFFSET)
183#define OMAP343X_SDRC_SIZE SZ_1M
184
185/* 3430 IVA - currently unmapped */
186
187/*
188 * ----------------------------------------------------------------------------
189 * Omap4 specific IO mapping
190 * ----------------------------------------------------------------------------
191 */
192
193/* We map both L3 and L4 on OMAP4 */
194#define L3_44XX_PHYS L3_44XX_BASE /* 0x44000000 --> 0xf8000000 */
195#define L3_44XX_VIRT (L3_44XX_PHYS + OMAP4_L3_IO_OFFSET)
196#define L3_44XX_SIZE SZ_1M
197
198#define L4_44XX_PHYS L4_44XX_BASE /* 0x4a000000 --> 0xfc000000 */
199#define L4_44XX_VIRT (L4_44XX_PHYS + OMAP2_L4_IO_OFFSET)
200#define L4_44XX_SIZE SZ_4M
201
202#define L4_PER_44XX_PHYS L4_PER_44XX_BASE
203 /* 0x48000000 --> 0xfa000000 */
204#define L4_PER_44XX_VIRT (L4_PER_44XX_PHYS + OMAP2_L4_IO_OFFSET)
205#define L4_PER_44XX_SIZE SZ_4M
206
207#define L4_ABE_44XX_PHYS L4_ABE_44XX_BASE
208 /* 0x49000000 --> 0xfb000000 */
209#define L4_ABE_44XX_VIRT (L4_ABE_44XX_PHYS + OMAP2_L4_IO_OFFSET)
210#define L4_ABE_44XX_SIZE SZ_1M
211
212#define L4_EMU_44XX_PHYS L4_EMU_44XX_BASE
213 /* 0x54000000 --> 0xfe800000 */
214#define L4_EMU_44XX_VIRT (L4_EMU_44XX_PHYS + OMAP2_EMU_IO_OFFSET)
215#define L4_EMU_44XX_SIZE SZ_8M
216
217#define OMAP44XX_GPMC_PHYS OMAP44XX_GPMC_BASE
218 /* 0x50000000 --> 0xf9000000 */
219#define OMAP44XX_GPMC_VIRT (OMAP44XX_GPMC_PHYS + OMAP4_GPMC_IO_OFFSET)
220#define OMAP44XX_GPMC_SIZE SZ_1M
221
222
223#define OMAP44XX_EMIF1_PHYS OMAP44XX_EMIF1_BASE
224 /* 0x4c000000 --> 0xfd100000 */
225#define OMAP44XX_EMIF1_VIRT (OMAP44XX_EMIF1_PHYS + OMAP4_L3_PER_IO_OFFSET)
226#define OMAP44XX_EMIF1_SIZE SZ_1M
227
228#define OMAP44XX_EMIF2_PHYS OMAP44XX_EMIF2_BASE
229 /* 0x4d000000 --> 0xfd200000 */
230#define OMAP44XX_EMIF2_SIZE SZ_1M
231#define OMAP44XX_EMIF2_VIRT (OMAP44XX_EMIF1_VIRT + OMAP44XX_EMIF1_SIZE)
232
233#define OMAP44XX_DMM_PHYS OMAP44XX_DMM_BASE
234 /* 0x4e000000 --> 0xfd300000 */
235#define OMAP44XX_DMM_SIZE SZ_1M
236#define OMAP44XX_DMM_VIRT (OMAP44XX_EMIF2_VIRT + OMAP44XX_EMIF2_SIZE)
237/* 63/*
238 * ---------------------------------------------------------------------------- 64 * ----------------------------------------------------------------------------
239 * Omap specific register access 65 * Omap specific register access
diff --git a/arch/arm/plat-omap/include/plat/tc.h b/arch/arm/plat-omap/include/plat/tc.h
index d2fcd789bb9a..83b850f5fc08 100644
--- a/arch/arm/plat-omap/include/plat/tc.h
+++ b/arch/arm/plat-omap/include/plat/tc.h
@@ -89,7 +89,8 @@
89 * from NOR flash (using external chipselect 3) rather than mask ROM, 89 * from NOR flash (using external chipselect 3) rather than mask ROM,
90 * which uses BM to interchange the physical CS0 and CS3 addresses. 90 * which uses BM to interchange the physical CS0 and CS3 addresses.
91 */ 91 */
92static inline u32 omap_cs0_phys(void) 92#ifdef CONFIG_ARCH_OMAP1
93static inline u32 omap_cs0m_phys(void)
93{ 94{
94 return (omap_readl(EMIFS_CONFIG) & OMAP_EMIFS_CONFIG_BM) 95 return (omap_readl(EMIFS_CONFIG) & OMAP_EMIFS_CONFIG_BM)
95 ? OMAP_CS3_PHYS : 0; 96 ? OMAP_CS3_PHYS : 0;
@@ -100,6 +101,7 @@ static inline u32 omap_cs3_phys(void)
100 return (omap_readl(EMIFS_CONFIG) & OMAP_EMIFS_CONFIG_BM) 101 return (omap_readl(EMIFS_CONFIG) & OMAP_EMIFS_CONFIG_BM)
101 ? 0 : OMAP_CS3_PHYS; 102 ? 0 : OMAP_CS3_PHYS;
102} 103}
104#endif
103 105
104#endif /* __ASSEMBLER__ */ 106#endif /* __ASSEMBLER__ */
105 107
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
index 4243bdcc87bc..3022fc267d23 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
@@ -31,11 +31,10 @@
31 31
32#include "sram.h" 32#include "sram.h"
33 33
34/* XXX These "sideways" includes are a sign that something is wrong */ 34/* XXX These "sideways" includes will disappear when sram.c becomes a driver */
35#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) 35#include "../mach-omap2/iomap.h"
36# include "../mach-omap2/prm2xxx_3xxx.h" 36#include "../mach-omap2/prm2xxx_3xxx.h"
37# include "../mach-omap2/sdrc.h" 37#include "../mach-omap2/sdrc.h"
38#endif
39 38
40#define OMAP1_SRAM_PA 0x20000000 39#define OMAP1_SRAM_PA 0x20000000
41#define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800) 40#define OMAP2_SRAM_PUB_PA (OMAP2_SRAM_PA + 0xf800)