Commit 851982c1b6ca18cedf6d01e4529a0c1ddb30771e
Committed by
Eric Miao
1 parent
64ed267bda
Exists in
master
and in
39 other branches
ARM: pxa: Introduce pxa{25x,27x,3xx}_map_io()
This patch introduces pxa2xx_map_io() and pxa3xx_map_io() to distinguish between PXA25x/PXA27x and PXA3xx memory mapping. Also, fixup for platforms broken after introducing pxa{25x,27x}_map_io() and pxa3xx_map_io() is included. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Showing 53 changed files with 143 additions and 86 deletions Side-by-side Diff
- arch/arm/mach-pxa/balloon3.c
- arch/arm/mach-pxa/capc7117.c
- arch/arm/mach-pxa/cm-x2xx.c
- arch/arm/mach-pxa/cm-x300.c
- arch/arm/mach-pxa/colibri-pxa270.c
- arch/arm/mach-pxa/colibri-pxa300.c
- arch/arm/mach-pxa/colibri-pxa320.c
- arch/arm/mach-pxa/corgi.c
- arch/arm/mach-pxa/csb726.c
- arch/arm/mach-pxa/em-x270.c
- arch/arm/mach-pxa/eseries.c
- arch/arm/mach-pxa/ezx.c
- arch/arm/mach-pxa/generic.c
- arch/arm/mach-pxa/generic.h
- arch/arm/mach-pxa/gumstix.c
- arch/arm/mach-pxa/h5000.c
- arch/arm/mach-pxa/himalaya.c
- arch/arm/mach-pxa/hx4700.c
- arch/arm/mach-pxa/icontrol.c
- arch/arm/mach-pxa/idp.c
- arch/arm/mach-pxa/littleton.c
- arch/arm/mach-pxa/lpd270.c
- arch/arm/mach-pxa/lubbock.c
- arch/arm/mach-pxa/magician.c
- arch/arm/mach-pxa/mainstone.c
- arch/arm/mach-pxa/mioa701.c
- arch/arm/mach-pxa/mp900.c
- arch/arm/mach-pxa/palmld.c
- arch/arm/mach-pxa/palmt5.c
- arch/arm/mach-pxa/palmtc.c
- arch/arm/mach-pxa/palmte2.c
- arch/arm/mach-pxa/palmtreo.c
- arch/arm/mach-pxa/palmtx.c
- arch/arm/mach-pxa/palmz72.c
- arch/arm/mach-pxa/pcm027.c
- arch/arm/mach-pxa/poodle.c
- arch/arm/mach-pxa/pxa25x.c
- arch/arm/mach-pxa/pxa27x.c
- arch/arm/mach-pxa/pxa3xx.c
- arch/arm/mach-pxa/raumfeld.c
- arch/arm/mach-pxa/saar.c
- arch/arm/mach-pxa/spitz.c
- arch/arm/mach-pxa/stargate2.c
- arch/arm/mach-pxa/tavorevb.c
- arch/arm/mach-pxa/tavorevb3.c
- arch/arm/mach-pxa/tosa.c
- arch/arm/mach-pxa/trizeps4.c
- arch/arm/mach-pxa/viper.c
- arch/arm/mach-pxa/vpac270.c
- arch/arm/mach-pxa/xcep.c
- arch/arm/mach-pxa/z2.c
- arch/arm/mach-pxa/zeus.c
- arch/arm/mach-pxa/zylonite.c
arch/arm/mach-pxa/balloon3.c
arch/arm/mach-pxa/capc7117.c
... | ... | @@ -149,7 +149,7 @@ |
149 | 149 | MACHINE_START(CAPC7117, |
150 | 150 | "Embedian CAPC-7117 evaluation kit based on the MXM-8x10 CoM") |
151 | 151 | .boot_params = 0xa0000100, |
152 | - .map_io = pxa_map_io, | |
152 | + .map_io = pxa3xx_map_io, | |
153 | 153 | .init_irq = pxa3xx_init_irq, |
154 | 154 | .timer = &pxa_timer, |
155 | 155 | .init_machine = capc7117_init |
arch/arm/mach-pxa/cm-x2xx.c
... | ... | @@ -498,7 +498,12 @@ |
498 | 498 | |
499 | 499 | static void __init cmx2xx_map_io(void) |
500 | 500 | { |
501 | - pxa_map_io(); | |
501 | + if (cpu_is_pxa25x()) | |
502 | + pxa25x_map_io(); | |
503 | + | |
504 | + if (cpu_is_pxa27x()) | |
505 | + pxa27x_map_io(); | |
506 | + | |
502 | 507 | iotable_init(cmx2xx_io_desc, ARRAY_SIZE(cmx2xx_io_desc)); |
503 | 508 | |
504 | 509 | it8152_base_address = CMX2XX_IT8152_VIRT; |
... | ... | @@ -506,7 +511,11 @@ |
506 | 511 | #else |
507 | 512 | static void __init cmx2xx_map_io(void) |
508 | 513 | { |
509 | - pxa_map_io(); | |
514 | + if (cpu_is_pxa25x()) | |
515 | + pxa25x_map_io(); | |
516 | + | |
517 | + if (cpu_is_pxa27x()) | |
518 | + pxa27x_map_io(); | |
510 | 519 | } |
511 | 520 | #endif |
512 | 521 |
arch/arm/mach-pxa/cm-x300.c
arch/arm/mach-pxa/colibri-pxa270.c
... | ... | @@ -209,7 +209,7 @@ |
209 | 209 | MACHINE_START(COLIBRI, "Toradex Colibri PXA270") |
210 | 210 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, |
211 | 211 | .init_machine = colibri_pxa270_init, |
212 | - .map_io = pxa_map_io, | |
212 | + .map_io = pxa27x_map_io, | |
213 | 213 | .init_irq = pxa27x_init_irq, |
214 | 214 | .timer = &pxa_timer, |
215 | 215 | MACHINE_END |
... | ... | @@ -217,7 +217,7 @@ |
217 | 217 | MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC") |
218 | 218 | .boot_params = 0xa0000100, |
219 | 219 | .init_machine = colibri_pxa270_income_init, |
220 | - .map_io = pxa_map_io, | |
220 | + .map_io = pxa27x_map_io, | |
221 | 221 | .init_irq = pxa27x_init_irq, |
222 | 222 | .timer = &pxa_timer, |
223 | 223 | MACHINE_END |
arch/arm/mach-pxa/colibri-pxa300.c
... | ... | @@ -188,7 +188,7 @@ |
188 | 188 | MACHINE_START(COLIBRI300, "Toradex Colibri PXA300") |
189 | 189 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, |
190 | 190 | .init_machine = colibri_pxa300_init, |
191 | - .map_io = pxa_map_io, | |
191 | + .map_io = pxa3xx_map_io, | |
192 | 192 | .init_irq = pxa3xx_init_irq, |
193 | 193 | .timer = &pxa_timer, |
194 | 194 | MACHINE_END |
arch/arm/mach-pxa/colibri-pxa320.c
... | ... | @@ -257,7 +257,7 @@ |
257 | 257 | MACHINE_START(COLIBRI320, "Toradex Colibri PXA320") |
258 | 258 | .boot_params = COLIBRI_SDRAM_BASE + 0x100, |
259 | 259 | .init_machine = colibri_pxa320_init, |
260 | - .map_io = pxa_map_io, | |
260 | + .map_io = pxa3xx_map_io, | |
261 | 261 | .init_irq = pxa3xx_init_irq, |
262 | 262 | .timer = &pxa_timer, |
263 | 263 | MACHINE_END |
arch/arm/mach-pxa/corgi.c
... | ... | @@ -721,7 +721,7 @@ |
721 | 721 | #ifdef CONFIG_MACH_CORGI |
722 | 722 | MACHINE_START(CORGI, "SHARP Corgi") |
723 | 723 | .fixup = fixup_corgi, |
724 | - .map_io = pxa_map_io, | |
724 | + .map_io = pxa25x_map_io, | |
725 | 725 | .init_irq = pxa25x_init_irq, |
726 | 726 | .init_machine = corgi_init, |
727 | 727 | .timer = &pxa_timer, |
... | ... | @@ -731,7 +731,7 @@ |
731 | 731 | #ifdef CONFIG_MACH_SHEPHERD |
732 | 732 | MACHINE_START(SHEPHERD, "SHARP Shepherd") |
733 | 733 | .fixup = fixup_corgi, |
734 | - .map_io = pxa_map_io, | |
734 | + .map_io = pxa25x_map_io, | |
735 | 735 | .init_irq = pxa25x_init_irq, |
736 | 736 | .init_machine = corgi_init, |
737 | 737 | .timer = &pxa_timer, |
... | ... | @@ -741,7 +741,7 @@ |
741 | 741 | #ifdef CONFIG_MACH_HUSKY |
742 | 742 | MACHINE_START(HUSKY, "SHARP Husky") |
743 | 743 | .fixup = fixup_corgi, |
744 | - .map_io = pxa_map_io, | |
744 | + .map_io = pxa25x_map_io, | |
745 | 745 | .init_irq = pxa25x_init_irq, |
746 | 746 | .init_machine = corgi_init, |
747 | 747 | .timer = &pxa_timer, |
arch/arm/mach-pxa/csb726.c
arch/arm/mach-pxa/em-x270.c
... | ... | @@ -1300,7 +1300,7 @@ |
1300 | 1300 | |
1301 | 1301 | MACHINE_START(EM_X270, "Compulab EM-X270") |
1302 | 1302 | .boot_params = 0xa0000100, |
1303 | - .map_io = pxa_map_io, | |
1303 | + .map_io = pxa27x_map_io, | |
1304 | 1304 | .init_irq = pxa27x_init_irq, |
1305 | 1305 | .timer = &pxa_timer, |
1306 | 1306 | .init_machine = em_x270_init, |
... | ... | @@ -1308,7 +1308,7 @@ |
1308 | 1308 | |
1309 | 1309 | MACHINE_START(EXEDA, "Compulab eXeda") |
1310 | 1310 | .boot_params = 0xa0000100, |
1311 | - .map_io = pxa_map_io, | |
1311 | + .map_io = pxa27x_map_io, | |
1312 | 1312 | .init_irq = pxa27x_init_irq, |
1313 | 1313 | .timer = &pxa_timer, |
1314 | 1314 | .init_machine = em_x270_init, |
arch/arm/mach-pxa/eseries.c
... | ... | @@ -181,7 +181,7 @@ |
181 | 181 | MACHINE_START(E330, "Toshiba e330") |
182 | 182 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
183 | 183 | .boot_params = 0xa0000100, |
184 | - .map_io = pxa_map_io, | |
184 | + .map_io = pxa25x_map_io, | |
185 | 185 | .nr_irqs = ESERIES_NR_IRQS, |
186 | 186 | .init_irq = pxa25x_init_irq, |
187 | 187 | .fixup = eseries_fixup, |
... | ... | @@ -230,7 +230,7 @@ |
230 | 230 | MACHINE_START(E350, "Toshiba e350") |
231 | 231 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
232 | 232 | .boot_params = 0xa0000100, |
233 | - .map_io = pxa_map_io, | |
233 | + .map_io = pxa25x_map_io, | |
234 | 234 | .nr_irqs = ESERIES_NR_IRQS, |
235 | 235 | .init_irq = pxa25x_init_irq, |
236 | 236 | .fixup = eseries_fixup, |
... | ... | @@ -352,7 +352,7 @@ |
352 | 352 | MACHINE_START(E400, "Toshiba e400") |
353 | 353 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
354 | 354 | .boot_params = 0xa0000100, |
355 | - .map_io = pxa_map_io, | |
355 | + .map_io = pxa25x_map_io, | |
356 | 356 | .nr_irqs = ESERIES_NR_IRQS, |
357 | 357 | .init_irq = pxa25x_init_irq, |
358 | 358 | .fixup = eseries_fixup, |
... | ... | @@ -540,7 +540,7 @@ |
540 | 540 | MACHINE_START(E740, "Toshiba e740") |
541 | 541 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
542 | 542 | .boot_params = 0xa0000100, |
543 | - .map_io = pxa_map_io, | |
543 | + .map_io = pxa25x_map_io, | |
544 | 544 | .nr_irqs = ESERIES_NR_IRQS, |
545 | 545 | .init_irq = pxa25x_init_irq, |
546 | 546 | .fixup = eseries_fixup, |
... | ... | @@ -731,7 +731,7 @@ |
731 | 731 | MACHINE_START(E750, "Toshiba e750") |
732 | 732 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
733 | 733 | .boot_params = 0xa0000100, |
734 | - .map_io = pxa_map_io, | |
734 | + .map_io = pxa25x_map_io, | |
735 | 735 | .nr_irqs = ESERIES_NR_IRQS, |
736 | 736 | .init_irq = pxa25x_init_irq, |
737 | 737 | .fixup = eseries_fixup, |
... | ... | @@ -926,7 +926,7 @@ |
926 | 926 | MACHINE_START(E800, "Toshiba e800") |
927 | 927 | /* Maintainer: Ian Molton (spyro@f2s.com) */ |
928 | 928 | .boot_params = 0xa0000100, |
929 | - .map_io = pxa_map_io, | |
929 | + .map_io = pxa25x_map_io, | |
930 | 930 | .nr_irqs = ESERIES_NR_IRQS, |
931 | 931 | .init_irq = pxa25x_init_irq, |
932 | 932 | .fixup = eseries_fixup, |
arch/arm/mach-pxa/ezx.c
... | ... | @@ -798,7 +798,7 @@ |
798 | 798 | |
799 | 799 | MACHINE_START(EZX_A780, "Motorola EZX A780") |
800 | 800 | .boot_params = 0xa0000100, |
801 | - .map_io = pxa_map_io, | |
801 | + .map_io = pxa27x_map_io, | |
802 | 802 | .nr_irqs = EZX_NR_IRQS, |
803 | 803 | .init_irq = pxa27x_init_irq, |
804 | 804 | .timer = &pxa_timer, |
... | ... | @@ -863,7 +863,7 @@ |
863 | 863 | |
864 | 864 | MACHINE_START(EZX_E680, "Motorola EZX E680") |
865 | 865 | .boot_params = 0xa0000100, |
866 | - .map_io = pxa_map_io, | |
866 | + .map_io = pxa27x_map_io, | |
867 | 867 | .nr_irqs = EZX_NR_IRQS, |
868 | 868 | .init_irq = pxa27x_init_irq, |
869 | 869 | .timer = &pxa_timer, |
... | ... | @@ -928,7 +928,7 @@ |
928 | 928 | |
929 | 929 | MACHINE_START(EZX_A1200, "Motorola EZX A1200") |
930 | 930 | .boot_params = 0xa0000100, |
931 | - .map_io = pxa_map_io, | |
931 | + .map_io = pxa27x_map_io, | |
932 | 932 | .nr_irqs = EZX_NR_IRQS, |
933 | 933 | .init_irq = pxa27x_init_irq, |
934 | 934 | .timer = &pxa_timer, |
... | ... | @@ -1118,7 +1118,7 @@ |
1118 | 1118 | |
1119 | 1119 | MACHINE_START(EZX_A910, "Motorola EZX A910") |
1120 | 1120 | .boot_params = 0xa0000100, |
1121 | - .map_io = pxa_map_io, | |
1121 | + .map_io = pxa27x_map_io, | |
1122 | 1122 | .nr_irqs = EZX_NR_IRQS, |
1123 | 1123 | .init_irq = pxa27x_init_irq, |
1124 | 1124 | .timer = &pxa_timer, |
... | ... | @@ -1183,7 +1183,7 @@ |
1183 | 1183 | |
1184 | 1184 | MACHINE_START(EZX_E6, "Motorola EZX E6") |
1185 | 1185 | .boot_params = 0xa0000100, |
1186 | - .map_io = pxa_map_io, | |
1186 | + .map_io = pxa27x_map_io, | |
1187 | 1187 | .nr_irqs = EZX_NR_IRQS, |
1188 | 1188 | .init_irq = pxa27x_init_irq, |
1189 | 1189 | .timer = &pxa_timer, |
... | ... | @@ -1222,7 +1222,7 @@ |
1222 | 1222 | |
1223 | 1223 | MACHINE_START(EZX_E2, "Motorola EZX E2") |
1224 | 1224 | .boot_params = 0xa0000100, |
1225 | - .map_io = pxa_map_io, | |
1225 | + .map_io = pxa27x_map_io, | |
1226 | 1226 | .nr_irqs = EZX_NR_IRQS, |
1227 | 1227 | .init_irq = pxa27x_init_irq, |
1228 | 1228 | .timer = &pxa_timer, |
arch/arm/mach-pxa/generic.c
... | ... | @@ -86,27 +86,15 @@ |
86 | 86 | /* |
87 | 87 | * Intel PXA2xx internal register mapping. |
88 | 88 | * |
89 | - * Note 1: not all PXA2xx variants implement all those addresses. | |
90 | - * | |
91 | - * Note 2: virtual 0xfffe0000-0xffffffff is reserved for the vector table | |
92 | - * and cache flush area. | |
89 | + * Note: virtual 0xfffe0000-0xffffffff is reserved for the vector table | |
90 | + * and cache flush area. | |
93 | 91 | */ |
94 | -static struct map_desc standard_io_desc[] __initdata = { | |
92 | +static struct map_desc common_io_desc[] __initdata = { | |
95 | 93 | { /* Devs */ |
96 | 94 | .virtual = 0xf2000000, |
97 | 95 | .pfn = __phys_to_pfn(0x40000000), |
98 | 96 | .length = 0x02000000, |
99 | 97 | .type = MT_DEVICE |
100 | - }, { /* Mem Ctl */ | |
101 | - .virtual = 0xf6000000, | |
102 | - .pfn = __phys_to_pfn(0x48000000), | |
103 | - .length = 0x00200000, | |
104 | - .type = MT_DEVICE | |
105 | - }, { /* IMem ctl */ | |
106 | - .virtual = 0xfe000000, | |
107 | - .pfn = __phys_to_pfn(0x58000000), | |
108 | - .length = 0x00100000, | |
109 | - .type = MT_DEVICE | |
110 | 98 | }, { /* UNCACHED_PHYS_0 */ |
111 | 99 | .virtual = 0xff000000, |
112 | 100 | .pfn = __phys_to_pfn(0x00000000), |
... | ... | @@ -117,7 +105,6 @@ |
117 | 105 | |
118 | 106 | void __init pxa_map_io(void) |
119 | 107 | { |
120 | - iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc)); | |
121 | - get_clk_frequency_khz(1); | |
108 | + iotable_init(ARRAY_AND_SIZE(common_io_desc)); | |
122 | 109 | } |
arch/arm/mach-pxa/generic.h
... | ... | @@ -20,7 +20,11 @@ |
20 | 20 | #endif |
21 | 21 | extern void __init pxa27x_init_irq(void); |
22 | 22 | extern void __init pxa3xx_init_irq(void); |
23 | + | |
23 | 24 | extern void __init pxa_map_io(void); |
25 | +extern void __init pxa25x_map_io(void); | |
26 | +extern void __init pxa27x_map_io(void); | |
27 | +extern void __init pxa3xx_map_io(void); | |
24 | 28 | |
25 | 29 | extern unsigned int get_clk_frequency_khz(int info); |
26 | 30 |
arch/arm/mach-pxa/gumstix.c
... | ... | @@ -225,7 +225,7 @@ |
225 | 225 | |
226 | 226 | MACHINE_START(GUMSTIX, "Gumstix") |
227 | 227 | .boot_params = 0xa0000100, /* match u-boot bi_boot_params */ |
228 | - .map_io = pxa_map_io, | |
228 | + .map_io = pxa25x_map_io, | |
229 | 229 | .init_irq = pxa25x_init_irq, |
230 | 230 | .timer = &pxa_timer, |
231 | 231 | .init_machine = gumstix_init, |
arch/arm/mach-pxa/h5000.c
arch/arm/mach-pxa/himalaya.c
arch/arm/mach-pxa/hx4700.c
arch/arm/mach-pxa/icontrol.c
... | ... | @@ -192,7 +192,7 @@ |
192 | 192 | |
193 | 193 | MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM") |
194 | 194 | .boot_params = 0xa0000100, |
195 | - .map_io = pxa_map_io, | |
195 | + .map_io = pxa3xx_map_io, | |
196 | 196 | .init_irq = pxa3xx_init_irq, |
197 | 197 | .timer = &pxa_timer, |
198 | 198 | .init_machine = icontrol_init |
arch/arm/mach-pxa/idp.c
arch/arm/mach-pxa/littleton.c
... | ... | @@ -438,7 +438,7 @@ |
438 | 438 | |
439 | 439 | MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleton)") |
440 | 440 | .boot_params = 0xa0000100, |
441 | - .map_io = pxa_map_io, | |
441 | + .map_io = pxa3xx_map_io, | |
442 | 442 | .nr_irqs = LITTLETON_NR_IRQS, |
443 | 443 | .init_irq = pxa3xx_init_irq, |
444 | 444 | .timer = &pxa_timer, |
arch/arm/mach-pxa/lpd270.c
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/magician.c
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/mp900.c
arch/arm/mach-pxa/palmld.c
arch/arm/mach-pxa/palmt5.c
arch/arm/mach-pxa/palmtc.c
arch/arm/mach-pxa/palmte2.c
arch/arm/mach-pxa/palmtreo.c
... | ... | @@ -442,7 +442,7 @@ |
442 | 442 | |
443 | 443 | MACHINE_START(TREO680, "Palm Treo 680") |
444 | 444 | .boot_params = 0xa0000100, |
445 | - .map_io = pxa_map_io, | |
445 | + .map_io = pxa27x_map_io, | |
446 | 446 | .reserve = treo_reserve, |
447 | 447 | .init_irq = pxa27x_init_irq, |
448 | 448 | .timer = &pxa_timer, |
... | ... | @@ -451,7 +451,7 @@ |
451 | 451 | |
452 | 452 | MACHINE_START(CENTRO, "Palm Centro 685") |
453 | 453 | .boot_params = 0xa0000100, |
454 | - .map_io = pxa_map_io, | |
454 | + .map_io = pxa27x_map_io, | |
455 | 455 | .reserve = treo_reserve, |
456 | 456 | .init_irq = pxa27x_init_irq, |
457 | 457 | .timer = &pxa_timer, |
arch/arm/mach-pxa/palmtx.c
arch/arm/mach-pxa/palmz72.c
arch/arm/mach-pxa/pcm027.c
arch/arm/mach-pxa/poodle.c
arch/arm/mach-pxa/pxa25x.c
... | ... | @@ -23,6 +23,7 @@ |
23 | 23 | #include <linux/suspend.h> |
24 | 24 | #include <linux/sysdev.h> |
25 | 25 | |
26 | +#include <asm/mach/map.h> | |
26 | 27 | #include <mach/hardware.h> |
27 | 28 | #include <mach/irqs.h> |
28 | 29 | #include <mach/gpio.h> |
... | ... | @@ -319,6 +320,22 @@ |
319 | 320 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 89, pxa25x_set_wake); |
320 | 321 | } |
321 | 322 | #endif |
323 | + | |
324 | +static struct map_desc pxa25x_io_desc[] __initdata = { | |
325 | + { /* Mem Ctl */ | |
326 | + .virtual = 0xf6000000, | |
327 | + .pfn = __phys_to_pfn(0x48000000), | |
328 | + .length = 0x00200000, | |
329 | + .type = MT_DEVICE | |
330 | + }, | |
331 | +}; | |
332 | + | |
333 | +void __init pxa25x_map_io(void) | |
334 | +{ | |
335 | + pxa_map_io(); | |
336 | + iotable_init(ARRAY_AND_SIZE(pxa25x_io_desc)); | |
337 | + pxa25x_get_clk_frequency_khz(1); | |
338 | +} | |
322 | 339 | |
323 | 340 | static struct platform_device *pxa25x_devices[] __initdata = { |
324 | 341 | &pxa25x_device_udc, |
arch/arm/mach-pxa/pxa27x.c
... | ... | @@ -18,6 +18,7 @@ |
18 | 18 | #include <linux/platform_device.h> |
19 | 19 | #include <linux/sysdev.h> |
20 | 20 | |
21 | +#include <asm/mach/map.h> | |
21 | 22 | #include <mach/hardware.h> |
22 | 23 | #include <asm/irq.h> |
23 | 24 | #include <mach/irqs.h> |
... | ... | @@ -368,6 +369,27 @@ |
368 | 369 | { |
369 | 370 | pxa_init_irq(34, pxa27x_set_wake); |
370 | 371 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 120, pxa27x_set_wake); |
372 | +} | |
373 | + | |
374 | +static struct map_desc pxa27x_io_desc[] __initdata = { | |
375 | + { /* Mem Ctl */ | |
376 | + .virtual = 0xf6000000, | |
377 | + .pfn = __phys_to_pfn(0x48000000), | |
378 | + .length = 0x00200000, | |
379 | + .type = MT_DEVICE | |
380 | + }, { /* IMem ctl */ | |
381 | + .virtual = 0xfe000000, | |
382 | + .pfn = __phys_to_pfn(0x58000000), | |
383 | + .length = 0x00100000, | |
384 | + .type = MT_DEVICE | |
385 | + }, | |
386 | +}; | |
387 | + | |
388 | +void __init pxa27x_map_io(void) | |
389 | +{ | |
390 | + pxa_map_io(); | |
391 | + iotable_init(ARRAY_AND_SIZE(pxa27x_io_desc)); | |
392 | + pxa27x_get_clk_frequency_khz(1); | |
371 | 393 | } |
372 | 394 | |
373 | 395 | /* |
arch/arm/mach-pxa/pxa3xx.c
... | ... | @@ -22,6 +22,7 @@ |
22 | 22 | #include <linux/io.h> |
23 | 23 | #include <linux/sysdev.h> |
24 | 24 | |
25 | +#include <asm/mach/map.h> | |
25 | 26 | #include <mach/hardware.h> |
26 | 27 | #include <mach/gpio.h> |
27 | 28 | #include <mach/pxa3xx-regs.h> |
... | ... | @@ -578,6 +579,22 @@ |
578 | 579 | pxa_init_irq(56, pxa3xx_set_wake); |
579 | 580 | pxa_init_ext_wakeup_irq(pxa3xx_set_wake); |
580 | 581 | pxa_init_gpio(IRQ_GPIO_2_x, 2, 127, NULL); |
582 | +} | |
583 | + | |
584 | +static struct map_desc pxa3xx_io_desc[] __initdata = { | |
585 | + { /* Mem Ctl */ | |
586 | + .virtual = 0xf6000000, | |
587 | + .pfn = __phys_to_pfn(0x4a000000), | |
588 | + .length = 0x00200000, | |
589 | + .type = MT_DEVICE | |
590 | + } | |
591 | +}; | |
592 | + | |
593 | +void __init pxa3xx_map_io(void) | |
594 | +{ | |
595 | + pxa_map_io(); | |
596 | + iotable_init(ARRAY_AND_SIZE(pxa3xx_io_desc)); | |
597 | + pxa3xx_get_clk_frequency_khz(1); | |
581 | 598 | } |
582 | 599 | |
583 | 600 | /* |
arch/arm/mach-pxa/raumfeld.c
... | ... | @@ -1085,7 +1085,7 @@ |
1085 | 1085 | MACHINE_START(RAUMFELD_RC, "Raumfeld Controller") |
1086 | 1086 | .boot_params = RAUMFELD_SDRAM_BASE + 0x100, |
1087 | 1087 | .init_machine = raumfeld_controller_init, |
1088 | - .map_io = pxa_map_io, | |
1088 | + .map_io = pxa3xx_map_io, | |
1089 | 1089 | .init_irq = pxa3xx_init_irq, |
1090 | 1090 | .timer = &pxa_timer, |
1091 | 1091 | MACHINE_END |
... | ... | @@ -1095,7 +1095,7 @@ |
1095 | 1095 | MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector") |
1096 | 1096 | .boot_params = RAUMFELD_SDRAM_BASE + 0x100, |
1097 | 1097 | .init_machine = raumfeld_connector_init, |
1098 | - .map_io = pxa_map_io, | |
1098 | + .map_io = pxa3xx_map_io, | |
1099 | 1099 | .init_irq = pxa3xx_init_irq, |
1100 | 1100 | .timer = &pxa_timer, |
1101 | 1101 | MACHINE_END |
... | ... | @@ -1105,7 +1105,7 @@ |
1105 | 1105 | MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker") |
1106 | 1106 | .boot_params = RAUMFELD_SDRAM_BASE + 0x100, |
1107 | 1107 | .init_machine = raumfeld_speaker_init, |
1108 | - .map_io = pxa_map_io, | |
1108 | + .map_io = pxa3xx_map_io, | |
1109 | 1109 | .init_irq = pxa3xx_init_irq, |
1110 | 1110 | .timer = &pxa_timer, |
1111 | 1111 | MACHINE_END |
arch/arm/mach-pxa/saar.c
... | ... | @@ -597,7 +597,7 @@ |
597 | 597 | MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)") |
598 | 598 | /* Maintainer: Eric Miao <eric.miao@marvell.com> */ |
599 | 599 | .boot_params = 0xa0000100, |
600 | - .map_io = pxa_map_io, | |
600 | + .map_io = pxa3xx_map_io, | |
601 | 601 | .init_irq = pxa3xx_init_irq, |
602 | 602 | .timer = &pxa_timer, |
603 | 603 | .init_machine = saar_init, |
arch/arm/mach-pxa/spitz.c
... | ... | @@ -27,6 +27,7 @@ |
27 | 27 | #include <linux/mtd/sharpsl.h> |
28 | 28 | #include <linux/input/matrix_keypad.h> |
29 | 29 | #include <linux/regulator/machine.h> |
30 | +#include <linux/io.h> | |
30 | 31 | |
31 | 32 | #include <asm/setup.h> |
32 | 33 | #include <asm/mach-types.h> |
... | ... | @@ -980,7 +981,7 @@ |
980 | 981 | #ifdef CONFIG_MACH_SPITZ |
981 | 982 | MACHINE_START(SPITZ, "SHARP Spitz") |
982 | 983 | .fixup = spitz_fixup, |
983 | - .map_io = pxa_map_io, | |
984 | + .map_io = pxa27x_map_io, | |
984 | 985 | .init_irq = pxa27x_init_irq, |
985 | 986 | .init_machine = spitz_init, |
986 | 987 | .timer = &pxa_timer, |
... | ... | @@ -990,7 +991,7 @@ |
990 | 991 | #ifdef CONFIG_MACH_BORZOI |
991 | 992 | MACHINE_START(BORZOI, "SHARP Borzoi") |
992 | 993 | .fixup = spitz_fixup, |
993 | - .map_io = pxa_map_io, | |
994 | + .map_io = pxa27x_map_io, | |
994 | 995 | .init_irq = pxa27x_init_irq, |
995 | 996 | .init_machine = spitz_init, |
996 | 997 | .timer = &pxa_timer, |
... | ... | @@ -1000,7 +1001,7 @@ |
1000 | 1001 | #ifdef CONFIG_MACH_AKITA |
1001 | 1002 | MACHINE_START(AKITA, "SHARP Akita") |
1002 | 1003 | .fixup = spitz_fixup, |
1003 | - .map_io = pxa_map_io, | |
1004 | + .map_io = pxa27x_map_io, | |
1004 | 1005 | .init_irq = pxa27x_init_irq, |
1005 | 1006 | .init_machine = spitz_init, |
1006 | 1007 | .timer = &pxa_timer, |
arch/arm/mach-pxa/stargate2.c
... | ... | @@ -998,7 +998,7 @@ |
998 | 998 | |
999 | 999 | #ifdef CONFIG_MACH_INTELMOTE2 |
1000 | 1000 | MACHINE_START(INTELMOTE2, "IMOTE 2") |
1001 | - .map_io = pxa_map_io, | |
1001 | + .map_io = pxa27x_map_io, | |
1002 | 1002 | .init_irq = pxa27x_init_irq, |
1003 | 1003 | .timer = &pxa_timer, |
1004 | 1004 | .init_machine = imote2_init, |
... | ... | @@ -1008,7 +1008,7 @@ |
1008 | 1008 | |
1009 | 1009 | #ifdef CONFIG_MACH_STARGATE2 |
1010 | 1010 | MACHINE_START(STARGATE2, "Stargate 2") |
1011 | - .map_io = pxa_map_io, | |
1011 | + .map_io = pxa27x_map_io, | |
1012 | 1012 | .nr_irqs = STARGATE_NR_IRQS, |
1013 | 1013 | .init_irq = pxa27x_init_irq, |
1014 | 1014 | .timer = &pxa_timer, |
arch/arm/mach-pxa/tavorevb.c
... | ... | @@ -490,7 +490,7 @@ |
490 | 490 | MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)") |
491 | 491 | /* Maintainer: Eric Miao <eric.miao@marvell.com> */ |
492 | 492 | .boot_params = 0xa0000100, |
493 | - .map_io = pxa_map_io, | |
493 | + .map_io = pxa3xx_map_io, | |
494 | 494 | .init_irq = pxa3xx_init_irq, |
495 | 495 | .timer = &pxa_timer, |
496 | 496 | .init_machine = tavorevb_init, |
arch/arm/mach-pxa/tavorevb3.c
... | ... | @@ -127,7 +127,7 @@ |
127 | 127 | |
128 | 128 | MACHINE_START(TAVOREVB3, "PXA950 Evaluation Board (aka TavorEVB3)") |
129 | 129 | .boot_params = 0xa0000100, |
130 | - .map_io = pxa_map_io, | |
130 | + .map_io = pxa3xx_map_io, | |
131 | 131 | .nr_irqs = TAVOREVB3_NR_IRQS, |
132 | 132 | .init_irq = pxa3xx_init_irq, |
133 | 133 | .timer = &pxa_timer, |
arch/arm/mach-pxa/tosa.c
arch/arm/mach-pxa/trizeps4.c
arch/arm/mach-pxa/viper.c
arch/arm/mach-pxa/vpac270.c
arch/arm/mach-pxa/xcep.c
arch/arm/mach-pxa/z2.c
arch/arm/mach-pxa/zeus.c
arch/arm/mach-pxa/zylonite.c
... | ... | @@ -423,7 +423,7 @@ |
423 | 423 | |
424 | 424 | MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)") |
425 | 425 | .boot_params = 0xa0000100, |
426 | - .map_io = pxa_map_io, | |
426 | + .map_io = pxa3xx_map_io, | |
427 | 427 | .nr_irqs = ZYLONITE_NR_IRQS, |
428 | 428 | .init_irq = pxa3xx_init_irq, |
429 | 429 | .timer = &pxa_timer, |