Commit 851982c1b6ca18cedf6d01e4529a0c1ddb30771e

Authored by Marek Vasut
Committed by Eric Miao
1 parent 64ed267bda

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
... ... @@ -802,7 +802,7 @@
802 802  
803 803 static void __init balloon3_map_io(void)
804 804 {
805   - pxa_map_io();
  805 + pxa27x_map_io();
806 806 iotable_init(balloon3_io_desc, ARRAY_SIZE(balloon3_io_desc));
807 807 }
808 808  
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
... ... @@ -857,7 +857,7 @@
857 857  
858 858 MACHINE_START(CM_X300, "CM-X300 module")
859 859 .boot_params = 0xa0000100,
860   - .map_io = pxa_map_io,
  860 + .map_io = pxa3xx_map_io,
861 861 .init_irq = pxa3xx_init_irq,
862 862 .timer = &pxa_timer,
863 863 .init_machine = cm_x300_init,
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
... ... @@ -273,7 +273,7 @@
273 273  
274 274 MACHINE_START(CSB726, "Cogent CSB726")
275 275 .boot_params = 0xa0000100,
276   - .map_io = pxa_map_io,
  276 + .map_io = pxa27x_map_io,
277 277 .init_irq = pxa27x_init_irq,
278 278 .init_machine = csb726_init,
279 279 .timer = &pxa_timer,
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
... ... @@ -202,7 +202,7 @@
202 202  
203 203 MACHINE_START(H5400, "HP iPAQ H5000")
204 204 .boot_params = 0xa0000100,
205   - .map_io = pxa_map_io,
  205 + .map_io = pxa25x_map_io,
206 206 .init_irq = pxa25x_init_irq,
207 207 .timer = &pxa_timer,
208 208 .init_machine = h5000_init,
arch/arm/mach-pxa/himalaya.c
... ... @@ -160,7 +160,7 @@
160 160  
161 161 MACHINE_START(HIMALAYA, "HTC Himalaya")
162 162 .boot_params = 0xa0000100,
163   - .map_io = pxa_map_io,
  163 + .map_io = pxa25x_map_io,
164 164 .init_irq = pxa25x_init_irq,
165 165 .init_machine = himalaya_init,
166 166 .timer = &pxa_timer,
arch/arm/mach-pxa/hx4700.c
... ... @@ -871,7 +871,7 @@
871 871  
872 872 MACHINE_START(H4700, "HP iPAQ HX4700")
873 873 .boot_params = 0xa0000100,
874   - .map_io = pxa_map_io,
  874 + .map_io = pxa27x_map_io,
