aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2011-08-09 15:03:43 -0400
committerLinus Walleij <linus.walleij@linaro.org>2011-08-17 04:20:29 -0400
commit73285146544589424e8e1c1ebd6304d3c6231acf (patch)
treebf708ce0fad584054e6904219e58c833d02f72d0 /arch/arm
parent93ee7a9340d64f20295aacc3fb6a22b759323280 (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/Kconfig38
-rw-r--r--arch/arm/mach-u300/Makefile.boot17
-rw-r--r--arch/arm/mach-u300/include/mach/memory.h22
-rw-r--r--arch/arm/mach-u300/u300.c16
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
49endchoice 49endchoice
50 50
51choice
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
58config MACH_U300_SINGLE_RAM
59 bool "Single RAM"
60 help
61 Select this if you want support for Single RAM phones.
62
63config 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.
68endchoice
69
70config U300_DEBUG 51config 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
96comment "All the settings below must match the bootloader's settings"
97
98config 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
106config 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
115endmenu 77endmenu
116 78
117endif 79endif
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) 2params_phys-y := 0x48000100
3# PARAMS_PHYS must be within 4MB of ZRELADDR
4# INITRD_PHYS must be in RAM
5
6ifdef CONFIG_MACH_U300_SINGLE_RAM
7 zreladdr-y := 0x28E08000
8 params_phys-y := 0x28E00100
9else
10 zreladdr-y := 0x48008000
11 params_phys-y := 0x48000100
12endif
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
26static 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
41static void __init u300_init_machine(void) 26static 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,