diff options
-rw-r--r-- | arch/arm/Kconfig | 18 | ||||
-rw-r--r-- | arch/arm/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/include/asm/memory.h | 7 | ||||
-rw-r--r-- | arch/arm/include/asm/module.h | 4 | ||||
-rw-r--r-- | arch/arm/kernel/head.S | 61 | ||||
-rw-r--r-- | arch/arm/mach-msm/board-msm7x30.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-msm/board-msm8960.c | 22 | ||||
-rw-r--r-- | arch/arm/mach-msm/board-msm8x60.c | 25 | ||||
-rw-r--r-- | arch/arm/mach-msm/include/mach/memory.h | 6 |
9 files changed, 95 insertions, 73 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 5ebc5d922ea1..272eadc7a12c 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -195,7 +195,8 @@ config VECTORS_BASE | |||
195 | The base address of exception vectors. | 195 | The base address of exception vectors. |
196 | 196 | ||
197 | config ARM_PATCH_PHYS_VIRT | 197 | config ARM_PATCH_PHYS_VIRT |
198 | bool "Patch physical to virtual translations at runtime" | 198 | bool "Patch physical to virtual translations at runtime" if EMBEDDED |
199 | default y | ||
199 | depends on !XIP_KERNEL && MMU | 200 | depends on !XIP_KERNEL && MMU |
200 | depends on !ARCH_REALVIEW || !SPARSEMEM | 201 | depends on !ARCH_REALVIEW || !SPARSEMEM |
201 | help | 202 | help |
@@ -204,16 +205,12 @@ config ARM_PATCH_PHYS_VIRT | |||
204 | kernel in system memory. | 205 | kernel in system memory. |
205 | 206 | ||
206 | This can only be used with non-XIP MMU kernels where the base | 207 | This can only be used with non-XIP MMU kernels where the base |
207 | of physical memory is at a 16MB boundary, or theoretically 64K | 208 | of physical memory is at a 16MB boundary. |
208 | for the MSM machine class. | 209 | |
210 | Only disable this option if you know that you do not require | ||
211 | this feature (eg, building a kernel for a single machine) and | ||
212 | you need to shrink the kernel to the minimal size. | ||
209 | 213 | ||
210 | config ARM_PATCH_PHYS_VIRT_16BIT | ||
211 | def_bool y | ||
212 | depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM | ||
213 | help | ||
214 | This option extends the physical to virtual translation patching | ||
215 | to allow physical memory down to a theoretical minimum of 64K | ||
216 | boundaries. | ||
217 | 214 | ||
218 | source "init/Kconfig" | 215 | source "init/Kconfig" |
219 | 216 | ||
@@ -301,7 +298,6 @@ config ARCH_AT91 | |||
301 | select ARCH_REQUIRE_GPIOLIB | 298 | select ARCH_REQUIRE_GPIOLIB |
302 | select HAVE_CLK | 299 | select HAVE_CLK |
303 | select CLKDEV_LOOKUP | 300 | select CLKDEV_LOOKUP |
304 | select ARM_PATCH_PHYS_VIRT if MMU | ||
305 | help | 301 | help |
306 | This enables support for systems based on the Atmel AT91RM9200, | 302 | This enables support for systems based on the Atmel AT91RM9200, |
307 | AT91SAM9 and AT91CAP9 processors. | 303 | AT91SAM9 and AT91CAP9 processors. |
diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 70c424eaf7b0..5665c2a3b652 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile | |||
@@ -128,6 +128,9 @@ textofs-$(CONFIG_PM_H1940) := 0x00108000 | |||
128 | ifeq ($(CONFIG_ARCH_SA1100),y) | 128 | ifeq ($(CONFIG_ARCH_SA1100),y) |
129 | textofs-$(CONFIG_SA1111) := 0x00208000 | 129 | textofs-$(CONFIG_SA1111) := 0x00208000 |
130 | endif | 130 | endif |
131 | textofs-$(CONFIG_ARCH_MSM7X30) := 0x00208000 | ||
132 | textofs-$(CONFIG_ARCH_MSM8X60) := 0x00208000 | ||
133 | textofs-$(CONFIG_ARCH_MSM8960) := 0x00208000 | ||
131 | 134 | ||
132 | # Machine directory name. This list is sorted alphanumerically | 135 | # Machine directory name. This list is sorted alphanumerically |
133 | # by CONFIG_* macro name. | 136 | # by CONFIG_* macro name. |
diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h index 652fccca4952..90bca427e367 100644 --- a/arch/arm/include/asm/memory.h +++ b/arch/arm/include/asm/memory.h | |||
@@ -151,7 +151,6 @@ | |||
151 | * so that all we need to do is modify the 8-bit constant field. | 151 | * so that all we need to do is modify the 8-bit constant field. |
152 | */ | 152 | */ |
153 | #define __PV_BITS_31_24 0x81000000 | 153 | #define __PV_BITS_31_24 0x81000000 |
154 | #define __PV_BITS_23_16 0x00810000 | ||
155 | 154 | ||
156 | extern unsigned long __pv_phys_offset; | 155 | extern unsigned long __pv_phys_offset; |
157 | #define PHYS_OFFSET __pv_phys_offset | 156 | #define PHYS_OFFSET __pv_phys_offset |
@@ -169,9 +168,6 @@ static inline unsigned long __virt_to_phys(unsigned long x) | |||
169 | { | 168 | { |
170 | unsigned long t; | 169 | unsigned long t; |
171 | __pv_stub(x, t, "add", __PV_BITS_31_24); | 170 | __pv_stub(x, t, "add", __PV_BITS_31_24); |
172 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | ||
173 | __pv_stub(t, t, "add", __PV_BITS_23_16); | ||
174 | #endif | ||
175 | return t; | 171 | return t; |
176 | } | 172 | } |
177 | 173 | ||
@@ -179,9 +175,6 @@ static inline unsigned long __phys_to_virt(unsigned long x) | |||
179 | { | 175 | { |
180 | unsigned long t; | 176 | unsigned long t; |
181 | __pv_stub(x, t, "sub", __PV_BITS_31_24); | 177 | __pv_stub(x, t, "sub", __PV_BITS_31_24); |
182 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | ||
183 | __pv_stub(t, t, "sub", __PV_BITS_23_16); | ||
184 | #endif | ||
185 | return t; | 178 | return t; |
186 | } | 179 | } |
187 | #else | 180 | #else |
diff --git a/arch/arm/include/asm/module.h b/arch/arm/include/asm/module.h index 543b44916d2c..6c6809f982f1 100644 --- a/arch/arm/include/asm/module.h +++ b/arch/arm/include/asm/module.h | |||
@@ -31,11 +31,7 @@ struct mod_arch_specific { | |||
31 | 31 | ||
32 | /* Add __virt_to_phys patching state as well */ | 32 | /* Add __virt_to_phys patching state as well */ |
33 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT | 33 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT |
34 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | ||
35 | #define MODULE_ARCH_VERMAGIC_P2V "p2v16 " | ||
36 | #else | ||
37 | #define MODULE_ARCH_VERMAGIC_P2V "p2v8 " | 34 | #define MODULE_ARCH_VERMAGIC_P2V "p2v8 " |
38 | #endif | ||
39 | #else | 35 | #else |
40 | #define MODULE_ARCH_VERMAGIC_P2V "" | 36 | #define MODULE_ARCH_VERMAGIC_P2V "" |
41 | #endif | 37 | #endif |
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 742b6108a001..136abb610948 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -488,13 +488,8 @@ __fixup_pv_table: | |||
488 | add r5, r5, r3 @ adjust table end address | 488 | add r5, r5, r3 @ adjust table end address |
489 | add r7, r7, r3 @ adjust __pv_phys_offset address | 489 | add r7, r7, r3 @ adjust __pv_phys_offset address |
490 | str r8, [r7] @ save computed PHYS_OFFSET to __pv_phys_offset | 490 | str r8, [r7] @ save computed PHYS_OFFSET to __pv_phys_offset |
491 | #ifndef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | ||
492 | mov r6, r3, lsr #24 @ constant for add/sub instructions | 491 | mov r6, r3, lsr #24 @ constant for add/sub instructions |
493 | teq r3, r6, lsl #24 @ must be 16MiB aligned | 492 | teq r3, r6, lsl #24 @ must be 16MiB aligned |
494 | #else | ||
495 | mov r6, r3, lsr #16 @ constant for add/sub instructions | ||
496 | teq r3, r6, lsl #16 @ must be 64kiB aligned | ||
497 | #endif | ||
498 | THUMB( it ne @ cross section branch ) | 493 | THUMB( it ne @ cross section branch ) |
499 | bne __error | 494 | bne __error |
500 | str r6, [r7, #4] @ save to __pv_offset | 495 | str r6, [r7, #4] @ save to __pv_offset |
@@ -510,20 +505,8 @@ ENDPROC(__fixup_pv_table) | |||
510 | .text | 505 | .text |
511 | __fixup_a_pv_table: | 506 | __fixup_a_pv_table: |
512 | #ifdef CONFIG_THUMB2_KERNEL | 507 | #ifdef CONFIG_THUMB2_KERNEL |
513 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | 508 | lsls r6, #24 |
514 | lsls r0, r6, #24 | 509 | beq 2f |
515 | lsr r6, #8 | ||
516 | beq 1f | ||
517 | clz r7, r0 | ||
518 | lsr r0, #24 | ||
519 | lsl r0, r7 | ||
520 | bic r0, 0x0080 | ||
521 | lsrs r7, #1 | ||
522 | orrcs r0, #0x0080 | ||
523 | orr r0, r0, r7, lsl #12 | ||
524 | #endif | ||
525 | 1: lsls r6, #24 | ||
526 | beq 4f | ||
527 | clz r7, r6 | 510 | clz r7, r6 |
528 | lsr r6, #24 | 511 | lsr r6, #24 |
529 | lsl r6, r7 | 512 | lsl r6, r7 |
@@ -532,43 +515,25 @@ __fixup_a_pv_table: | |||
532 | orrcs r6, #0x0080 | 515 | orrcs r6, #0x0080 |
533 | orr r6, r6, r7, lsl #12 | 516 | orr r6, r6, r7, lsl #12 |
534 | orr r6, #0x4000 | 517 | orr r6, #0x4000 |
535 | b 4f | 518 | b 2f |
536 | 2: @ at this point the C flag is always clear | 519 | 1: add r7, r3 |
537 | add r7, r3 | 520 | ldrh ip, [r7, #2] |
538 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | ||
539 | ldrh ip, [r7] | ||
540 | tst ip, 0x0400 @ the i bit tells us LS or MS byte | ||
541 | beq 3f | ||
542 | cmp r0, #0 @ set C flag, and ... | ||
543 | biceq ip, 0x0400 @ immediate zero value has a special encoding | ||
544 | streqh ip, [r7] @ that requires the i bit cleared | ||
545 | #endif | ||
546 | 3: ldrh ip, [r7, #2] | ||
547 | and ip, 0x8f00 | 521 | and ip, 0x8f00 |
548 | orrcc ip, r6 @ mask in offset bits 31-24 | 522 | orr ip, r6 @ mask in offset bits 31-24 |
549 | orrcs ip, r0 @ mask in offset bits 23-16 | ||
550 | strh ip, [r7, #2] | 523 | strh ip, [r7, #2] |
551 | 4: cmp r4, r5 | 524 | 2: cmp r4, r5 |
552 | ldrcc r7, [r4], #4 @ use branch for delay slot | 525 | ldrcc r7, [r4], #4 @ use branch for delay slot |
553 | bcc 2b | 526 | bcc 1b |
554 | bx lr | 527 | bx lr |
555 | #else | 528 | #else |
556 | #ifdef CONFIG_ARM_PATCH_PHYS_VIRT_16BIT | 529 | b 2f |
557 | and r0, r6, #255 @ offset bits 23-16 | 530 | 1: ldr ip, [r7, r3] |
558 | mov r6, r6, lsr #8 @ offset bits 31-24 | ||
559 | #else | ||
560 | mov r0, #0 @ just in case... | ||
561 | #endif | ||
562 | b 3f | ||
563 | 2: ldr ip, [r7, r3] | ||
564 | bic ip, ip, #0x000000ff | 531 | bic ip, ip, #0x000000ff |
565 | tst ip, #0x400 @ rotate shift tells us LS or MS byte | 532 | orr ip, ip, r6 @ mask in offset bits 31-24 |
566 | orrne ip, ip, r6 @ mask in offset bits 31-24 | ||
567 | orreq ip, ip, r0 @ mask in offset bits 23-16 | ||
568 | str ip, [r7, r3] | 533 | str ip, [r7, r3] |
569 | 3: cmp r4, r5 | 534 | 2: cmp r4, r5 |
570 | ldrcc r7, [r4], #4 @ use branch for delay slot | 535 | ldrcc r7, [r4], #4 @ use branch for delay slot |
571 | bcc 2b | 536 | bcc 1b |
572 | mov pc, lr | 537 | mov pc, lr |
573 | #endif | 538 | #endif |
574 | ENDPROC(__fixup_a_pv_table) | 539 | ENDPROC(__fixup_a_pv_table) |
diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c index 5a2ab6855183..bb72ea0383b7 100644 --- a/arch/arm/mach-msm/board-msm7x30.c +++ b/arch/arm/mach-msm/board-msm7x30.c | |||
@@ -24,6 +24,7 @@ | |||
24 | #include <linux/smsc911x.h> | 24 | #include <linux/smsc911x.h> |
25 | #include <linux/usb/msm_hsusb.h> | 25 | #include <linux/usb/msm_hsusb.h> |
26 | #include <linux/clkdev.h> | 26 | #include <linux/clkdev.h> |
27 | #include <linux/memblock.h> | ||
27 | 28 | ||
28 | #include <asm/mach-types.h> | 29 | #include <asm/mach-types.h> |
29 | #include <asm/mach/arch.h> | 30 | #include <asm/mach/arch.h> |
@@ -42,6 +43,21 @@ | |||
42 | 43 | ||
43 | extern struct sys_timer msm_timer; | 44 | extern struct sys_timer msm_timer; |
44 | 45 | ||
46 | static void __init msm7x30_fixup(struct machine_desc *desc, struct tag *tag, | ||
47 | char **cmdline, struct meminfo *mi) | ||
48 | { | ||
49 | for (; tag->hdr.size; tag = tag_next(tag)) | ||
50 | if (tag->hdr.tag == ATAG_MEM && tag->u.mem.start == 0x200000) { | ||
51 | tag->u.mem.start = 0; | ||
52 | tag->u.mem.size += SZ_2M; | ||
53 | } | ||
54 | } | ||
55 | |||
56 | static void __init msm7x30_reserve(void) | ||
57 | { | ||
58 | memblock_remove(0x0, SZ_2M); | ||
59 | } | ||
60 | |||
45 | static int hsusb_phy_init_seq[] = { | 61 | static int hsusb_phy_init_seq[] = { |
46 | 0x30, 0x32, /* Enable and set Pre-Emphasis Depth to 20% */ | 62 | 0x30, 0x32, /* Enable and set Pre-Emphasis Depth to 20% */ |
47 | 0x02, 0x36, /* Disable CDR Auto Reset feature */ | 63 | 0x02, 0x36, /* Disable CDR Auto Reset feature */ |
@@ -107,6 +123,8 @@ static void __init msm7x30_map_io(void) | |||
107 | 123 | ||
108 | MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF") | 124 | MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF") |
109 | .atag_offset = 0x100, | 125 | .atag_offset = 0x100, |
126 | .fixup = msm7x30_fixup, | ||
127 | .reserve = msm7x30_reserve, | ||
110 | .map_io = msm7x30_map_io, | 128 | .map_io = msm7x30_map_io, |
111 | .init_irq = msm7x30_init_irq, | 129 | .init_irq = msm7x30_init_irq, |
112 | .init_machine = msm7x30_init, | 130 | .init_machine = msm7x30_init, |
@@ -115,6 +133,8 @@ MACHINE_END | |||
115 | 133 | ||
116 | MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA") | 134 | MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA") |
117 | .atag_offset = 0x100, | 135 | .atag_offset = 0x100, |
136 | .fixup = msm7x30_fixup, | ||
137 | .reserve = msm7x30_reserve, | ||
118 | .map_io = msm7x30_map_io, | 138 | .map_io = msm7x30_map_io, |
119 | .init_irq = msm7x30_init_irq, | 139 | .init_irq = msm7x30_init_irq, |
120 | .init_machine = msm7x30_init, | 140 | .init_machine = msm7x30_init, |
@@ -123,6 +143,8 @@ MACHINE_END | |||
123 | 143 | ||
124 | MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID") | 144 | MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID") |
125 | .atag_offset = 0x100, | 145 | .atag_offset = 0x100, |
146 | .fixup = msm7x30_fixup, | ||
147 | .reserve = msm7x30_reserve, | ||
126 | .map_io = msm7x30_map_io, | 148 | .map_io = msm7x30_map_io, |
127 | .init_irq = msm7x30_init_irq, | 149 | .init_irq = msm7x30_init_irq, |
128 | .init_machine = msm7x30_init, | 150 | .init_machine = msm7x30_init, |
diff --git a/arch/arm/mach-msm/board-msm8960.c b/arch/arm/mach-msm/board-msm8960.c index 35c7ceeb3f29..b04468e7d00e 100644 --- a/arch/arm/mach-msm/board-msm8960.c +++ b/arch/arm/mach-msm/board-msm8960.c | |||
@@ -20,16 +20,34 @@ | |||
20 | #include <linux/io.h> | 20 | #include <linux/io.h> |
21 | #include <linux/irq.h> | 21 | #include <linux/irq.h> |
22 | #include <linux/clkdev.h> | 22 | #include <linux/clkdev.h> |
23 | #include <linux/memblock.h> | ||
23 | 24 | ||
24 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
25 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
26 | #include <asm/hardware/gic.h> | 27 | #include <asm/hardware/gic.h> |
28 | #include <asm/setup.h> | ||
27 | 29 | ||
28 | #include <mach/board.h> | 30 | #include <mach/board.h> |
29 | #include <mach/msm_iomap.h> | 31 | #include <mach/msm_iomap.h> |
30 | 32 | ||
31 | #include "devices.h" | 33 | #include "devices.h" |
32 | 34 | ||
35 | static void __init msm8960_fixup(struct machine_desc *desc, struct tag *tag, | ||
36 | char **cmdline, struct meminfo *mi) | ||
37 | { | ||
38 | for (; tag->hdr.size; tag = tag_next(tag)) | ||
39 | if (tag->hdr.tag == ATAG_MEM && | ||
40 | tag->u.mem.start == 0x40200000) { | ||
41 | tag->u.mem.start = 0x40000000; | ||
42 | tag->u.mem.size += SZ_2M; | ||
43 | } | ||
44 | } | ||
45 | |||
46 | static void __init msm8960_reserve(void) | ||
47 | { | ||
48 | memblock_remove(0x40000000, SZ_2M); | ||
49 | } | ||
50 | |||
33 | static void __init msm8960_map_io(void) | 51 | static void __init msm8960_map_io(void) |
34 | { | 52 | { |
35 | msm_map_msm8960_io(); | 53 | msm_map_msm8960_io(); |
@@ -76,6 +94,8 @@ static void __init msm8960_rumi3_init(void) | |||
76 | } | 94 | } |
77 | 95 | ||
78 | MACHINE_START(MSM8960_SIM, "QCT MSM8960 SIMULATOR") | 96 | MACHINE_START(MSM8960_SIM, "QCT MSM8960 SIMULATOR") |
97 | .fixup = msm8960_fixup, | ||
98 | .reserve = msm8960_reserve, | ||
79 | .map_io = msm8960_map_io, | 99 | .map_io = msm8960_map_io, |
80 | .init_irq = msm8960_init_irq, | 100 | .init_irq = msm8960_init_irq, |
81 | .timer = &msm_timer, | 101 | .timer = &msm_timer, |
@@ -83,6 +103,8 @@ MACHINE_START(MSM8960_SIM, "QCT MSM8960 SIMULATOR") | |||
83 | MACHINE_END | 103 | MACHINE_END |
84 | 104 | ||
85 | MACHINE_START(MSM8960_RUMI3, "QCT MSM8960 RUMI3") | 105 | MACHINE_START(MSM8960_RUMI3, "QCT MSM8960 RUMI3") |
106 | .fixup = msm8960_fixup, | ||
107 | .reserve = msm8960_reserve, | ||
86 | .map_io = msm8960_map_io, | 108 | .map_io = msm8960_map_io, |
87 | .init_irq = msm8960_init_irq, | 109 | .init_irq = msm8960_init_irq, |
88 | .timer = &msm_timer, | 110 | .timer = &msm_timer, |
diff --git a/arch/arm/mach-msm/board-msm8x60.c b/arch/arm/mach-msm/board-msm8x60.c index 1163b6fd05d2..9221f54778be 100644 --- a/arch/arm/mach-msm/board-msm8x60.c +++ b/arch/arm/mach-msm/board-msm8x60.c | |||
@@ -20,14 +20,31 @@ | |||
20 | #include <linux/platform_device.h> | 20 | #include <linux/platform_device.h> |
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
23 | #include <linux/memblock.h> | ||
23 | 24 | ||
24 | #include <asm/mach-types.h> | 25 | #include <asm/mach-types.h> |
25 | #include <asm/mach/arch.h> | 26 | #include <asm/mach/arch.h> |
26 | #include <asm/hardware/gic.h> | 27 | #include <asm/hardware/gic.h> |
28 | #include <asm/setup.h> | ||
27 | 29 | ||
28 | #include <mach/board.h> | 30 | #include <mach/board.h> |
29 | #include <mach/msm_iomap.h> | 31 | #include <mach/msm_iomap.h> |
30 | 32 | ||
33 | static void __init msm8x60_fixup(struct machine_desc *desc, struct tag *tag, | ||
34 | char **cmdline, struct meminfo *mi) | ||
35 | { | ||
36 | for (; tag->hdr.size; tag = tag_next(tag)) | ||
37 | if (tag->hdr.tag == ATAG_MEM && | ||
38 | tag->u.mem.start == 0x40200000) { | ||
39 | tag->u.mem.start = 0x40000000; | ||
40 | tag->u.mem.size += SZ_2M; | ||
41 | } | ||
42 | } | ||
43 | |||
44 | static void __init msm8x60_reserve(void) | ||
45 | { | ||
46 | memblock_remove(0x40000000, SZ_2M); | ||
47 | } | ||
31 | 48 | ||
32 | static void __init msm8x60_map_io(void) | 49 | static void __init msm8x60_map_io(void) |
33 | { | 50 | { |
@@ -65,6 +82,8 @@ static void __init msm8x60_init(void) | |||
65 | } | 82 | } |
66 | 83 | ||
67 | MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3") | 84 | MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3") |
85 | .fixup = msm8x60_fixup, | ||
86 | .reserve = msm8x60_reserve, | ||
68 | .map_io = msm8x60_map_io, | 87 | .map_io = msm8x60_map_io, |
69 | .init_irq = msm8x60_init_irq, | 88 | .init_irq = msm8x60_init_irq, |
70 | .init_machine = msm8x60_init, | 89 | .init_machine = msm8x60_init, |
@@ -72,6 +91,8 @@ MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3") | |||
72 | MACHINE_END | 91 | MACHINE_END |
73 | 92 | ||
74 | MACHINE_START(MSM8X60_SURF, "QCT MSM8X60 SURF") | 93 | MACHINE_START(MSM8X60_SURF, "QCT MSM8X60 SURF") |
94 | .fixup = msm8x60_fixup, | ||
95 | .reserve = msm8x60_reserve, | ||
75 | .map_io = msm8x60_map_io, | 96 | .map_io = msm8x60_map_io, |
76 | .init_irq = msm8x60_init_irq, | 97 | .init_irq = msm8x60_init_irq, |
77 | .init_machine = msm8x60_init, | 98 | .init_machine = msm8x60_init, |
@@ -79,6 +100,8 @@ MACHINE_START(MSM8X60_SURF, "QCT MSM8X60 SURF") | |||
79 | MACHINE_END | 100 | MACHINE_END |
80 | 101 | ||
81 | MACHINE_START(MSM8X60_SIM, "QCT MSM8X60 SIMULATOR") | 102 | MACHINE_START(MSM8X60_SIM, "QCT MSM8X60 SIMULATOR") |
103 | .fixup = msm8x60_fixup, | ||
104 | .reserve = msm8x60_reserve, | ||
82 | .map_io = msm8x60_map_io, | 105 | .map_io = msm8x60_map_io, |
83 | .init_irq = msm8x60_init_irq, | 106 | .init_irq = msm8x60_init_irq, |
84 | .init_machine = msm8x60_init, | 107 | .init_machine = msm8x60_init, |
@@ -86,6 +109,8 @@ MACHINE_START(MSM8X60_SIM, "QCT MSM8X60 SIMULATOR") | |||
86 | MACHINE_END | 109 | MACHINE_END |
87 | 110 | ||
88 | MACHINE_START(MSM8X60_FFA, "QCT MSM8X60 FFA") | 111 | MACHINE_START(MSM8X60_FFA, "QCT MSM8X60 FFA") |
112 | .fixup = msm8x60_fixup, | ||
113 | .reserve = msm8x60_reserve, | ||
89 | .map_io = msm8x60_map_io, | 114 | .map_io = msm8x60_map_io, |
90 | .init_irq = msm8x60_init_irq, | 115 | .init_irq = msm8x60_init_irq, |
91 | .init_machine = msm8x60_init, | 116 | .init_machine = msm8x60_init, |
diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h index f2f8d299ba95..58d5e7eec431 100644 --- a/arch/arm/mach-msm/include/mach/memory.h +++ b/arch/arm/mach-msm/include/mach/memory.h | |||
@@ -22,11 +22,11 @@ | |||
22 | #elif defined(CONFIG_ARCH_QSD8X50) | 22 | #elif defined(CONFIG_ARCH_QSD8X50) |
23 | #define PLAT_PHYS_OFFSET UL(0x20000000) | 23 | #define PLAT_PHYS_OFFSET UL(0x20000000) |
24 | #elif defined(CONFIG_ARCH_MSM7X30) | 24 | #elif defined(CONFIG_ARCH_MSM7X30) |
25 | #define PLAT_PHYS_OFFSET UL(0x00200000) | 25 | #define PLAT_PHYS_OFFSET UL(0x00000000) |
26 | #elif defined(CONFIG_ARCH_MSM8X60) | 26 | #elif defined(CONFIG_ARCH_MSM8X60) |
27 | #define PLAT_PHYS_OFFSET UL(0x40200000) | 27 | #define PLAT_PHYS_OFFSET UL(0x40000000) |
28 | #elif defined(CONFIG_ARCH_MSM8960) | 28 | #elif defined(CONFIG_ARCH_MSM8960) |
29 | #define PLAT_PHYS_OFFSET UL(0x40200000) | 29 | #define PLAT_PHYS_OFFSET UL(0x40000000) |
30 | #else | 30 | #else |
31 | #define PLAT_PHYS_OFFSET UL(0x10000000) | 31 | #define PLAT_PHYS_OFFSET UL(0x10000000) |
32 | #endif | 32 | #endif |