diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2011-08-09 15:03:43 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2011-08-17 04:20:29 -0400 |
commit | 73285146544589424e8e1c1ebd6304d3c6231acf (patch) | |
tree | bf708ce0fad584054e6904219e58c833d02f72d0 /arch/arm | |
parent | 93ee7a9340d64f20295aacc3fb6a22b759323280 (diff) |
mach-u300: retire odd singlemem variant
The U300 had a special variant where a memory was shared
between two CPU:s and only one part of memory was
accessible for the kernel. However it is now seriously
legacy and only create problems for kernel consolidation,
so let's retire it.
Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-u300/Kconfig | 38 | ||||
-rw-r--r-- | arch/arm/mach-u300/Makefile.boot | 17 | ||||
-rw-r--r-- | arch/arm/mach-u300/include/mach/memory.h | 22 | ||||
-rw-r--r-- | arch/arm/mach-u300/u300.c | 16 |
4 files changed, 5 insertions, 88 deletions
diff --git a/arch/arm/mach-u300/Kconfig b/arch/arm/mach-u300/Kconfig index 32a7b0f7e9f7..d3a9ca45ef85 100644 --- a/arch/arm/mach-u300/Kconfig +++ b/arch/arm/mach-u300/Kconfig | |||
@@ -48,25 +48,6 @@ config MACH_U300_BS365 | |||
48 | 48 | ||
49 | endchoice | 49 | endchoice |
50 | 50 | ||
51 | choice | ||
52 | prompt "Memory configuration" | ||
53 | default MACH_U300_SINGLE_RAM | ||
54 | ---help--- | ||
55 | You have to config the kernel according to the physical memory | ||
56 | configuration. | ||
57 | |||
58 | config MACH_U300_SINGLE_RAM | ||
59 | bool "Single RAM" | ||
60 | help | ||
61 | Select this if you want support for Single RAM phones. | ||
62 | |||
63 | config MACH_U300_DUAL_RAM | ||
64 | bool "Dual RAM" | ||
65 | help | ||
66 | Select this if you want support for Dual RAM phones. | ||
67 | This is two RAM memories on different EMIFs. | ||
68 | endchoice | ||
69 | |||
70 | config U300_DEBUG | 51 | config U300_DEBUG |
71 | bool "Debug support for U300" | 52 | bool "Debug support for U300" |
72 | depends on PM | 53 | depends on PM |
@@ -93,25 +74,6 @@ config MACH_U300_SPIDUMMY | |||
93 | you don't need it. Selecting this will activate the | 74 | you don't need it. Selecting this will activate the |
94 | SPI framework and ARM PL022 support. | 75 | SPI framework and ARM PL022 support. |
95 | 76 | ||
96 | comment "All the settings below must match the bootloader's settings" | ||
97 | |||
98 | config MACH_U300_ACCESS_MEM_SIZE | ||
99 | int "Access CPU memory allocation" | ||
100 | range 7 25 | ||
101 | depends on MACH_U300_SINGLE_RAM | ||
102 | default 13 | ||
103 | help | ||
104 | How much memory in MiB that the Access side CPU has allocated | ||
105 | |||
106 | config MACH_U300_2MB_ALIGNMENT_FIX | ||
107 | bool "2MiB alignment fix" | ||
108 | depends on MACH_U300_SINGLE_RAM | ||
109 | default y | ||
110 | help | ||
111 | If yes and the Access side CPU has allocated an odd size in | ||
112 | MiB, this fix gives you one MiB extra that would otherwise be | ||
113 | lost due to Linux 2 MiB alignment policy. | ||
114 | |||
115 | endmenu | 77 | endmenu |
116 | 78 | ||
117 | endif | 79 | endif |
diff --git a/arch/arm/mach-u300/Makefile.boot b/arch/arm/mach-u300/Makefile.boot index 6fbfc6ea2d35..a06bb0deadfe 100644 --- a/arch/arm/mach-u300/Makefile.boot +++ b/arch/arm/mach-u300/Makefile.boot | |||
@@ -1,15 +1,4 @@ | |||
1 | # Note: the following conditions must always be true: | 1 | zreladdr-y := 0x48008000 |
2 | # ZRELADDR == virt_to_phys(TEXTADDR) | 2 | params_phys-y := 0x48000100 |
3 | # PARAMS_PHYS must be within 4MB of ZRELADDR | ||
4 | # INITRD_PHYS must be in RAM | ||
5 | |||
6 | ifdef CONFIG_MACH_U300_SINGLE_RAM | ||
7 | zreladdr-y := 0x28E08000 | ||
8 | params_phys-y := 0x28E00100 | ||
9 | else | ||
10 | zreladdr-y := 0x48008000 | ||
11 | params_phys-y := 0x48000100 | ||
12 | endif | ||
13 | |||
14 | # This isn't used. | 3 | # This isn't used. |
15 | #initrd_phys-y := 0x29800000 | 4 | #initrd_phys-y := 0x48800000 |
diff --git a/arch/arm/mach-u300/include/mach/memory.h b/arch/arm/mach-u300/include/mach/memory.h index 888e2e351ee1..02bd832f063e 100644 --- a/arch/arm/mach-u300/include/mach/memory.h +++ b/arch/arm/mach-u300/include/mach/memory.h | |||
@@ -13,26 +13,8 @@ | |||
13 | #ifndef __MACH_MEMORY_H | 13 | #ifndef __MACH_MEMORY_H |
14 | #define __MACH_MEMORY_H | 14 | #define __MACH_MEMORY_H |
15 | 15 | ||
16 | #ifdef CONFIG_MACH_U300_DUAL_RAM | 16 | #define PLAT_PHYS_OFFSET UL(0x48000000) |
17 | 17 | #define BOOT_PARAMS_OFFSET (PLAT_PHYS_OFFSET + 0x100) | |
18 | #define PLAT_PHYS_OFFSET UL(0x48000000) | ||
19 | #define BOOT_PARAMS_OFFSET (PHYS_OFFSET + 0x100) | ||
20 | |||
21 | #else | ||
22 | |||
23 | #ifdef CONFIG_MACH_U300_2MB_ALIGNMENT_FIX | ||
24 | #define PLAT_PHYS_OFFSET (0x28000000 + \ | ||
25 | (CONFIG_MACH_U300_ACCESS_MEM_SIZE - \ | ||
26 | (CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024) | ||
27 | #else | ||
28 | #define PLAT_PHYS_OFFSET (0x28000000 + \ | ||
29 | (CONFIG_MACH_U300_ACCESS_MEM_SIZE + \ | ||
30 | (CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024) | ||
31 | #endif | ||
32 | #define BOOT_PARAMS_OFFSET (0x28000000 + \ | ||
33 | (CONFIG_MACH_U300_ACCESS_MEM_SIZE + \ | ||
34 | (CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1))*1024*1024 + 0x100) | ||
35 | #endif | ||
36 | 18 | ||
37 | /* | 19 | /* |
38 | * We enable a real big DMA buffer if need be. | 20 | * We enable a real big DMA buffer if need be. |
diff --git a/arch/arm/mach-u300/u300.c b/arch/arm/mach-u300/u300.c index 48b3b7f39966..25d11bac2a10 100644 --- a/arch/arm/mach-u300/u300.c +++ b/arch/arm/mach-u300/u300.c | |||
@@ -23,21 +23,6 @@ | |||
23 | #include <asm/mach/arch.h> | 23 | #include <asm/mach/arch.h> |
24 | #include <asm/memory.h> | 24 | #include <asm/memory.h> |
25 | 25 | ||
26 | static void __init u300_reserve(void) | ||
27 | { | ||
28 | /* | ||
29 | * U300 - This platform family can share physical memory | ||
30 | * between two ARM cpus, one running Linux and the other | ||
31 | * running another OS. | ||
32 | */ | ||
33 | #ifdef CONFIG_MACH_U300_SINGLE_RAM | ||
34 | #if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \ | ||
35 | CONFIG_MACH_U300_2MB_ALIGNMENT_FIX | ||
36 | memblock_reserve(PHYS_OFFSET, 0x00100000); | ||
37 | #endif | ||
38 | #endif | ||
39 | } | ||
40 | |||
41 | static void __init u300_init_machine(void) | 26 | static void __init u300_init_machine(void) |
42 | { | 27 | { |
43 | u300_init_devices(); | 28 | u300_init_devices(); |
@@ -63,7 +48,6 @@ MACHINE_START(U300, MACH_U300_STRING) | |||
63 | /* Maintainer: Linus Walleij <linus.walleij@stericsson.com> */ | 48 | /* Maintainer: Linus Walleij <linus.walleij@stericsson.com> */ |
64 | .boot_params = BOOT_PARAMS_OFFSET, | 49 | .boot_params = BOOT_PARAMS_OFFSET, |
65 | .map_io = u300_map_io, | 50 | .map_io = u300_map_io, |
66 | .reserve = u300_reserve, | ||
67 | .init_irq = u300_init_irq, | 51 | .init_irq = u300_init_irq, |
68 | .timer = &u300_timer, | 52 | .timer = &u300_timer, |
69 | .init_machine = u300_init_machine, | 53 | .init_machine = u300_init_machine, |