875 875 .nr_irqs = HX4700_NR_IRQS,
876 876 .init_irq = pxa27x_init_irq,
877 877 .init_machine = hx4700_init,
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
... ... @@ -187,7 +187,7 @@
187 187  
188 188 static void __init idp_map_io(void)
189 189 {
190   - pxa_map_io();
  190 + pxa25x_map_io();
191 191 iotable_init(idp_io_desc, ARRAY_SIZE(idp_io_desc));
192 192 }
193 193  
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
... ... @@ -495,7 +495,7 @@
495 495  
496 496 static void __init lpd270_map_io(void)
497 497 {
498   - pxa_map_io();
  498 + pxa27x_map_io();
499 499 iotable_init(lpd270_io_desc, ARRAY_SIZE(lpd270_io_desc));
500 500  
501 501 /* for use I SRAM as framebuffer. */
arch/arm/mach-pxa/lubbock.c
... ... @@ -549,7 +549,7 @@
549 549  
550 550 static void __init lubbock_map_io(void)
551 551 {
552   - pxa_map_io();
  552 + pxa25x_map_io();
553 553 iotable_init(lubbock_io_desc, ARRAY_SIZE(lubbock_io_desc));
554 554  
555 555 PCFR |= PCFR_OPDE;
arch/arm/mach-pxa/magician.c
... ... @@ -765,7 +765,7 @@
765 765  
766 766 MACHINE_START(MAGICIAN, "HTC Magician")
767 767 .boot_params = 0xa0000100,
768   - .map_io = pxa_map_io,
  768 + .map_io = pxa27x_map_io,
769 769 .nr_irqs = MAGICIAN_NR_IRQS,
770 770 .init_irq = pxa27x_init_irq,
771 771 .init_machine = magician_init,
arch/arm/mach-pxa/mainstone.c
... ... @@ -614,7 +614,7 @@
614 614  
615 615 static void __init mainstone_map_io(void)
616 616 {
617   - pxa_map_io();
  617 + pxa27x_map_io();
618 618 iotable_init(mainstone_io_desc, ARRAY_SIZE(mainstone_io_desc));
619 619  
620 620 /* for use I SRAM as framebuffer. */
arch/arm/mach-pxa/mioa701.c
... ... @@ -819,7 +819,7 @@
819 819  
820 820 MACHINE_START(MIOA701, "MIO A701")
821 821 .boot_params = 0xa0000100,
822   - .map_io = &pxa_map_io,
  822 + .map_io = &pxa27x_map_io,
823 823 .init_irq = &pxa27x_init_irq,
824 824 .init_machine = mioa701_machine_init,
825 825 .timer = &pxa_timer,
arch/arm/mach-pxa/mp900.c
... ... @@ -94,7 +94,7 @@
94 94 MACHINE_START(NEC_MP900, "MobilePro900/C")
95 95 .boot_params = 0xa0220100,
96 96 .timer = &pxa_timer,
97   - .map_io = pxa_map_io,
  97 + .map_io = pxa25x_map_io,
98 98 .init_irq = pxa25x_init_irq,
99 99 .init_machine = mp900c_init,
100 100 MACHINE_END
arch/arm/mach-pxa/palmld.c
... ... @@ -313,7 +313,7 @@
313 313  
314 314 static void __init palmld_map_io(void)
315 315 {
316   - pxa_map_io();
  316 + pxa27x_map_io();
317 317 iotable_init(palmld_io_desc, ARRAY_SIZE(palmld_io_desc));
318 318 }
319 319  
arch/arm/mach-pxa/palmt5.c
... ... @@ -203,7 +203,7 @@
203 203  
204 204 MACHINE_START(PALMT5, "Palm Tungsten|T5")
205 205 .boot_params = 0xa0000100,
206   - .map_io = pxa_map_io,
  206 + .map_io = pxa27x_map_io,
207 207 .reserve = palmt5_reserve,
208 208 .init_irq = pxa27x_init_irq,
209 209 .timer = &pxa_timer,
arch/arm/mach-pxa/palmtc.c
... ... @@ -413,7 +413,7 @@
413 413  
414 414 MACHINE_START(PALMTC, "Palm Tungsten|C")
415 415 .boot_params = 0xa0000100,
416   - .map_io = pxa_map_io,
  416 + .map_io = pxa25x_map_io,
417 417 .init_irq = pxa25x_init_irq,
418 418 .timer = &pxa_timer,
419 419 .init_machine = palmtc_init
arch/arm/mach-pxa/palmte2.c
... ... @@ -374,7 +374,7 @@
374 374  
375 375 MACHINE_START(PALMTE2, "Palm Tungsten|E2")
376 376 .boot_params = 0xa0000100,
377   - .map_io = pxa_map_io,
  377 + .map_io = pxa25x_map_io,
378 378 .init_irq = pxa25x_init_irq,
379 379 .timer = &pxa_timer,
380 380 .init_machine = palmte2_init
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
... ... @@ -334,7 +334,7 @@
334 334  
335 335 static void __init palmtx_map_io(void)
336 336 {
337   - pxa_map_io();
  337 + pxa27x_map_io();
338 338 iotable_init(palmtx_io_desc, ARRAY_SIZE(palmtx_io_desc));
339 339 }
340 340  
arch/arm/mach-pxa/palmz72.c
... ... @@ -280,7 +280,7 @@
280 280  
281 281 MACHINE_START(PALMZ72, "Palm Zire72")
282 282 .boot_params = 0xa0000100,
283   - .map_io = pxa_map_io,
  283 + .map_io = pxa27x_map_io,
284 284 .init_irq = pxa27x_init_irq,
285 285 .timer = &pxa_timer,
286 286 .init_machine = palmz72_init
arch/arm/mach-pxa/pcm027.c
... ... @@ -244,7 +244,7 @@
244 244  
245 245 static void __init pcm027_map_io(void)
246 246 {
247   - pxa_map_io();
  247 + pxa27x_map_io();
248 248  
249 249 /* initialize sleep mode regs (wake-up sources, etc) */
250 250 PGSR0 = 0x01308000;
arch/arm/mach-pxa/poodle.c
... ... @@ -466,7 +466,7 @@
466 466  
467 467 MACHINE_START(POODLE, "SHARP Poodle")
468 468 .fixup = fixup_poodle,
469   - .map_io = pxa_map_io,
  469 + .map_io = pxa25x_map_io,
470 470 .nr_irqs = POODLE_NR_IRQS, /* 4 for LoCoMo */
471 471 .init_irq = pxa25x_init_irq,
472 472 .timer = &pxa_timer,
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
... ... @@ -953,7 +953,7 @@
953 953  
954 954 MACHINE_START(TOSA, "SHARP Tosa")
955 955 .fixup = fixup_tosa,
956   - .map_io = pxa_map_io,
  956 + .map_io = pxa25x_map_io,
957 957 .nr_irqs = TOSA_NR_IRQS,
958 958 .init_irq = pxa25x_init_irq,
959 959 .init_machine = tosa_init,
arch/arm/mach-pxa/trizeps4.c
... ... @@ -539,7 +539,7 @@
539 539  
540 540 static void __init trizeps4_map_io(void)
541 541 {
542   - pxa_map_io();
  542 + pxa27x_map_io();
543 543 iotable_init(trizeps4_io_desc, ARRAY_SIZE(trizeps4_io_desc));
544 544  
545 545 if ((MSC0 & 0x8) && (BOOT_DEF & 0x1)) {
arch/arm/mach-pxa/viper.c
... ... @@ -983,7 +983,7 @@
983 983  
984 984 static void __init viper_map_io(void)
985 985 {
986   - pxa_map_io();
  986 + pxa25x_map_io();
987 987  
988 988 iotable_init(viper_io_desc, ARRAY_SIZE(viper_io_desc));
989 989  
arch/arm/mach-pxa/vpac270.c
... ... @@ -719,7 +719,7 @@
719 719  
720 720 MACHINE_START(VPAC270, "Voipac PXA270")
721 721 .boot_params = 0xa0000100,
722   - .map_io = pxa_map_io,
  722 + .map_io = pxa27x_map_io,
723 723 .init_irq = pxa27x_init_irq,
724 724 .timer = &pxa_timer,
725 725 .init_machine = vpac270_init
arch/arm/mach-pxa/xcep.c
... ... @@ -183,7 +183,7 @@
183 183 MACHINE_START(XCEP, "Iskratel XCEP")
184 184 .boot_params = 0xa0000100,
185 185 .init_machine = xcep_init,
186   - .map_io = pxa_map_io,
  186 + .map_io = pxa25x_map_io,
187 187 .init_irq = pxa25x_init_irq,
188 188 .timer = &pxa_timer,
189 189 MACHINE_END
arch/arm/mach-pxa/z2.c
... ... @@ -704,7 +704,7 @@
704 704  
705 705 MACHINE_START(ZIPIT2, "Zipit Z2")
706 706 .boot_params = 0xa0000100,
707   - .map_io = pxa_map_io,
  707 + .map_io = pxa27x_map_io,
708 708 .init_irq = pxa27x_init_irq,
709 709 .timer = &pxa_timer,
710 710 .init_machine = z2_init,
arch/arm/mach-pxa/zeus.c
... ... @@ -883,7 +883,7 @@
883 883  
884 884 static void __init zeus_map_io(void)
885 885 {
886   - pxa_map_io();
  886 + pxa27x_map_io();
887 887  
888 888 iotable_init(zeus_io_desc, ARRAY_SIZE(zeus_io_desc));
889 889  
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,