aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Liu <jason.hui@linaro.org>2011-09-09 05:17:49 -0400
committerSascha Hauer <s.hauer@pengutronix.de>2011-09-20 03:55:06 -0400
commit4c54239058772160da123167de89603830815a88 (patch)
tree48d31a9b008f19e8fcfd25feb819eb4a581e5704
parent281e10da20dcae1730a1aa37356da0688bde989e (diff)
ARM: mx5/mm: consolidate TZIC map code
Use a static mapping for TZIC to get rid of the duplicated code for ioremap and the corresponding error handling. This is already done on i.MX50. This patch also removes TZIC mapping for i.mx51 TO1 since there is no support for TO1 now since the following commit: 9ab4650 (ARM: imx: Get the silicon version from the IIM module) Signed-off-by: Jason Liu <jason.hui@linaro.org> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-rw-r--r--arch/arm/mach-mx5/mm.c27
-rw-r--r--arch/arm/plat-mxc/include/mach/hardware.h6
-rw-r--r--arch/arm/plat-mxc/include/mach/mx51.h4
-rw-r--r--arch/arm/plat-mxc/include/mach/mx53.h1
4 files changed, 12 insertions, 26 deletions
diff --git a/arch/arm/mach-mx5/mm.c b/arch/arm/mach-mx5/mm.c
index 0002b6815b0d..80998b0d3222 100644
--- a/arch/arm/mach-mx5/mm.c
+++ b/arch/arm/mach-mx5/mm.c
@@ -35,6 +35,7 @@ static struct map_desc mx50_io_desc[] __initdata = {
35 * Define the MX51 memory map. 35 * Define the MX51 memory map.
36 */ 36 */
37static struct map_desc mx51_io_desc[] __initdata = { 37static struct map_desc mx51_io_desc[] __initdata = {
38 imx_map_entry(MX51, TZIC, MT_DEVICE),
38 imx_map_entry(MX51, IRAM, MT_DEVICE), 39 imx_map_entry(MX51, IRAM, MT_DEVICE),
39 imx_map_entry(MX51, AIPS1, MT_DEVICE), 40 imx_map_entry(MX51, AIPS1, MT_DEVICE),
40 imx_map_entry(MX51, SPBA0, MT_DEVICE), 41 imx_map_entry(MX51, SPBA0, MT_DEVICE),
@@ -45,6 +46,7 @@ static struct map_desc mx51_io_desc[] __initdata = {
45 * Define the MX53 memory map. 46 * Define the MX53 memory map.
46 */ 47 */
47static struct map_desc mx53_io_desc[] __initdata = { 48static struct map_desc mx53_io_desc[] __initdata = {
49 imx_map_entry(MX53, TZIC, MT_DEVICE),
48 imx_map_entry(MX53, AIPS1, MT_DEVICE), 50 imx_map_entry(MX53, AIPS1, MT_DEVICE),
49 imx_map_entry(MX53, SPBA0, MT_DEVICE), 51 imx_map_entry(MX53, SPBA0, MT_DEVICE),
50 imx_map_entry(MX53, AIPS2, MT_DEVICE), 52 imx_map_entry(MX53, AIPS2, MT_DEVICE),
@@ -98,33 +100,12 @@ void __init mx50_init_irq(void)
98 100
99void __init mx51_init_irq(void) 101void __init mx51_init_irq(void)
100{ 102{
101 unsigned long tzic_addr; 103 tzic_init_irq(MX51_IO_ADDRESS(MX51_TZIC_BASE_ADDR));
102 void __iomem *tzic_virt;
103
104 if (mx51_revision() < IMX_CHIP_REVISION_2_0)
105 tzic_addr = MX51_TZIC_BASE_ADDR_TO1;
106 else
107 tzic_addr = MX51_TZIC_BASE_ADDR;
108
109 tzic_virt = ioremap(tzic_addr, SZ_16K);
110 if (!tzic_virt)
111 panic("unable to map TZIC interrupt controller\n");
112
113 tzic_init_irq(tzic_virt);
114} 104}
115 105
116void __init mx53_init_irq(void) 106void __init mx53_init_irq(void)
117{ 107{
118 unsigned long tzic_addr; 108 tzic_init_irq(MX53_IO_ADDRESS(MX53_TZIC_BASE_ADDR));
119 void __iomem *tzic_virt;
120
121 tzic_addr = MX53_TZIC_BASE_ADDR;
122
123 tzic_virt = ioremap(tzic_addr, SZ_16K);
124 if (!tzic_virt)
125 panic("unable to map TZIC interrupt controller\n");
126
127 tzic_init_irq(tzic_virt);
128} 109}
129 110
130static struct sdma_script_start_addrs imx51_sdma_script __initdata = { 111static struct sdma_script_start_addrs imx51_sdma_script __initdata = {
diff --git a/arch/arm/plat-mxc/include/mach/hardware.h b/arch/arm/plat-mxc/include/mach/hardware.h
index 33728aa2af47..264a2ee518f8 100644
--- a/arch/arm/plat-mxc/include/mach/hardware.h
+++ b/arch/arm/plat-mxc/include/mach/hardware.h
@@ -81,10 +81,16 @@
81 * AIPS1 0x53f00000+0x100000 -> 0xf5700000+0x100000 81 * AIPS1 0x53f00000+0x100000 -> 0xf5700000+0x100000
82 * AIPS2 0x63f00000+0x100000 -> 0xf5300000+0x100000 82 * AIPS2 0x63f00000+0x100000 -> 0xf5300000+0x100000
83 * mx51: 83 * mx51:
84 * TZIC 0xe0000000+0x004000 -> 0xf5000000+0x004000
84 * IRAM 0x1ffe0000+0x020000 -> 0xf4fe0000+0x020000 85 * IRAM 0x1ffe0000+0x020000 -> 0xf4fe0000+0x020000
85 * SPBA0 0x70000000+0x100000 -> 0xf5400000+0x100000 86 * SPBA0 0x70000000+0x100000 -> 0xf5400000+0x100000
86 * AIPS1 0x73f00000+0x100000 -> 0xf5700000+0x100000 87 * AIPS1 0x73f00000+0x100000 -> 0xf5700000+0x100000
87 * AIPS2 0x83f00000+0x100000 -> 0xf4300000+0x100000 88 * AIPS2 0x83f00000+0x100000 -> 0xf4300000+0x100000
89 * mx53:
90 * TZIC 0x0fffc000+0x004000 -> 0xf4bfc000+0x004000
91 * SPBA0 0x50000000+0x100000 -> 0xf5400000+0x100000
92 * AIPS1 0x53f00000+0x100000 -> 0xf5700000+0x100000
93 * AIPS2 0x63f00000+0x100000 -> 0xf5300000+0x100000
88 */ 94 */
89#define IMX_IO_P2V(x) ( \ 95#define IMX_IO_P2V(x) ( \
90 0xf4000000 + \ 96 0xf4000000 + \
diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h
index 652f2b051297..ba8855033e21 100644
--- a/arch/arm/plat-mxc/include/mach/mx51.h
+++ b/arch/arm/plat-mxc/include/mach/mx51.h
@@ -120,6 +120,7 @@
120 120
121#define MX51_GPU2D_BASE_ADDR 0xd0000000 121#define MX51_GPU2D_BASE_ADDR 0xd0000000
122#define MX51_TZIC_BASE_ADDR 0xe0000000 122#define MX51_TZIC_BASE_ADDR 0xe0000000
123#define MX51_TZIC_SIZE SZ_16K
123 124
124#define MX51_IO_P2V(x) IMX_IO_P2V(x) 125#define MX51_IO_P2V(x) IMX_IO_P2V(x)
125#define MX51_IO_ADDRESS(x) IOMEM(MX51_IO_P2V(x)) 126#define MX51_IO_ADDRESS(x) IOMEM(MX51_IO_P2V(x))
@@ -338,7 +339,4 @@ extern int mx51_revision(void);
338extern void mx51_display_revision(void); 339extern void mx51_display_revision(void);
339#endif 340#endif
340 341
341/* tape-out 1 defines */
342#define MX51_TZIC_BASE_ADDR_TO1 0x8fffc000
343
344#endif /* ifndef __MACH_MX51_H__ */ 342#endif /* ifndef __MACH_MX51_H__ */
diff --git a/arch/arm/plat-mxc/include/mach/mx53.h b/arch/arm/plat-mxc/include/mach/mx53.h
index 5e3c3236ebf3..a37e8c353994 100644
--- a/arch/arm/plat-mxc/include/mach/mx53.h
+++ b/arch/arm/plat-mxc/include/mach/mx53.h
@@ -9,6 +9,7 @@
9 9
10/* TZIC */ 10/* TZIC */
11#define MX53_TZIC_BASE_ADDR 0x0FFFC000 11#define MX53_TZIC_BASE_ADDR 0x0FFFC000
12#define MX53_TZIC_SIZE SZ_16K
12 13
13/* 14/*
14 * AHCI SATA 15 * AHCI SATA