aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-12-18 10:42:47 -0500
committerArnd Bergmann <arnd@arndb.de>2015-12-18 10:42:47 -0500
commit86fff036fe95600dab337f37577b77742b89833c (patch)
tree6b429820a622ca0614d9081949f9252f81c13fd5
parentd0b6342df0201c9a53629e59b67513fa72d82c58 (diff)
parent93b2d7b15af2805ae10db76c651684c5b88b1e9d (diff)
Merge tag 'realview-multiplatform-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/multiplatform
Pull "Multiplatform support for the RealView" from Linus Walleij: Here is the result of my application of the second part of Arnds patchset, actually enabling multiplatform and getting the RealView off the ground as a multiplatform target. It is dependent on an outstanding patch to the irqchips tree bumping the number of GICs to 2 for the RealView platform. I cannot say I will be sleepless if these go in side by side: each branch will compile but will not boot until both trees have been pulled hurting bisectability a bit. - Tested on the ARM PB11MPCore - Tested with boardfile boot - Tested with DeviceTree boot * tag 'realview-multiplatform-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: realview: select apropriate targets ARM: realview: clean up header files ARM: realview: make all header files local ARM: no longer make CPU targets visible separately ARM: integrator: use explicit core module options ARM: realview: enable multiplatform
-rw-r--r--arch/arm/Kconfig14
-rw-r--r--arch/arm/configs/realview-smp_defconfig9
-rw-r--r--arch/arm/configs/realview_defconfig8
-rw-r--r--arch/arm/mach-integrator/Kconfig132
-rw-r--r--arch/arm/mach-realview/Kconfig55
-rw-r--r--arch/arm/mach-realview/Makefile7
-rw-r--r--arch/arm/mach-realview/board-eb.h (renamed from arch/arm/mach-realview/include/mach/board-eb.h)4
-rw-r--r--arch/arm/mach-realview/board-pb1176.h (renamed from arch/arm/mach-realview/include/mach/board-pb1176.h)4
-rw-r--r--arch/arm/mach-realview/board-pb11mp.h (renamed from arch/arm/mach-realview/include/mach/board-pb11mp.h)4
-rw-r--r--arch/arm/mach-realview/board-pba8.h (renamed from arch/arm/mach-realview/include/mach/board-pba8.h)4
-rw-r--r--arch/arm/mach-realview/board-pbx.h (renamed from arch/arm/mach-realview/include/mach/board-pbx.h)4
-rw-r--r--arch/arm/mach-realview/core.c6
-rw-r--r--arch/arm/mach-realview/core.h2
-rw-r--r--arch/arm/mach-realview/hardware.h (renamed from arch/arm/mach-realview/include/mach/hardware.h)2
-rw-r--r--arch/arm/mach-realview/include/mach/irqs.h40
-rw-r--r--arch/arm/mach-realview/include/mach/uncompress.h77
-rw-r--r--arch/arm/mach-realview/irqs-eb.h (renamed from arch/arm/mach-realview/include/mach/irqs-eb.h)20
-rw-r--r--arch/arm/mach-realview/irqs-pb1176.h (renamed from arch/arm/mach-realview/include/mach/irqs-pb1176.h)23
-rw-r--r--arch/arm/mach-realview/irqs-pb11mp.h (renamed from arch/arm/mach-realview/include/mach/irqs-pb11mp.h)27
-rw-r--r--arch/arm/mach-realview/irqs-pba8.h (renamed from arch/arm/mach-realview/include/mach/irqs-pba8.h)23
-rw-r--r--arch/arm/mach-realview/irqs-pbx.h (renamed from arch/arm/mach-realview/include/mach/irqs-pbx.h)24
-rw-r--r--arch/arm/mach-realview/platform.h (renamed from arch/arm/mach-realview/include/mach/platform.h)2
-rw-r--r--arch/arm/mach-realview/platsmp.c8
-rw-r--r--arch/arm/mach-realview/realview-dt.c1
-rw-r--r--arch/arm/mach-realview/realview_eb.c6
-rw-r--r--arch/arm/mach-realview/realview_pb1176.c6
-rw-r--r--arch/arm/mach-realview/realview_pb11mp.c6
-rw-r--r--arch/arm/mach-realview/realview_pba8.c6
-rw-r--r--arch/arm/mach-realview/realview_pbx.c6
-rw-r--r--arch/arm/mm/Kconfig30
30 files changed, 225 insertions, 335 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index a0fda44551ec..b934d19a154c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -345,20 +345,6 @@ config ARM_SINGLE_ARMV7M
345 select SPARSE_IRQ 345 select SPARSE_IRQ
346 select USE_OF 346 select USE_OF
347 347
348config ARCH_REALVIEW
349 bool "ARM Ltd. RealView family"
350 select ARCH_WANT_OPTIONAL_GPIOLIB
351 select ARM_AMBA
352 select ARM_TIMER_SP804
353 select COMMON_CLK
354 select COMMON_CLK_VERSATILE
355 select GENERIC_CLOCKEVENTS
356 select GPIO_PL061 if GPIOLIB
357 select ICST
358 select PLAT_VERSATILE
359 select PLAT_VERSATILE_SCHED_CLOCK
360 help
361 This enables support for ARM Ltd RealView boards.
362 348
363config ARCH_CLPS711X 349config ARCH_CLPS711X
364 bool "Cirrus Logic CLPS711x/EP721x/EP731x-based" 350 bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
diff --git a/arch/arm/configs/realview-smp_defconfig b/arch/arm/configs/realview-smp_defconfig
index 1da5d9e48224..bff0754bf2c1 100644
--- a/arch/arm/configs/realview-smp_defconfig
+++ b/arch/arm/configs/realview-smp_defconfig
@@ -8,10 +8,19 @@ CONFIG_MODULES=y
8CONFIG_MODULE_UNLOAD=y 8CONFIG_MODULE_UNLOAD=y
9# CONFIG_BLK_DEV_BSG is not set 9# CONFIG_BLK_DEV_BSG is not set
10# CONFIG_IOSCHED_CFQ is not set 10# CONFIG_IOSCHED_CFQ is not set
11CONFIG_ARCH_MULTI_V6=y
11CONFIG_ARCH_REALVIEW=y 12CONFIG_ARCH_REALVIEW=y
13CONFIG_REALVIEW_DT=y
12CONFIG_MACH_REALVIEW_EB=y 14CONFIG_MACH_REALVIEW_EB=y
15CONFIG_REALVIEW_EB_ARM1136=y
16CONFIG_REALVIEW_EB_ARM1176=y
17CONFIG_REALVIEW_EB_A9MP=y
13CONFIG_REALVIEW_EB_ARM11MP=y 18CONFIG_REALVIEW_EB_ARM11MP=y
19CONFIG_REALVIEW_EB_ARM11MP_REVB=y
14CONFIG_MACH_REALVIEW_PB11MP=y 20CONFIG_MACH_REALVIEW_PB11MP=y
21CONFIG_MACH_REALVIEW_PB1176=y
22CONFIG_MACH_REALVIEW_PBA8=y
23CONFIG_MACH_REALVIEW_PBX=y
15CONFIG_SMP=y 24CONFIG_SMP=y
16CONFIG_HOTPLUG_CPU=y 25CONFIG_HOTPLUG_CPU=y
17CONFIG_AEABI=y 26CONFIG_AEABI=y
diff --git a/arch/arm/configs/realview_defconfig b/arch/arm/configs/realview_defconfig
index d02e9d911bb7..bc6bef864b36 100644
--- a/arch/arm/configs/realview_defconfig
+++ b/arch/arm/configs/realview_defconfig
@@ -8,11 +8,19 @@ CONFIG_MODULES=y
8CONFIG_MODULE_UNLOAD=y 8CONFIG_MODULE_UNLOAD=y
9# CONFIG_BLK_DEV_BSG is not set 9# CONFIG_BLK_DEV_BSG is not set
10# CONFIG_IOSCHED_CFQ is not set 10# CONFIG_IOSCHED_CFQ is not set
11CONFIG_ARCH_MULTI_V6=y
11CONFIG_ARCH_REALVIEW=y 12CONFIG_ARCH_REALVIEW=y
13CONFIG_REALVIEW_DT=y
12CONFIG_MACH_REALVIEW_EB=y 14CONFIG_MACH_REALVIEW_EB=y
15CONFIG_REALVIEW_EB_ARM1136=y
16CONFIG_REALVIEW_EB_ARM1176=y
17CONFIG_REALVIEW_EB_A9MP=y
13CONFIG_REALVIEW_EB_ARM11MP=y 18CONFIG_REALVIEW_EB_ARM11MP=y
19CONFIG_REALVIEW_EB_ARM11MP_REVB=y
14CONFIG_MACH_REALVIEW_PB11MP=y 20CONFIG_MACH_REALVIEW_PB11MP=y
15CONFIG_MACH_REALVIEW_PB1176=y 21CONFIG_MACH_REALVIEW_PB1176=y
22CONFIG_MACH_REALVIEW_PBA8=y
23CONFIG_MACH_REALVIEW_PBX=y
16CONFIG_AEABI=y 24CONFIG_AEABI=y
17CONFIG_ZBOOT_ROM_TEXT=0x0 25CONFIG_ZBOOT_ROM_TEXT=0x0
18CONFIG_ZBOOT_ROM_BSS=0x0 26CONFIG_ZBOOT_ROM_BSS=0x0
diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig
index 02d083489a26..e936cf420b48 100644
--- a/arch/arm/mach-integrator/Kconfig
+++ b/arch/arm/mach-integrator/Kconfig
@@ -1,4 +1,4 @@
1config ARCH_INTEGRATOR 1menuconfig ARCH_INTEGRATOR
2 bool "ARM Ltd. Integrator family" if (ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6) 2 bool "ARM Ltd. Integrator family" if (ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6)
3 select ARM_AMBA 3 select ARM_AMBA
4 select ARM_PATCH_PHYS_VIRT if MMU 4 select ARM_PATCH_PHYS_VIRT if MMU
@@ -23,8 +23,6 @@ config ARCH_INTEGRATOR
23 23
24if ARCH_INTEGRATOR 24if ARCH_INTEGRATOR
25 25
26menu "Integrator Options"
27
28config ARCH_INTEGRATOR_AP 26config ARCH_INTEGRATOR_AP
29 bool "Support Integrator/AP and Integrator/PP2 platforms" 27 bool "Support Integrator/AP and Integrator/PP2 platforms"
30 select CLKSRC_MMIO 28 select CLKSRC_MMIO
@@ -36,19 +34,6 @@ config ARCH_INTEGRATOR_AP
36 Include support for the ARM(R) Integrator/AP and 34 Include support for the ARM(R) Integrator/AP and
37 Integrator/PP2 platforms. 35 Integrator/PP2 platforms.
38 36
39config ARCH_INTEGRATOR_CP
40 bool "Support Integrator/CP platform"
41 select ARCH_CINTEGRATOR
42 select ARM_TIMER_SP804
43 select SERIAL_AMBA_PL011 if TTY
44 select SERIAL_AMBA_PL011_CONSOLE if TTY
45 select SOC_BUS
46 help
47 Include support for the ARM(R) Integrator CP platform.
48
49config ARCH_CINTEGRATOR
50 bool
51
52config INTEGRATOR_IMPD1 37config INTEGRATOR_IMPD1
53 bool "Include support for Integrator/IM-PD1" 38 bool "Include support for Integrator/IM-PD1"
54 depends on ARCH_INTEGRATOR_AP 39 depends on ARCH_INTEGRATOR_AP
@@ -63,6 +48,119 @@ config INTEGRATOR_IMPD1
63 To compile this driver as a module, choose M here: the 48 To compile this driver as a module, choose M here: the
64 module will be called impd1. 49 module will be called impd1.
65 50
66endmenu 51config INTEGRATOR_CM7TDMI
52 bool "Integrator/CM7TDMI core module"
53 depends on ARCH_INTEGRATOR_AP
54 depends on ARCH_MULTI_V4 && !MMU
55 select CPU_ARM7TDMI
56
57config INTEGRATOR_CM720T
58 bool "Integrator/CM720T core module"
59 depends on ARCH_INTEGRATOR_AP
60 depends on ARCH_MULTI_V4T
61 select CPU_ARM720T
62
63config INTEGRATOR_CM740T
64 bool "Integrator/CM740T core module"
65 depends on ARCH_INTEGRATOR_AP
66 depends on ARCH_MULTI_V4T && !MMU
67 select CPU_ARM740T
68
69config INTEGRATOR_CM920T
70 bool "Integrator/CM920T core module"
71 depends on ARCH_INTEGRATOR_AP
72 depends on ARCH_MULTI_V4T
73 select CPU_ARM920T
74
75config INTEGRATOR_CM922T_XA10
76 bool "Integrator/CM922T-XA10 core module"
77 depends on ARCH_MULTI_V4T
78 depends on ARCH_INTEGRATOR_AP
79 select CPU_ARM922T
80
81config INTEGRATOR_CM926EJS
82 bool "Integrator/CM926EJ-S core module"
83 depends on ARCH_INTEGRATOR_AP
84 depends on ARCH_MULTI_V5
85 select CPU_ARM926T
86
87config INTEGRATOR_CM940T
88 bool "Integrator/CM940T core module"
89 depends on ARCH_INTEGRATOR_AP
90 depends on ARCH_MULTI_V4T && !MMU
91 select CPU_ARM940T
92
93config INTEGRATOR_CM946ES
94 bool "Integrator/CM946E-S core module"
95 depends on ARCH_INTEGRATOR_AP
96 depends on ARCH_MULTI_V5 && !MMU
97 select CPU_ARM946E
98
99config INTEGRATOR_CM966ES
100 bool "Integrator/CM966E-S core module"
101 depends on ARCH_INTEGRATOR_AP
102 depends on BROKEN # no kernel support
103
104config INTEGRATOR_CM10200E_REV0
105 bool "Integrator/CM10200E rev.0 core module"
106 depends on ARCH_INTEGRATOR_AP && n
107 depends on ARCH_MULTI_V5
108 select CPU_ARM1020
109
110config INTEGRATOR_CM10200E
111 bool "Integrator/CM10200E core module"
112 depends on ARCH_INTEGRATOR_AP && n
113 depends on ARCH_MULTI_V5
114 select CPU_ARM1020E
115
116config INTEGRATOR_CM10220E
117 bool "Integrator/CM10220E core module"
118 depends on ARCH_INTEGRATOR_AP
119 depends on ARCH_MULTI_V5
120 select CPU_ARM1022
121
122config INTEGRATOR_CM1026EJS
123 bool "Integrator/CM1026EJ-S core module"
124 depends on ARCH_INTEGRATOR_AP
125 depends on ARCH_MULTI_V5
126 select CPU_ARM1026
127
128config INTEGRATOR_CM1136JFS
129 bool "Integrator/CM1136JF-S core module"
130 depends on ARCH_INTEGRATOR_AP
131 depends on ARCH_MULTI_V6
132 select CPU_V6
133
134config ARCH_INTEGRATOR_CP
135 bool "Support Integrator/CP platform"
136 depends on (!MMU || ARCH_MULTI_V5 || ARCH_MULTI_V6)
137 select ARM_TIMER_SP804
138 select SERIAL_AMBA_PL011 if TTY
139 select SERIAL_AMBA_PL011_CONSOLE if TTY
140 select SOC_BUS
141 help
142 Include support for the ARM(R) Integrator CP platform.
143
144config INTEGRATOR_CT7T
145 bool "Integrator/CT7TD (ARM7TDMI) core tile"
146 depends on ARCH_INTEGRATOR_CP
147 depends on ARCH_MULTI_V4T && !MMU
148 select CPU_ARM7TDMI
149
150config INTEGRATOR_CT926
151 bool "Integrator/CT926 (ARM926EJ-S) core tile"
152 depends on ARCH_INTEGRATOR_CP
153 depends on ARCH_MULTI_V5
154 select CPU_ARM926T
155
156config INTEGRATOR_CTB36
157 bool "Integrator/CTB36 (ARM1136JF-S) core tile"
158 depends on ARCH_INTEGRATOR_CP
159 depends on ARCH_MULTI_V6
160 select CPU_V6
161
162config ARCH_CINTEGRATOR
163 depends on ARCH_INTEGRATOR_CP
164 def_bool y
67 165
68endif 166endif
diff --git a/arch/arm/mach-realview/Kconfig b/arch/arm/mach-realview/Kconfig
index 7316fff0f3ba..9e01e42bf267 100644
--- a/arch/arm/mach-realview/Kconfig
+++ b/arch/arm/mach-realview/Kconfig
@@ -1,5 +1,16 @@
1menu "RealView platform type" 1menuconfig ARCH_REALVIEW
2 depends on ARCH_REALVIEW 2 bool "ARM Ltd. RealView family" if ARCH_MULTI_V5 || ARCH_MULTI_V6 || ARCH_MULTI_V7
3 select ARM_AMBA
4 select ARM_TIMER_SP804
5 select COMMON_CLK_VERSATILE
6 select GPIO_PL061 if GPIOLIB
7 select ICST
8 select PLAT_VERSATILE
9 select PLAT_VERSATILE_SCHED_CLOCK
10 help
11 This enables support for ARM Ltd RealView boards.
12
13if ARCH_REALVIEW
3 14
4config REALVIEW_DT 15config REALVIEW_DT
5 bool "Support RealView(R) Device Tree based boot" 16 bool "Support RealView(R) Device Tree based boot"
@@ -7,6 +18,7 @@ config REALVIEW_DT
7 select CLK_SP810 18 select CLK_SP810
8 select HAVE_SMP 19 select HAVE_SMP
9 select ICST 20 select ICST
21 select MACH_REALVIEW_EB if ARCH_MULTI_V5
10 select MFD_SYSCON 22 select MFD_SYSCON
11 select POWER_RESET 23 select POWER_RESET
12 select POWER_RESET_VERSATILE 24 select POWER_RESET_VERSATILE
@@ -21,14 +33,32 @@ config REALVIEW_DT
21config MACH_REALVIEW_EB 33config MACH_REALVIEW_EB
22 bool "Support RealView(R) Emulation Baseboard" 34 bool "Support RealView(R) Emulation Baseboard"
23 select ARM_GIC 35 select ARM_GIC
36 select CPU_ARM926T if ARCH_MULTI_V5
24 help 37 help
25 Include support for the ARM(R) RealView(R) Emulation Baseboard 38 Include support for the ARM(R) RealView(R) Emulation Baseboard
26 platform. 39 platform. On an ARMv5 kernel, this will include support for
40 the ARM926EJ-S core tile, while on an ARMv6/v7 kernel, at least
41 one of the ARM1136, ARM1176, ARM11MPCore or Cortex-A9MPCore
42 core tile options should be enabled.
43
44config REALVIEW_EB_ARM1136
45 bool "Support ARM1136J(F)-S Tile"
46 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
47 select CPU_V6
48 help
49 Enable support for the ARM1136 tile fitted to the
50 Realview(R) Emulation Baseboard platform.
51
52config REALVIEW_EB_ARM1176
53 bool "Support ARM1176JZ(F)-S Tile"
54 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
55 help
56 Enable support for the ARM1176 tile fitted to the
57 Realview(R) Emulation Baseboard platform.
27 58
28config REALVIEW_EB_A9MP 59config REALVIEW_EB_A9MP
29 bool "Support Multicore Cortex-A9 Tile" 60 bool "Support Multicore Cortex-A9 Tile"
30 depends on MACH_REALVIEW_EB 61 depends on MACH_REALVIEW_EB && ARCH_MULTI_V7
31 select CPU_V7
32 select HAVE_ARM_SCU if SMP 62 select HAVE_ARM_SCU if SMP
33 select HAVE_ARM_TWD if SMP 63 select HAVE_ARM_TWD if SMP
34 select HAVE_SMP 64 select HAVE_SMP
@@ -39,8 +69,7 @@ config REALVIEW_EB_A9MP
39 69
40config REALVIEW_EB_ARM11MP 70config REALVIEW_EB_ARM11MP
41 bool "Support ARM11MPCore Tile" 71 bool "Support ARM11MPCore Tile"
42 depends on MACH_REALVIEW_EB 72 depends on MACH_REALVIEW_EB && ARCH_MULTI_V6
43 select CPU_V6K
44 select HAVE_ARM_SCU if SMP 73 select HAVE_ARM_SCU if SMP
45 select HAVE_ARM_TWD if SMP 74 select HAVE_ARM_TWD if SMP
46 select HAVE_SMP 75 select HAVE_SMP
@@ -51,7 +80,7 @@ config REALVIEW_EB_ARM11MP
51 80
52config REALVIEW_EB_ARM11MP_REVB 81config REALVIEW_EB_ARM11MP_REVB
53 bool "Support ARM11MPCore RevB Tile" 82 bool "Support ARM11MPCore RevB Tile"
54 depends on REALVIEW_EB_ARM11MP 83 depends on REALVIEW_EB_ARM11MP && ARCH_MULTI_V6
55 help 84 help
56 Enable support for the ARM11MPCore Revision B tile on the 85 Enable support for the ARM11MPCore Revision B tile on the
57 Realview(R) Emulation Baseboard platform. Since there are device 86 Realview(R) Emulation Baseboard platform. Since there are device
@@ -60,8 +89,8 @@ config REALVIEW_EB_ARM11MP_REVB
60 89
61config MACH_REALVIEW_PB11MP 90config MACH_REALVIEW_PB11MP
62 bool "Support RealView(R) Platform Baseboard for ARM11MPCore" 91 bool "Support RealView(R) Platform Baseboard for ARM11MPCore"
92 depends on ARCH_MULTI_V6
63 select ARM_GIC 93 select ARM_GIC
64 select CPU_V6K
65 select HAVE_ARM_SCU if SMP 94 select HAVE_ARM_SCU if SMP
66 select HAVE_ARM_TWD if SMP 95 select HAVE_ARM_TWD if SMP
67 select HAVE_PATA_PLATFORM 96 select HAVE_PATA_PLATFORM
@@ -75,6 +104,7 @@ config MACH_REALVIEW_PB11MP
75# ARMv6 CPU without K extensions, but does have the new exclusive ops 104# ARMv6 CPU without K extensions, but does have the new exclusive ops
76config MACH_REALVIEW_PB1176 105config MACH_REALVIEW_PB1176
77 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S" 106 bool "Support RealView(R) Platform Baseboard for ARM1176JZF-S"
107 depends on ARCH_MULTI_V6
78 select ARM_GIC 108 select ARM_GIC
79 select CPU_V6 109 select CPU_V6
80 select HAVE_TCM 110 select HAVE_TCM
@@ -94,8 +124,8 @@ config REALVIEW_PB1176_SECURE_FLASH
94 124
95config MACH_REALVIEW_PBA8 125config MACH_REALVIEW_PBA8
96 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform" 126 bool "Support RealView(R) Platform Baseboard for Cortex(tm)-A8 platform"
127 depends on ARCH_MULTI_V7
97 select ARM_GIC 128 select ARM_GIC
98 select CPU_V7
99 select HAVE_PATA_PLATFORM 129 select HAVE_PATA_PLATFORM
100 help 130 help
101 Include support for the ARM(R) RealView Platform Baseboard for 131 Include support for the ARM(R) RealView Platform Baseboard for
@@ -103,7 +133,8 @@ config MACH_REALVIEW_PBA8
103 support for PCI-E and Compact Flash. 133 support for PCI-E and Compact Flash.
104 134
105config MACH_REALVIEW_PBX 135config MACH_REALVIEW_PBX
106 bool "Support RealView(R) Platform Baseboard Explore" 136 bool "Support RealView(R) Platform Baseboard Explore for Cortex-A9"
137 depends on ARCH_MULTI_V7
107 select ARM_GIC 138 select ARM_GIC
108 select HAVE_ARM_SCU if SMP 139 select HAVE_ARM_SCU if SMP
109 select HAVE_ARM_TWD if SMP 140 select HAVE_ARM_TWD if SMP
@@ -127,4 +158,4 @@ config REALVIEW_HIGH_PHYS_OFFSET
127 offset. On the PBX board, disabling this option allows 1GB of 158 offset. On the PBX board, disabling this option allows 1GB of
128 RAM to be used with HIGHMEM. 159 RAM to be used with HIGHMEM.
129 160
130endmenu 161endif
diff --git a/arch/arm/mach-realview/Makefile b/arch/arm/mach-realview/Makefile
index a46fa694cf07..a4392f545a31 100644
--- a/arch/arm/mach-realview/Makefile
+++ b/arch/arm/mach-realview/Makefile
@@ -1,13 +1,18 @@
1# 1#
2# Makefile for the linux kernel. 2# Makefile for the linux kernel.
3# 3#
4ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \
5 -I$(srctree)/arch/arm/plat-versatile/include
6
4 7
5obj-y := core.o
6obj-$(CONFIG_REALVIEW_DT) += realview-dt.o platsmp-dt.o 8obj-$(CONFIG_REALVIEW_DT) += realview-dt.o platsmp-dt.o
9obj-y := core.o
10ifdef CONFIG_ATAGS
7obj-$(CONFIG_MACH_REALVIEW_EB) += realview_eb.o 11obj-$(CONFIG_MACH_REALVIEW_EB) += realview_eb.o
8obj-$(CONFIG_MACH_REALVIEW_PB11MP) += realview_pb11mp.o 12obj-$(CONFIG_MACH_REALVIEW_PB11MP) += realview_pb11mp.o
9obj-$(CONFIG_MACH_REALVIEW_PB1176) += realview_pb1176.o 13obj-$(CONFIG_MACH_REALVIEW_PB1176) += realview_pb1176.o
10obj-$(CONFIG_MACH_REALVIEW_PBA8) += realview_pba8.o 14obj-$(CONFIG_MACH_REALVIEW_PBA8) += realview_pba8.o
11obj-$(CONFIG_MACH_REALVIEW_PBX) += realview_pbx.o 15obj-$(CONFIG_MACH_REALVIEW_PBX) += realview_pbx.o
16endif
12obj-$(CONFIG_SMP) += platsmp.o 17obj-$(CONFIG_SMP) += platsmp.o
13obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o 18obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
diff --git a/arch/arm/mach-realview/include/mach/board-eb.h b/arch/arm/mach-realview/board-eb.h
index a301e61a5554..a850ae6945b0 100644
--- a/arch/arm/mach-realview/include/mach/board-eb.h
+++ b/arch/arm/mach-realview/board-eb.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/board-eb.h
3 *
4 * Copyright (C) 2007 ARM Limited 2 * Copyright (C) 2007 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -21,7 +19,7 @@
21#ifndef __ASM_ARCH_BOARD_EB_H 19#ifndef __ASM_ARCH_BOARD_EB_H
22#define __ASM_ARCH_BOARD_EB_H 20#define __ASM_ARCH_BOARD_EB_H
23 21
24#include <mach/platform.h> 22#include "platform.h"
25 23
26/* 24/*
27 * RealView EB + ARM11MPCore peripheral addresses 25 * RealView EB + ARM11MPCore peripheral addresses
diff --git a/arch/arm/mach-realview/include/mach/board-pb1176.h b/arch/arm/mach-realview/board-pb1176.h
index 2a15fef94730..29c04a9e1344 100644
--- a/arch/arm/mach-realview/include/mach/board-pb1176.h
+++ b/arch/arm/mach-realview/board-pb1176.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/board-pb1176.h
3 *
4 * Copyright (C) 2008 ARM Limited 2 * Copyright (C) 2008 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -21,7 +19,7 @@
21#ifndef __ASM_ARCH_BOARD_PB1176_H 19#ifndef __ASM_ARCH_BOARD_PB1176_H
22#define __ASM_ARCH_BOARD_PB1176_H 20#define __ASM_ARCH_BOARD_PB1176_H
23 21
24#include <mach/platform.h> 22#include "platform.h"
25 23
26/* 24/*
27 * Peripheral addresses 25 * Peripheral addresses
diff --git a/arch/arm/mach-realview/include/mach/board-pb11mp.h b/arch/arm/mach-realview/board-pb11mp.h
index aa2d4e02ea2c..b16e6e85e92d 100644
--- a/arch/arm/mach-realview/include/mach/board-pb11mp.h
+++ b/arch/arm/mach-realview/board-pb11mp.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/board-pb11mp.h
3 *
4 * Copyright (C) 2008 ARM Limited 2 * Copyright (C) 2008 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -21,7 +19,7 @@
21#ifndef __ASM_ARCH_BOARD_PB11MP_H 19#ifndef __ASM_ARCH_BOARD_PB11MP_H
22#define __ASM_ARCH_BOARD_PB11MP_H 20#define __ASM_ARCH_BOARD_PB11MP_H
23 21
24#include <mach/platform.h> 22#include "platform.h"
25 23
26/* 24/*
27 * Peripheral addresses 25 * Peripheral addresses
diff --git a/arch/arm/mach-realview/include/mach/board-pba8.h b/arch/arm/mach-realview/board-pba8.h
index 4dfc67a4f45f..6a1391f50373 100644
--- a/arch/arm/mach-realview/include/mach/board-pba8.h
+++ b/arch/arm/mach-realview/board-pba8.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * include/asm-arm/arch-realview/board-pba8.h
3 *
4 * Copyright (C) 2008 ARM Limited 2 * Copyright (C) 2008 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -21,7 +19,7 @@
21#ifndef __ASM_ARCH_BOARD_PBA8_H 19#ifndef __ASM_ARCH_BOARD_PBA8_H
22#define __ASM_ARCH_BOARD_PBA8_H 20#define __ASM_ARCH_BOARD_PBA8_H
23 21
24#include <mach/platform.h> 22#include "platform.h"
25 23
26/* 24/*
27 * Peripheral addresses 25 * Peripheral addresses
diff --git a/arch/arm/mach-realview/include/mach/board-pbx.h b/arch/arm/mach-realview/board-pbx.h
index 848bfff6d8f1..5cda480b12bb 100644
--- a/arch/arm/mach-realview/include/mach/board-pbx.h
+++ b/arch/arm/mach-realview/board-pbx.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/board-pbx.h
3 *
4 * Copyright (C) 2009 ARM Limited 2 * Copyright (C) 2009 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -20,7 +18,7 @@
20#ifndef __ASM_ARCH_BOARD_PBX_H 18#ifndef __ASM_ARCH_BOARD_PBX_H
21#define __ASM_ARCH_BOARD_PBX_H 19#define __ASM_ARCH_BOARD_PBX_H
22 20
23#include <mach/platform.h> 21#include "platform.h"
24 22
25/* 23/*
26 * Peripheral addresses 24 * Peripheral addresses
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c
index 44575edc44b1..baf174542e36 100644
--- a/arch/arm/mach-realview/core.c
+++ b/arch/arm/mach-realview/core.c
@@ -36,8 +36,7 @@
36#include <linux/memblock.h> 36#include <linux/memblock.h>
37 37
38#include <clocksource/timer-sp804.h> 38#include <clocksource/timer-sp804.h>
39 39#include "hardware.h"
40#include <mach/hardware.h>
41#include <asm/irq.h> 40#include <asm/irq.h>
42#include <asm/mach-types.h> 41#include <asm/mach-types.h>
43#include <asm/hardware/icst.h> 42#include <asm/hardware/icst.h>
@@ -46,8 +45,7 @@
46#include <asm/mach/irq.h> 45#include <asm/mach/irq.h>
47#include <asm/mach/map.h> 46#include <asm/mach/map.h>
48 47
49#include <mach/platform.h> 48#include "platform.h"
50#include <mach/irqs.h>
51 49
52#include <plat/sched_clock.h> 50#include <plat/sched_clock.h>
53 51
diff --git a/arch/arm/mach-realview/core.h b/arch/arm/mach-realview/core.h
index 868ece221978..e1640b2f4350 100644
--- a/arch/arm/mach-realview/core.h
+++ b/arch/arm/mach-realview/core.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * linux/arch/arm/mach-realview/core.h
3 *
4 * Copyright (C) 2004 ARM Limited 2 * Copyright (C) 2004 ARM Limited
5 * Copyright (C) 2000 Deep Blue Solutions Ltd 3 * Copyright (C) 2000 Deep Blue Solutions Ltd
6 * 4 *
diff --git a/arch/arm/mach-realview/include/mach/hardware.h b/arch/arm/mach-realview/hardware.h
index 281e71c97525..957a230aadf4 100644
--- a/arch/arm/mach-realview/include/mach/hardware.h
+++ b/arch/arm/mach-realview/hardware.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/hardware.h
3 *
4 * This file contains the hardware definitions of the RealView boards. 2 * This file contains the hardware definitions of the RealView boards.
5 * 3 *
6 * Copyright (C) 2003 ARM Limited. 4 * Copyright (C) 2003 ARM Limited.
diff --git a/arch/arm/mach-realview/include/mach/irqs.h b/arch/arm/mach-realview/include/mach/irqs.h
deleted file mode 100644
index 78854f2fa323..000000000000
--- a/arch/arm/mach-realview/include/mach/irqs.h
+++ /dev/null
@@ -1,40 +0,0 @@
1/*
2 * arch/arm/mach-realview/include/mach/irqs.h
3 *
4 * Copyright (C) 2003 ARM Limited
5 * Copyright (C) 2000 Deep Blue Solutions Ltd.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
22#ifndef __ASM_ARCH_IRQS_H
23#define __ASM_ARCH_IRQS_H
24
25#include <mach/irqs-eb.h>
26#include <mach/irqs-pb11mp.h>
27#include <mach/irqs-pb1176.h>
28#include <mach/irqs-pba8.h>
29#include <mach/irqs-pbx.h>
30
31#define IRQ_LOCALTIMER 29
32#define IRQ_LOCALWDOG 30
33
34#define IRQ_GIC_START 32
35
36#ifndef NR_IRQS
37#error "NR_IRQS not defined by the board-specific files"
38#endif
39
40#endif
diff --git a/arch/arm/mach-realview/include/mach/uncompress.h b/arch/arm/mach-realview/include/mach/uncompress.h
deleted file mode 100644
index cfa30d21783b..000000000000
--- a/arch/arm/mach-realview/include/mach/uncompress.h
+++ /dev/null
@@ -1,77 +0,0 @@
1/*
2 * arch/arm/mach-realview/include/mach/uncompress.h
3 *
4 * Copyright (C) 2003 ARM Limited
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20#include <mach/hardware.h>
21#include <asm/mach-types.h>
22
23#include <mach/board-eb.h>
24#include <mach/board-pb11mp.h>
25#include <mach/board-pb1176.h>
26#include <mach/board-pba8.h>
27#include <mach/board-pbx.h>
28
29#define AMBA_UART_DR(base) (*(volatile unsigned char *)((base) + 0x00))
30#define AMBA_UART_LCRH(base) (*(volatile unsigned char *)((base) + 0x2c))
31#define AMBA_UART_CR(base) (*(volatile unsigned char *)((base) + 0x30))
32#define AMBA_UART_FR(base) (*(volatile unsigned char *)((base) + 0x18))
33
34/*
35 * Return the UART base address
36 */
37static inline unsigned long get_uart_base(void)
38{
39 if (machine_is_realview_eb())
40 return REALVIEW_EB_UART0_BASE;
41 else if (machine_is_realview_pb11mp())
42 return REALVIEW_PB11MP_UART0_BASE;
43 else if (machine_is_realview_pb1176())
44 return REALVIEW_PB1176_UART0_BASE;
45 else if (machine_is_realview_pba8())
46 return REALVIEW_PBA8_UART0_BASE;
47 else if (machine_is_realview_pbx())
48 return REALVIEW_PBX_UART0_BASE;
49 else
50 return 0;
51}
52
53/*
54 * This does not append a newline
55 */
56static inline void putc(int c)
57{
58 unsigned long base = get_uart_base();
59
60 while (AMBA_UART_FR(base) & (1 << 5))
61 barrier();
62
63 AMBA_UART_DR(base) = c;
64}
65
66static inline void flush(void)
67{
68 unsigned long base = get_uart_base();
69
70 while (AMBA_UART_FR(base) & (1 << 3))
71 barrier();
72}
73
74/*
75 * nothing to do
76 */
77#define arch_decomp_setup()
diff --git a/arch/arm/mach-realview/include/mach/irqs-eb.h b/arch/arm/mach-realview/irqs-eb.h
index 44754230fdcc..61e31680a749 100644
--- a/arch/arm/mach-realview/include/mach/irqs-eb.h
+++ b/arch/arm/mach-realview/irqs-eb.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/irqs-eb.h
3 *
4 * Copyright (C) 2007 ARM Limited 2 * Copyright (C) 2007 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -21,6 +19,7 @@
21#ifndef __MACH_IRQS_EB_H 19#ifndef __MACH_IRQS_EB_H
22#define __MACH_IRQS_EB_H 20#define __MACH_IRQS_EB_H
23 21
22#define IRQ_LOCALTIMER 29
24#define IRQ_EB_GIC_START 32 23#define IRQ_EB_GIC_START 32
25 24
26/* 25/*
@@ -112,21 +111,4 @@
112 111
113#define NR_GIC_EB11MP 2 112#define NR_GIC_EB11MP 2
114 113
115/*
116 * Only define NR_IRQS if less than NR_IRQS_EB
117 */
118#define NR_IRQS_EB (IRQ_EB_GIC_START + 128)
119
120#if defined(CONFIG_MACH_REALVIEW_EB) \
121 && (!defined(NR_IRQS) || (NR_IRQS < NR_IRQS_EB))
122#undef NR_IRQS
123#define NR_IRQS NR_IRQS_EB
124#endif
125
126#if defined(CONFIG_REALVIEW_EB_ARM11MP) || defined(CONFIG_REALVIEW_EB_A9MP) \
127 && (!defined(MAX_GIC_NR) || (MAX_GIC_NR < NR_GIC_EB11MP))
128#undef MAX_GIC_NR
129#define MAX_GIC_NR NR_GIC_EB11MP
130#endif
131
132#endif /* __MACH_IRQS_EB_H */ 114#endif /* __MACH_IRQS_EB_H */
diff --git a/arch/arm/mach-realview/include/mach/irqs-pb1176.h b/arch/arm/mach-realview/irqs-pb1176.h
index 708f84156f2c..778edfd430e7 100644
--- a/arch/arm/mach-realview/include/mach/irqs-pb1176.h
+++ b/arch/arm/mach-realview/irqs-pb1176.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/irqs-pb1176.h
3 *
4 * Copyright (C) 2008 ARM Limited 2 * Copyright (C) 2008 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -76,25 +74,4 @@
76 74
77#define IRQ_PB1176_SCTL -1 75#define IRQ_PB1176_SCTL -1
78 76
79#define NR_GIC_PB1176 2
80
81/*
82 * Only define NR_IRQS if less than NR_IRQS_PB1176
83 */
84#define NR_IRQS_PB1176 (IRQ_DC1176_GIC_START + 96)
85
86#if defined(CONFIG_MACH_REALVIEW_PB1176)
87
88#if !defined(NR_IRQS) || (NR_IRQS < NR_IRQS_PB1176)
89#undef NR_IRQS
90#define NR_IRQS NR_IRQS_PB1176
91#endif
92
93#if !defined(MAX_GIC_NR) || (MAX_GIC_NR < NR_GIC_PB1176)
94#undef MAX_GIC_NR
95#define MAX_GIC_NR NR_GIC_PB1176
96#endif
97
98#endif /* CONFIG_MACH_REALVIEW_PB1176 */
99
100#endif /* __MACH_IRQS_PB1176_H */ 77#endif /* __MACH_IRQS_PB1176_H */
diff --git a/arch/arm/mach-realview/include/mach/irqs-pb11mp.h b/arch/arm/mach-realview/irqs-pb11mp.h
index 34e255add21e..938898a3df9f 100644
--- a/arch/arm/mach-realview/include/mach/irqs-pb11mp.h
+++ b/arch/arm/mach-realview/irqs-pb11mp.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/irqs-pb11mp.h
3 *
4 * Copyright (C) 2008 ARM Limited 2 * Copyright (C) 2008 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -21,6 +19,7 @@
21#ifndef __MACH_IRQS_PB11MP_H 19#ifndef __MACH_IRQS_PB11MP_H
22#define __MACH_IRQS_PB11MP_H 20#define __MACH_IRQS_PB11MP_H
23 21
22#define IRQ_LOCALTIMER 29
24#define IRQ_TC11MP_GIC_START 32 23#define IRQ_TC11MP_GIC_START 32
25#define IRQ_PB11MP_GIC_START 64 24#define IRQ_PB11MP_GIC_START 64
26 25
@@ -95,28 +94,4 @@
95#define IRQ_PB11MP_TSPEN (IRQ_PB11MP_GIC_START + 30) /* Touchscreen pen */ 94#define IRQ_PB11MP_TSPEN (IRQ_PB11MP_GIC_START + 30) /* Touchscreen pen */
96#define IRQ_PB11MP_TSKPAD (IRQ_PB11MP_GIC_START + 31) /* Touchscreen keypad */ 95#define IRQ_PB11MP_TSKPAD (IRQ_PB11MP_GIC_START + 31) /* Touchscreen keypad */
97 96
98#define IRQ_PB11MP_SMC -1
99#define IRQ_PB11MP_SCTL -1
100
101#define NR_GIC_PB11MP 2
102
103/*
104 * Only define NR_IRQS if less than NR_IRQS_PB11MP
105 */
106#define NR_IRQS_PB11MP (IRQ_TC11MP_GIC_START + 96)
107
108#if defined(CONFIG_MACH_REALVIEW_PB11MP)
109
110#if !defined(NR_IRQS) || (NR_IRQS < NR_IRQS_PB11MP)
111#undef NR_IRQS
112#define NR_IRQS NR_IRQS_PB11MP
113#endif
114
115#if !defined(MAX_GIC_NR) || (MAX_GIC_NR < NR_GIC_PB11MP)
116#undef MAX_GIC_NR
117#define MAX_GIC_NR NR_GIC_PB11MP
118#endif
119
120#endif /* CONFIG_MACH_REALVIEW_PB11MP */
121
122#endif /* __MACH_IRQS_PB11MP_H */ 97#endif /* __MACH_IRQS_PB11MP_H */
diff --git a/arch/arm/mach-realview/include/mach/irqs-pba8.h b/arch/arm/mach-realview/irqs-pba8.h
index 4a88a4edb651..262e321938b8 100644
--- a/arch/arm/mach-realview/include/mach/irqs-pba8.h
+++ b/arch/arm/mach-realview/irqs-pba8.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/irqs-pba8.h
3 *
4 * Copyright (C) 2008 ARM Limited 2 * Copyright (C) 2008 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -70,25 +68,4 @@
70#define IRQ_PBA8_SMC -1 68#define IRQ_PBA8_SMC -1
71#define IRQ_PBA8_SCTL -1 69#define IRQ_PBA8_SCTL -1
72 70
73#define NR_GIC_PBA8 1
74
75/*
76 * Only define NR_IRQS if less than NR_IRQS_PBA8
77 */
78#define NR_IRQS_PBA8 (IRQ_PBA8_GIC_START + 64)
79
80#if defined(CONFIG_MACH_REALVIEW_PBA8)
81
82#if !defined(NR_IRQS) || (NR_IRQS < NR_IRQS_PBA8)
83#undef NR_IRQS
84#define NR_IRQS NR_IRQS_PBA8
85#endif
86
87#if !defined(MAX_GIC_NR) || (MAX_GIC_NR < NR_GIC_PBA8)
88#undef MAX_GIC_NR
89#define MAX_GIC_NR NR_GIC_PBA8
90#endif
91
92#endif /* CONFIG_MACH_REALVIEW_PBA8 */
93
94#endif /* __MACH_IRQS_PBA8_H */ 71#endif /* __MACH_IRQS_PBA8_H */
diff --git a/arch/arm/mach-realview/include/mach/irqs-pbx.h b/arch/arm/mach-realview/irqs-pbx.h
index 206a3001f46b..4ef0567dec32 100644
--- a/arch/arm/mach-realview/include/mach/irqs-pbx.h
+++ b/arch/arm/mach-realview/irqs-pbx.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/irqs-pbx.h
3 *
4 * Copyright (C) 2009 ARM Limited 2 * Copyright (C) 2009 ARM Limited
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
@@ -20,6 +18,7 @@
20#ifndef __MACH_IRQS_PBX_H 18#ifndef __MACH_IRQS_PBX_H
21#define __MACH_IRQS_PBX_H 19#define __MACH_IRQS_PBX_H
22 20
21#define IRQ_LOCALTIMER 29
23#define IRQ_PBX_GIC_START 32 22#define IRQ_PBX_GIC_START 32
24 23
25/* 24/*
@@ -85,25 +84,4 @@
85#define IRQ_PBX_SMC -1 84#define IRQ_PBX_SMC -1
86#define IRQ_PBX_SCTL -1 85#define IRQ_PBX_SCTL -1
87 86
88#define NR_GIC_PBX 1
89
90/*
91 * Only define NR_IRQS if less than NR_IRQS_PBX
92 */
93#define NR_IRQS_PBX (IRQ_PBX_GIC_START + 96)
94
95#if defined(CONFIG_MACH_REALVIEW_PBX)
96
97#if !defined(NR_IRQS) || (NR_IRQS < NR_IRQS_PBX)
98#undef NR_IRQS
99#define NR_IRQS NR_IRQS_PBX
100#endif
101
102#if !defined(MAX_GIC_NR) || (MAX_GIC_NR < NR_GIC_PBX)
103#undef MAX_GIC_NR
104#define MAX_GIC_NR NR_GIC_PBX
105#endif
106
107#endif /* CONFIG_MACH_REALVIEW_PBX */
108
109#endif /* __MACH_IRQS_PBX_H */ 87#endif /* __MACH_IRQS_PBX_H */
diff --git a/arch/arm/mach-realview/include/mach/platform.h b/arch/arm/mach-realview/platform.h
index 1b77a27badaf..11121739d371 100644
--- a/arch/arm/mach-realview/include/mach/platform.h
+++ b/arch/arm/mach-realview/platform.h
@@ -1,6 +1,4 @@
1/* 1/*
2 * arch/arm/mach-realview/include/mach/platform.h
3 *
4 * Copyright (c) ARM Limited 2003. All rights reserved. 2 * Copyright (c) ARM Limited 2003. All rights reserved.
5 * 3 *
6 * This program is free software; you can redistribute it and/or modify 4 * This program is free software; you can redistribute it and/or modify
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c
index 98e3052b7933..a2331b36ccce 100644
--- a/arch/arm/mach-realview/platsmp.c
+++ b/arch/arm/mach-realview/platsmp.c
@@ -13,13 +13,13 @@
13#include <linux/smp.h> 13#include <linux/smp.h>
14#include <linux/io.h> 14#include <linux/io.h>
15 15
16#include <mach/hardware.h> 16#include "hardware.h"
17#include <asm/mach-types.h> 17#include <asm/mach-types.h>
18#include <asm/smp_scu.h> 18#include <asm/smp_scu.h>
19 19
20#include <mach/board-eb.h> 20#include "board-eb.h"
21#include <mach/board-pb11mp.h> 21#include "board-pb11mp.h"
22#include <mach/board-pbx.h> 22#include "board-pbx.h"
23 23
24#include <plat/platsmp.h> 24#include <plat/platsmp.h>
25 25
diff --git a/arch/arm/mach-realview/realview-dt.c b/arch/arm/mach-realview/realview-dt.c
index 382cc1b90519..88b67247945e 100644
--- a/arch/arm/mach-realview/realview-dt.c
+++ b/arch/arm/mach-realview/realview-dt.c
@@ -11,7 +11,6 @@
11#include <linux/of_platform.h> 11#include <linux/of_platform.h>
12#include <asm/mach/arch.h> 12#include <asm/mach/arch.h>
13#include <asm/hardware/cache-l2x0.h> 13#include <asm/hardware/cache-l2x0.h>
14#include "core.h"
15 14
16static const char *const realview_dt_platform_compat[] __initconst = { 15static const char *const realview_dt_platform_compat[] __initconst = {
17 "arm,realview-eb", 16 "arm,realview-eb",
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c
index 1a2a89708fb7..b442fa61e943 100644
--- a/arch/arm/mach-realview/realview_eb.c
+++ b/arch/arm/mach-realview/realview_eb.c
@@ -31,7 +31,7 @@
31#include <linux/platform_data/clk-realview.h> 31#include <linux/platform_data/clk-realview.h>
32#include <linux/reboot.h> 32#include <linux/reboot.h>
33 33
34#include <mach/hardware.h> 34#include "hardware.h"
35#include <asm/irq.h> 35#include <asm/irq.h>
36#include <asm/mach-types.h> 36#include <asm/mach-types.h>
37#include <asm/pgtable.h> 37#include <asm/pgtable.h>
@@ -44,8 +44,8 @@
44#include <asm/mach/map.h> 44#include <asm/mach/map.h>
45#include <asm/mach/time.h> 45#include <asm/mach/time.h>
46 46
47#include <mach/board-eb.h> 47#include "board-eb.h"
48#include <mach/irqs.h> 48#include "irqs-eb.h"
49 49
50#include "core.h" 50#include "core.h"
51 51
diff --git a/arch/arm/mach-realview/realview_pb1176.c b/arch/arm/mach-realview/realview_pb1176.c
index ce92c1823494..537f3878d501 100644
--- a/arch/arm/mach-realview/realview_pb1176.c
+++ b/arch/arm/mach-realview/realview_pb1176.c
@@ -34,7 +34,7 @@
34#include <linux/reboot.h> 34#include <linux/reboot.h>
35#include <linux/memblock.h> 35#include <linux/memblock.h>
36 36
37#include <mach/hardware.h> 37#include "hardware.h"
38#include <asm/irq.h> 38#include <asm/irq.h>
39#include <asm/mach-types.h> 39#include <asm/mach-types.h>
40#include <asm/pgtable.h> 40#include <asm/pgtable.h>
@@ -45,8 +45,8 @@
45#include <asm/mach/map.h> 45#include <asm/mach/map.h>
46#include <asm/mach/time.h> 46#include <asm/mach/time.h>
47 47
48#include <mach/board-pb1176.h> 48#include "board-pb1176.h"
49#include <mach/irqs.h> 49#include "irqs-pb1176.h"
50 50
51#include "core.h" 51#include "core.h"
52 52
diff --git a/arch/arm/mach-realview/realview_pb11mp.c b/arch/arm/mach-realview/realview_pb11mp.c
index 5bb460300b6a..a90a0752f157 100644
--- a/arch/arm/mach-realview/realview_pb11mp.c
+++ b/arch/arm/mach-realview/realview_pb11mp.c
@@ -31,7 +31,7 @@
31#include <linux/platform_data/clk-realview.h> 31#include <linux/platform_data/clk-realview.h>
32#include <linux/reboot.h> 32#include <linux/reboot.h>
33 33
34#include <mach/hardware.h> 34#include "hardware.h"
35#include <asm/irq.h> 35#include <asm/irq.h>
36#include <asm/mach-types.h> 36#include <asm/mach-types.h>
37#include <asm/pgtable.h> 37#include <asm/pgtable.h>
@@ -44,8 +44,8 @@
44#include <asm/mach/time.h> 44#include <asm/mach/time.h>
45#include <asm/outercache.h> 45#include <asm/outercache.h>
46 46
47#include <mach/board-pb11mp.h> 47#include "board-pb11mp.h"
48#include <mach/irqs.h> 48#include "irqs-pb11mp.h"
49 49
50#include "core.h" 50#include "core.h"
51 51
diff --git a/arch/arm/mach-realview/realview_pba8.c b/arch/arm/mach-realview/realview_pba8.c
index b3549a637ff0..ddafb67c2b6f 100644
--- a/arch/arm/mach-realview/realview_pba8.c
+++ b/arch/arm/mach-realview/realview_pba8.c
@@ -39,9 +39,9 @@
39#include <asm/mach/map.h> 39#include <asm/mach/map.h>
40#include <asm/mach/time.h> 40#include <asm/mach/time.h>
41 41
42#include <mach/hardware.h> 42#include "hardware.h"
43#include <mach/board-pba8.h> 43#include "board-pba8.h"
44#include <mach/irqs.h> 44#include "irqs-pba8.h"
45 45
46#include "core.h" 46#include "core.h"
47 47
diff --git a/arch/arm/mach-realview/realview_pbx.c b/arch/arm/mach-realview/realview_pbx.c
index f26e1e09f29e..b9f0757787ac 100644
--- a/arch/arm/mach-realview/realview_pbx.c
+++ b/arch/arm/mach-realview/realview_pbx.c
@@ -41,9 +41,9 @@
41#include <asm/mach/map.h> 41#include <asm/mach/map.h>
42#include <asm/mach/time.h> 42#include <asm/mach/time.h>
43 43
44#include <mach/hardware.h> 44#include "hardware.h"
45#include <mach/board-pbx.h> 45#include "board-pbx.h"
46#include <mach/irqs.h> 46#include "irqs-pbx.h"
47 47
48#include "core.h" 48#include "core.h"
49 49
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index 76f65f2d59b1..549f6d3aec5b 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -21,7 +21,7 @@ config CPU_ARM7TDMI
21 21
22# ARM720T 22# ARM720T
23config CPU_ARM720T 23config CPU_ARM720T
24 bool "Support ARM720T processor" if (ARCH_MULTI_V4T && ARCH_INTEGRATOR) 24 bool
25 select CPU_32v4T 25 select CPU_32v4T
26 select CPU_ABRT_LV4T 26 select CPU_ABRT_LV4T
27 select CPU_CACHE_V4 27 select CPU_CACHE_V4
@@ -39,7 +39,7 @@ config CPU_ARM720T
39 39
40# ARM740T 40# ARM740T
41config CPU_ARM740T 41config CPU_ARM740T
42 bool "Support ARM740T processor" if (ARCH_MULTI_V4T && ARCH_INTEGRATOR) 42 bool
43 depends on !MMU 43 depends on !MMU
44 select CPU_32v4T 44 select CPU_32v4T
45 select CPU_ABRT_LV4T 45 select CPU_ABRT_LV4T
@@ -71,7 +71,7 @@ config CPU_ARM9TDMI
71 71
72# ARM920T 72# ARM920T
73config CPU_ARM920T 73config CPU_ARM920T
74 bool "Support ARM920T processor" if (ARCH_MULTI_V4T && ARCH_INTEGRATOR) 74 bool
75 select CPU_32v4T 75 select CPU_32v4T
76 select CPU_ABRT_EV4T 76 select CPU_ABRT_EV4T
77 select CPU_CACHE_V4WT 77 select CPU_CACHE_V4WT
@@ -89,7 +89,7 @@ config CPU_ARM920T
89 89
90# ARM922T 90# ARM922T
91config CPU_ARM922T 91config CPU_ARM922T
92 bool "Support ARM922T processor" if (ARCH_MULTI_V4T && ARCH_INTEGRATOR) 92 bool
93 select CPU_32v4T 93 select CPU_32v4T
94 select CPU_ABRT_EV4T 94 select CPU_ABRT_EV4T
95 select CPU_CACHE_V4WT 95 select CPU_CACHE_V4WT
@@ -108,7 +108,7 @@ config CPU_ARM922T
108 108
109# ARM925T 109# ARM925T
110config CPU_ARM925T 110config CPU_ARM925T
111 bool "Support ARM925T processor" if ARCH_OMAP1 111 bool
112 select CPU_32v4T 112 select CPU_32v4T
113 select CPU_ABRT_EV4T 113 select CPU_ABRT_EV4T
114 select CPU_CACHE_V4WT 114 select CPU_CACHE_V4WT
@@ -127,7 +127,7 @@ config CPU_ARM925T
127 127
128# ARM926T 128# ARM926T
129config CPU_ARM926T 129config CPU_ARM926T
130 bool "Support ARM926T processor" if (!ARCH_MULTIPLATFORM || ARCH_MULTI_V5) && (ARCH_INTEGRATOR || MACH_REALVIEW_EB) 130 bool
131 select CPU_32v5 131 select CPU_32v5
132 select CPU_ABRT_EV5TJ 132 select CPU_ABRT_EV5TJ
133 select CPU_CACHE_VIVT 133 select CPU_CACHE_VIVT
@@ -163,7 +163,7 @@ config CPU_FA526
163 163
164# ARM940T 164# ARM940T
165config CPU_ARM940T 165config CPU_ARM940T
166 bool "Support ARM940T processor" if (ARCH_MULTI_V4T && ARCH_INTEGRATOR) 166 bool
167 depends on !MMU 167 depends on !MMU
168 select CPU_32v4T 168 select CPU_32v4T
169 select CPU_ABRT_NOMMU 169 select CPU_ABRT_NOMMU
@@ -181,7 +181,7 @@ config CPU_ARM940T
181 181
182# ARM946E-S 182# ARM946E-S
183config CPU_ARM946E 183config CPU_ARM946E
184 bool "Support ARM946E-S processor" if (ARCH_MULTI_V5 && ARCH_INTEGRATOR) 184 bool
185 depends on !MMU 185 depends on !MMU
186 select CPU_32v5 186 select CPU_32v5
187 select CPU_ABRT_NOMMU 187 select CPU_ABRT_NOMMU
@@ -198,7 +198,7 @@ config CPU_ARM946E
198 198
199# ARM1020 - needs validating 199# ARM1020 - needs validating
200config CPU_ARM1020 200config CPU_ARM1020
201 bool "Support ARM1020T (rev 0) processor" if (ARCH_MULTI_V5 && ARCH_INTEGRATOR) 201 bool
202 select CPU_32v5 202 select CPU_32v5
203 select CPU_ABRT_EV4T 203 select CPU_ABRT_EV4T
204 select CPU_CACHE_V4WT 204 select CPU_CACHE_V4WT
@@ -216,7 +216,7 @@ config CPU_ARM1020
216 216
217# ARM1020E - needs validating 217# ARM1020E - needs validating
218config CPU_ARM1020E 218config CPU_ARM1020E
219 bool "Support ARM1020E processor" if (ARCH_MULTI_V5 && ARCH_INTEGRATOR) 219 bool
220 depends on n 220 depends on n
221 select CPU_32v5 221 select CPU_32v5
222 select CPU_ABRT_EV4T 222 select CPU_ABRT_EV4T
@@ -229,7 +229,7 @@ config CPU_ARM1020E
229 229
230# ARM1022E 230# ARM1022E
231config CPU_ARM1022 231config CPU_ARM1022
232 bool "Support ARM1022E processor" if (ARCH_MULTI_V5 && ARCH_INTEGRATOR) 232 bool
233 select CPU_32v5 233 select CPU_32v5
234 select CPU_ABRT_EV4T 234 select CPU_ABRT_EV4T
235 select CPU_CACHE_VIVT 235 select CPU_CACHE_VIVT
@@ -247,7 +247,7 @@ config CPU_ARM1022
247 247
248# ARM1026EJ-S 248# ARM1026EJ-S
249config CPU_ARM1026 249config CPU_ARM1026
250 bool "Support ARM1026EJ-S processor" if (ARCH_MULTI_V5 && ARCH_INTEGRATOR) 250 bool
251 select CPU_32v5 251 select CPU_32v5
252 select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 252 select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10
253 select CPU_CACHE_VIVT 253 select CPU_CACHE_VIVT
@@ -358,7 +358,7 @@ config CPU_PJ4B
358 358
359# ARMv6 359# ARMv6
360config CPU_V6 360config CPU_V6
361 bool "Support ARM V6 processor" if (!ARCH_MULTIPLATFORM || ARCH_MULTI_V6) && (ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX) 361 bool
362 select CPU_32v6 362 select CPU_32v6
363 select CPU_ABRT_EV6 363 select CPU_ABRT_EV6
364 select CPU_CACHE_V6 364 select CPU_CACHE_V6
@@ -371,7 +371,7 @@ config CPU_V6
371 371
372# ARMv6k 372# ARMv6k
373config CPU_V6K 373config CPU_V6K
374 bool "Support ARM V6K processor" if (!ARCH_MULTIPLATFORM || ARCH_MULTI_V6) && (ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX) 374 bool
375 select CPU_32v6 375 select CPU_32v6
376 select CPU_32v6K 376 select CPU_32v6K
377 select CPU_ABRT_EV6 377 select CPU_ABRT_EV6
@@ -385,7 +385,7 @@ config CPU_V6K
385 385
386# ARMv7 386# ARMv7
387config CPU_V7 387config CPU_V7
388 bool "Support ARM V7 processor" if (!ARCH_MULTIPLATFORM || ARCH_MULTI_V7) && (ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX) 388 bool
389 select CPU_32v6K 389 select CPU_32v6K
390 select CPU_32v7 390 select CPU_32v7
391 select CPU_ABRT_EV7 391 select CPU_ABRT_EV7