diff options
Diffstat (limited to 'arch/arm/mach-sa1100')
-rw-r--r-- | arch/arm/mach-sa1100/assabet.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/badge4.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/cerf.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/collie.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/generic.c | 28 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/h3600.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/hackkit.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/jornada720.c | 84 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/lart.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/neponset.c | 44 | ||||
-rw-r--r-- | arch/arm/mach-sa1100/simpad.c | 16 |
11 files changed, 214 insertions, 56 deletions
diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c index 24687f511bf5..75efb5da5b6d 100644 --- a/arch/arm/mach-sa1100/assabet.c +++ b/arch/arm/mach-sa1100/assabet.c | |||
@@ -388,9 +388,17 @@ static struct sa1100_port_fns assabet_port_fns __initdata = { | |||
388 | }; | 388 | }; |
389 | 389 | ||
390 | static struct map_desc assabet_io_desc[] __initdata = { | 390 | static struct map_desc assabet_io_desc[] __initdata = { |
391 | /* virtual physical length type */ | 391 | { /* Board Control Register */ |
392 | { 0xf1000000, 0x12000000, 0x00100000, MT_DEVICE }, /* Board Control Register */ | 392 | .virtual = 0xf1000000, |
393 | { 0xf2800000, 0x4b800000, 0x00800000, MT_DEVICE } /* MQ200 */ | 393 | .pfn = __phys_to_pfn(0x12000000), |
394 | .length = 0x00100000, | ||
395 | .type = MT_DEVICE | ||
396 | }, { /* MQ200 */ | ||
397 | .virtual = 0xf2800000, | ||
398 | .pfn = __phys_to_pfn(0x4b800000), | ||
399 | .length = 0x00800000, | ||
400 | .type = MT_DEVICE | ||
401 | } | ||
394 | }; | 402 | }; |
395 | 403 | ||
396 | static void __init assabet_map_io(void) | 404 | static void __init assabet_map_io(void) |
diff --git a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c index b6169cb09196..c92cebff7f8e 100644 --- a/arch/arm/mach-sa1100/badge4.c +++ b/arch/arm/mach-sa1100/badge4.c | |||
@@ -254,10 +254,22 @@ EXPORT_SYMBOL(badge4_set_5V); | |||
254 | 254 | ||
255 | 255 | ||
256 | static struct map_desc badge4_io_desc[] __initdata = { | 256 | static struct map_desc badge4_io_desc[] __initdata = { |
257 | /* virtual physical length type */ | 257 | { /* SRAM bank 1 */ |
258 | {0xf1000000, 0x08000000, 0x00100000, MT_DEVICE },/* SRAM bank 1 */ | 258 | .virtual = 0xf1000000, |
259 | {0xf2000000, 0x10000000, 0x00100000, MT_DEVICE },/* SRAM bank 2 */ | 259 | .pfn = __phys_to_pfn(0x08000000), |
260 | {0xf4000000, 0x48000000, 0x00100000, MT_DEVICE } /* SA-1111 */ | 260 | .length = 0x00100000, |
261 | .type = MT_DEVICE | ||
262 | }, { /* SRAM bank 2 */ | ||
263 | .virtual = 0xf2000000, | ||
264 | .pfn = __phys_to_pfn(0x10000000), | ||
265 | .length = 0x00100000, | ||
266 | .type = MT_DEVICE | ||
267 | }, { /* SA-1111 */ | ||
268 | .virtual = 0xf4000000, | ||
269 | .pfn = __phys_to_pfn(0x48000000), | ||
270 | .length = 0x00100000, | ||
271 | .type = MT_DEVICE | ||
272 | } | ||
261 | }; | 273 | }; |
262 | 274 | ||
263 | static void | 275 | static void |
diff --git a/arch/arm/mach-sa1100/cerf.c b/arch/arm/mach-sa1100/cerf.c index 9484be7dc671..23cb74885275 100644 --- a/arch/arm/mach-sa1100/cerf.c +++ b/arch/arm/mach-sa1100/cerf.c | |||
@@ -100,8 +100,12 @@ static void __init cerf_init_irq(void) | |||
100 | } | 100 | } |
101 | 101 | ||
102 | static struct map_desc cerf_io_desc[] __initdata = { | 102 | static struct map_desc cerf_io_desc[] __initdata = { |
103 | /* virtual physical length type */ | 103 | { /* Crystal Ethernet Chip */ |
104 | { 0xf0000000, 0x08000000, 0x00100000, MT_DEVICE } /* Crystal Ethernet Chip */ | 104 | .virtual = 0xf0000000, |
105 | .pfn = __phys_to_pfn(0x08000000), | ||
106 | .length = 0x00100000, | ||
107 | .type = MT_DEVICE | ||
108 | } | ||
105 | }; | 109 | }; |
106 | 110 | ||
107 | static void __init cerf_map_io(void) | 111 | static void __init cerf_map_io(void) |
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index 6ecab7e2c238..7fd6e29c36b7 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
@@ -171,9 +171,17 @@ static void __init collie_init(void) | |||
171 | } | 171 | } |
172 | 172 | ||
173 | static struct map_desc collie_io_desc[] __initdata = { | 173 | static struct map_desc collie_io_desc[] __initdata = { |
174 | /* virtual physical length type */ | 174 | { /* 32M main flash (cs0) */ |
175 | {0xe8000000, 0x00000000, 0x02000000, MT_DEVICE}, /* 32M main flash (cs0) */ | 175 | .virtual = 0xe8000000, |
176 | {0xea000000, 0x08000000, 0x02000000, MT_DEVICE}, /* 32M boot flash (cs1) */ | 176 | .pfn = __phys_to_pfn(0x00000000), |
177 | .length = 0x02000000, | ||
178 | .type = MT_DEVICE | ||
179 | }, { /* 32M boot flash (cs1) */ | ||
180 | .virtual = 0xea000000, | ||
181 | .pfn = __phys_to_pfn(0x08000000), | ||
182 | .length = 0x02000000, | ||
183 | .type = MT_DEVICE | ||
184 | } | ||
177 | }; | 185 | }; |
178 | 186 | ||
179 | static void __init collie_map_io(void) | 187 | static void __init collie_map_io(void) |
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c index 3f1e358455e5..f94b0fbcdcc8 100644 --- a/arch/arm/mach-sa1100/generic.c +++ b/arch/arm/mach-sa1100/generic.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <asm/system.h> | 23 | #include <asm/system.h> |
24 | #include <asm/pgtable.h> | 24 | #include <asm/pgtable.h> |
25 | #include <asm/mach/map.h> | 25 | #include <asm/mach/map.h> |
26 | #include <asm/mach/flash.h> | ||
26 | #include <asm/irq.h> | 27 | #include <asm/irq.h> |
27 | 28 | ||
28 | #include "generic.h" | 29 | #include "generic.h" |
@@ -283,6 +284,7 @@ static struct platform_device sa11x0mtd_device = { | |||
283 | void sa11x0_set_flash_data(struct flash_platform_data *flash, | 284 | void sa11x0_set_flash_data(struct flash_platform_data *flash, |
284 | struct resource *res, int nr) | 285 | struct resource *res, int nr) |
285 | { | 286 | { |
287 | flash->name = "sa1100"; | ||
286 | sa11x0mtd_device.dev.platform_data = flash; | 288 | sa11x0mtd_device.dev.platform_data = flash; |
287 | sa11x0mtd_device.resource = res; | 289 | sa11x0mtd_device.resource = res; |
288 | sa11x0mtd_device.num_resources = nr; | 290 | sa11x0mtd_device.num_resources = nr; |
@@ -369,11 +371,27 @@ EXPORT_SYMBOL(sa1100fb_lcd_power); | |||
369 | */ | 371 | */ |
370 | 372 | ||
371 | static struct map_desc standard_io_desc[] __initdata = { | 373 | static struct map_desc standard_io_desc[] __initdata = { |
372 | /* virtual physical length type */ | 374 | { /* PCM */ |
373 | { 0xf8000000, 0x80000000, 0x00100000, MT_DEVICE }, /* PCM */ | 375 | .virtual = 0xf8000000, |
374 | { 0xfa000000, 0x90000000, 0x00100000, MT_DEVICE }, /* SCM */ | 376 | .pfn = __phys_to_pfn(0x80000000), |
375 | { 0xfc000000, 0xa0000000, 0x00100000, MT_DEVICE }, /* MER */ | 377 | .length = 0x00100000, |
376 | { 0xfe000000, 0xb0000000, 0x00200000, MT_DEVICE } /* LCD + DMA */ | 378 | .type = MT_DEVICE |
379 | }, { /* SCM */ | ||
380 | .virtual = 0xfa000000, | ||
381 | .pfn = __phys_to_pfn(0x90000000), | ||
382 | .length = 0x00100000, | ||
383 | .type = MT_DEVICE | ||
384 | }, { /* MER */ | ||
385 | .virtual = 0xfc000000, | ||
386 | .pfn = __phys_to_pfn(0xa0000000), | ||
387 | .length = 0x00100000, | ||
388 | .type = MT_DEVICE | ||
389 | }, { /* LCD + DMA */ | ||
390 | .virtual = 0xfe000000, | ||
391 | .pfn = __phys_to_pfn(0xb0000000), | ||
392 | .length = 0x00200000, | ||
393 | .type = MT_DEVICE | ||
394 | }, | ||
377 | }; | 395 | }; |
378 | 396 | ||
379 | void __init sa1100_map_io(void) | 397 | void __init sa1100_map_io(void) |
diff --git a/arch/arm/mach-sa1100/h3600.c b/arch/arm/mach-sa1100/h3600.c index e7aa2681ca64..e8352b7f74b0 100644 --- a/arch/arm/mach-sa1100/h3600.c +++ b/arch/arm/mach-sa1100/h3600.c | |||
@@ -223,10 +223,22 @@ static void h3xxx_lcd_power(int enable) | |||
223 | } | 223 | } |
224 | 224 | ||
225 | static struct map_desc h3600_io_desc[] __initdata = { | 225 | static struct map_desc h3600_io_desc[] __initdata = { |
226 | /* virtual physical length type */ | 226 | { /* static memory bank 2 CS#2 */ |
227 | { H3600_BANK_2_VIRT, SA1100_CS2_PHYS, 0x02800000, MT_DEVICE }, /* static memory bank 2 CS#2 */ | 227 | .virtual = H3600_BANK_2_VIRT, |
228 | { H3600_BANK_4_VIRT, SA1100_CS4_PHYS, 0x00800000, MT_DEVICE }, /* static memory bank 4 CS#4 */ | 228 | .pfn = __phys_to_pfn(SA1100_CS2_PHYS), |
229 | { H3600_EGPIO_VIRT, H3600_EGPIO_PHYS, 0x01000000, MT_DEVICE }, /* EGPIO 0 CS#5 */ | 229 | .length = 0x02800000, |
230 | .type = MT_DEVICE | ||
231 | }, { /* static memory bank 4 CS#4 */ | ||
232 | .virtual = H3600_BANK_4_VIRT, | ||
233 | .pfn = __phys_to_pfn(SA1100_CS4_PHYS), | ||
234 | .length = 0x00800000, | ||
235 | .type = MT_DEVICE | ||
236 | }, { /* EGPIO 0 CS#5 */ | ||
237 | .virtual = H3600_EGPIO_VIRT, | ||
238 | .pfn = __phys_to_pfn(H3600_EGPIO_PHYS), | ||
239 | .length = 0x01000000, | ||
240 | .type = MT_DEVICE | ||
241 | } | ||
230 | }; | 242 | }; |
231 | 243 | ||
232 | /* | 244 | /* |
diff --git a/arch/arm/mach-sa1100/hackkit.c b/arch/arm/mach-sa1100/hackkit.c index 502d65cfe654..c922e043c424 100644 --- a/arch/arm/mach-sa1100/hackkit.c +++ b/arch/arm/mach-sa1100/hackkit.c | |||
@@ -57,8 +57,12 @@ static void hackkit_uart_pm(struct uart_port *port, u_int state, u_int oldstate) | |||
57 | */ | 57 | */ |
58 | 58 | ||
59 | static struct map_desc hackkit_io_desc[] __initdata = { | 59 | static struct map_desc hackkit_io_desc[] __initdata = { |
60 | /* virtual physical length type */ | 60 | { /* Flash bank 0 */ |
61 | { 0xe8000000, 0x00000000, 0x01000000, MT_DEVICE } /* Flash bank 0 */ | 61 | .virtual = 0xe8000000, |
62 | .pfn = __phys_to_pfn(0x00000000), | ||
63 | .length = 0x01000000, | ||
64 | .type = MT_DEVICE | ||
65 | }, | ||
62 | }; | 66 | }; |
63 | 67 | ||
64 | static struct sa1100_port_fns hackkit_port_fns __initdata = { | 68 | static struct sa1100_port_fns hackkit_port_fns __initdata = { |
diff --git a/arch/arm/mach-sa1100/jornada720.c b/arch/arm/mach-sa1100/jornada720.c index 2f497112c96a..89af0c831e8f 100644 --- a/arch/arm/mach-sa1100/jornada720.c +++ b/arch/arm/mach-sa1100/jornada720.c | |||
@@ -8,6 +8,8 @@ | |||
8 | #include <linux/delay.h> | 8 | #include <linux/delay.h> |
9 | #include <linux/device.h> | 9 | #include <linux/device.h> |
10 | #include <linux/ioport.h> | 10 | #include <linux/ioport.h> |
11 | #include <linux/mtd/mtd.h> | ||
12 | #include <linux/mtd/partitions.h> | ||
11 | 13 | ||
12 | #include <asm/hardware.h> | 14 | #include <asm/hardware.h> |
13 | #include <asm/hardware/sa1111.h> | 15 | #include <asm/hardware/sa1111.h> |
@@ -16,6 +18,7 @@ | |||
16 | #include <asm/setup.h> | 18 | #include <asm/setup.h> |
17 | 19 | ||
18 | #include <asm/mach/arch.h> | 20 | #include <asm/mach/arch.h> |
21 | #include <asm/mach/flash.h> | ||
19 | #include <asm/mach/map.h> | 22 | #include <asm/mach/map.h> |
20 | #include <asm/mach/serial_sa1100.h> | 23 | #include <asm/mach/serial_sa1100.h> |
21 | 24 | ||
@@ -81,10 +84,22 @@ static int __init jornada720_init(void) | |||
81 | arch_initcall(jornada720_init); | 84 | arch_initcall(jornada720_init); |
82 | 85 | ||
83 | static struct map_desc jornada720_io_desc[] __initdata = { | 86 | static struct map_desc jornada720_io_desc[] __initdata = { |
84 | /* virtual physical length type */ | 87 | { /* Epson registers */ |
85 | { 0xf0000000, 0x48000000, 0x00100000, MT_DEVICE }, /* Epson registers */ | 88 | .virtual = 0xf0000000, |
86 | { 0xf1000000, 0x48200000, 0x00100000, MT_DEVICE }, /* Epson frame buffer */ | 89 | .pfn = __phys_to_pfn(0x48000000), |
87 | { 0xf4000000, 0x40000000, 0x00100000, MT_DEVICE } /* SA-1111 */ | 90 | .length = 0x00100000, |
91 | .type = MT_DEVICE | ||
92 | }, { /* Epson frame buffer */ | ||
93 | .virtual = 0xf1000000, | ||
94 | .pfn = __phys_to_pfn(0x48200000), | ||
95 | .length = 0x00100000, | ||
96 | .type = MT_DEVICE | ||
97 | }, { /* SA-1111 */ | ||
98 | .virtual = 0xf4000000, | ||
99 | .pfn = __phys_to_pfn(0x40000000), | ||
100 | .length = 0x00100000, | ||
101 | .type = MT_DEVICE | ||
102 | } | ||
88 | }; | 103 | }; |
89 | 104 | ||
90 | static void __init jornada720_map_io(void) | 105 | static void __init jornada720_map_io(void) |
@@ -96,6 +111,66 @@ static void __init jornada720_map_io(void) | |||
96 | sa1100_register_uart(1, 1); | 111 | sa1100_register_uart(1, 1); |
97 | } | 112 | } |
98 | 113 | ||
114 | static struct mtd_partition jornada720_partitions[] = { | ||
115 | { | ||
116 | .name = "JORNADA720 boot firmware", | ||
117 | .size = 0x00040000, | ||
118 | .offset = 0, | ||
119 | .mask_flags = MTD_WRITEABLE, /* force read-only */ | ||
120 | }, { | ||
121 | .name = "JORNADA720 kernel", | ||
122 | .size = 0x000c0000, | ||
123 | .offset = 0x00040000, | ||
124 | }, { | ||
125 | .name = "JORNADA720 params", | ||
126 | .size = 0x00040000, | ||
127 | .offset = 0x00100000, | ||
128 | }, { | ||
129 | .name = "JORNADA720 initrd", | ||
130 | .size = 0x00100000, | ||
131 | .offset = 0x00140000, | ||
132 | }, { | ||
133 | .name = "JORNADA720 root cramfs", | ||
134 | .size = 0x00300000, | ||
135 | .offset = 0x00240000, | ||
136 | }, { | ||
137 | .name = "JORNADA720 usr cramfs", | ||
138 | .size = 0x00800000, | ||
139 | .offset = 0x00540000, | ||
140 | }, { | ||
141 | .name = "JORNADA720 usr local", | ||
142 | .size = 0, /* will expand to the end of the flash */ | ||
143 | .offset = 0x00d00000, | ||
144 | } | ||
145 | }; | ||
146 | |||
147 | static void jornada720_set_vpp(int vpp) | ||
148 | { | ||
149 | if (vpp) | ||
150 | PPSR |= 0x80; | ||
151 | else | ||
152 | PPSR &= ~0x80; | ||
153 | PPDR |= 0x80; | ||
154 | } | ||
155 | |||
156 | static struct flash_platform_data jornada720_flash_data = { | ||
157 | .map_name = "cfi_probe", | ||
158 | .set_vpp = jornada720_set_vpp, | ||
159 | .parts = jornada720_partitions, | ||
160 | .nr_parts = ARRAY_SIZE(jornada720_partitions), | ||
161 | }; | ||
162 | |||
163 | static struct resource jornada720_flash_resource = { | ||
164 | .start = SA1100_CS0_PHYS, | ||
165 | .end = SA1100_CS0_PHYS + SZ_32M - 1, | ||
166 | .flags = IORESOURCE_MEM, | ||
167 | }; | ||
168 | |||
169 | static void __init jornada720_mach_init(void) | ||
170 | { | ||
171 | sa11x0_set_flash_data(&jornada720_flash_data, &jornada720_flash_resource, 1); | ||
172 | } | ||
173 | |||
99 | MACHINE_START(JORNADA720, "HP Jornada 720") | 174 | MACHINE_START(JORNADA720, "HP Jornada 720") |
100 | /* Maintainer: Michael Gernoth <michael@gernoth.net> */ | 175 | /* Maintainer: Michael Gernoth <michael@gernoth.net> */ |
101 | .phys_ram = 0xc0000000, | 176 | .phys_ram = 0xc0000000, |
@@ -105,4 +180,5 @@ MACHINE_START(JORNADA720, "HP Jornada 720") | |||
105 | .map_io = jornada720_map_io, | 180 | .map_io = jornada720_map_io, |
106 | .init_irq = sa1100_init_irq, | 181 | .init_irq = sa1100_init_irq, |
107 | .timer = &sa1100_timer, | 182 | .timer = &sa1100_timer, |
183 | .init_machine = jornada720_mach_init, | ||
108 | MACHINE_END | 184 | MACHINE_END |
diff --git a/arch/arm/mach-sa1100/lart.c b/arch/arm/mach-sa1100/lart.c index ed6744d480af..8c9e3dd52942 100644 --- a/arch/arm/mach-sa1100/lart.c +++ b/arch/arm/mach-sa1100/lart.c | |||
@@ -31,9 +31,17 @@ static void __init lart_init(void) | |||
31 | } | 31 | } |
32 | 32 | ||
33 | static struct map_desc lart_io_desc[] __initdata = { | 33 | static struct map_desc lart_io_desc[] __initdata = { |
34 | /* virtual physical length type */ | 34 | { /* main flash memory */ |
35 | { 0xe8000000, 0x00000000, 0x00400000, MT_DEVICE }, /* main flash memory */ | 35 | .virtual = 0xe8000000, |
36 | { 0xec000000, 0x08000000, 0x00400000, MT_DEVICE } /* main flash, alternative location */ | 36 | .pfn = __phys_to_pfn(0x00000000), |
37 | .length = 0x00400000, | ||
38 | .type = MT_DEVICE | ||
39 | }, { /* main flash, alternative location */ | ||
40 | .virtual = 0xec000000, | ||
41 | .pfn = __phys_to_pfn(0x08000000), | ||
42 | .length = 0x00400000, | ||
43 | .type = MT_DEVICE | ||
44 | } | ||
37 | }; | 45 | }; |
38 | 46 | ||
39 | static void __init lart_map_io(void) | 47 | static void __init lart_map_io(void) |
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index fc061641b7be..052e4caedb89 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
@@ -178,33 +178,27 @@ static int neponset_probe(struct device *dev) | |||
178 | /* | 178 | /* |
179 | * LDM power management. | 179 | * LDM power management. |
180 | */ | 180 | */ |
181 | static int neponset_suspend(struct device *dev, pm_message_t state, u32 level) | 181 | static int neponset_suspend(struct device *dev, pm_message_t state) |
182 | { | 182 | { |
183 | /* | 183 | /* |
184 | * Save state. | 184 | * Save state. |
185 | */ | 185 | */ |
186 | if (level == SUSPEND_SAVE_STATE || | 186 | if (!dev->power.saved_state) |
187 | level == SUSPEND_DISABLE || | 187 | dev->power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL); |
188 | level == SUSPEND_POWER_DOWN) { | 188 | if (!dev->power.saved_state) |
189 | if (!dev->power.saved_state) | 189 | return -ENOMEM; |
190 | dev->power.saved_state = kmalloc(sizeof(unsigned int), GFP_KERNEL); | 190 | |
191 | if (!dev->power.saved_state) | 191 | *(unsigned int *)dev->power.saved_state = NCR_0; |
192 | return -ENOMEM; | ||
193 | |||
194 | *(unsigned int *)dev->power.saved_state = NCR_0; | ||
195 | } | ||
196 | 192 | ||
197 | return 0; | 193 | return 0; |
198 | } | 194 | } |
199 | 195 | ||
200 | static int neponset_resume(struct device *dev, u32 level) | 196 | static int neponset_resume(struct device *dev) |
201 | { | 197 | { |
202 | if (level == RESUME_RESTORE_STATE || level == RESUME_ENABLE) { | 198 | if (dev->power.saved_state) { |
203 | if (dev->power.saved_state) { | 199 | NCR_0 = *(unsigned int *)dev->power.saved_state; |
204 | NCR_0 = *(unsigned int *)dev->power.saved_state; | 200 | kfree(dev->power.saved_state); |
205 | kfree(dev->power.saved_state); | 201 | dev->power.saved_state = NULL; |
206 | dev->power.saved_state = NULL; | ||
207 | } | ||
208 | } | 202 | } |
209 | 203 | ||
210 | return 0; | 204 | return 0; |
@@ -331,9 +325,17 @@ static int __init neponset_init(void) | |||
331 | subsys_initcall(neponset_init); | 325 | subsys_initcall(neponset_init); |
332 | 326 | ||
333 | static struct map_desc neponset_io_desc[] __initdata = { | 327 | static struct map_desc neponset_io_desc[] __initdata = { |
334 | /* virtual physical length type */ | 328 | { /* System Registers */ |
335 | { 0xf3000000, 0x10000000, SZ_1M, MT_DEVICE }, /* System Registers */ | 329 | .virtual = 0xf3000000, |
336 | { 0xf4000000, 0x40000000, SZ_1M, MT_DEVICE } /* SA-1111 */ | 330 | .pfn = __phys_to_pfn(0x10000000), |
331 | .length = SZ_1M, | ||
332 | .type = MT_DEVICE | ||
333 | }, { /* SA-1111 */ | ||
334 | .virtual = 0xf4000000, | ||
335 | .pfn = __phys_to_pfn(0x40000000), | ||
336 | .length = SZ_1M, | ||
337 | .type = MT_DEVICE | ||
338 | } | ||
337 | }; | 339 | }; |
338 | 340 | ||
339 | void __init neponset_map_io(void) | 341 | void __init neponset_map_io(void) |
diff --git a/arch/arm/mach-sa1100/simpad.c b/arch/arm/mach-sa1100/simpad.c index 07f6d5fd7bb0..cfb6658e5cdf 100644 --- a/arch/arm/mach-sa1100/simpad.c +++ b/arch/arm/mach-sa1100/simpad.c | |||
@@ -60,11 +60,17 @@ EXPORT_SYMBOL(set_cs3_bit); | |||
60 | EXPORT_SYMBOL(clear_cs3_bit); | 60 | EXPORT_SYMBOL(clear_cs3_bit); |
61 | 61 | ||
62 | static struct map_desc simpad_io_desc[] __initdata = { | 62 | static struct map_desc simpad_io_desc[] __initdata = { |
63 | /* virtual physical length type */ | 63 | { /* MQ200 */ |
64 | /* MQ200 */ | 64 | .virtual = 0xf2800000, |
65 | { 0xf2800000, 0x4b800000, 0x00800000, MT_DEVICE }, | 65 | .pfn = __phys_to_pfn(0x4b800000), |
66 | /* Paules CS3, write only */ | 66 | .length = 0x00800000, |
67 | { 0xf1000000, 0x18000000, 0x00100000, MT_DEVICE }, | 67 | .type = MT_DEVICE |
68 | }, { /* Paules CS3, write only */ | ||
69 | .virtual = 0xf1000000, | ||
70 | .pfn = __phys_to_pfn(0x18000000), | ||
71 | .length = 0x00100000, | ||
72 | .type = MT_DEVICE | ||
73 | }, | ||
68 | }; | 74 | }; |
69 | 75 | ||
70 | 76 | ||