diff options
author | Greg Ungerer <gerg@uclinux.org> | 2011-03-06 06:53:28 -0500 |
---|---|---|
committer | Greg Ungerer <gerg@uclinux.org> | 2011-03-15 07:01:55 -0400 |
commit | d4852a34e46679f0a36b7c8803eace2b9002cddc (patch) | |
tree | 31023b7b6a81ec743100a5cab54fec3be899925c /arch/m68knommu | |
parent | b195c47924ba3ff7434ab49412e5b2dab0a973fa (diff) |
m68knommu: make ColdFire internal peripheral region configurable
Most ColdFire CPUs have an internal peripheral set that can be mapped at
a user selectable address. Different ColdFire parts either use an MBAR
register of an IPSBAR register to map the peripheral region. Most boards
use the Freescale default mappings - but not all.
Make the setting of the MBAR or IPSBAR register configurable. And only make
the selection available on the appropriate ColdFire CPU types.
Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Diffstat (limited to 'arch/m68knommu')
-rw-r--r-- | arch/m68knommu/Kconfig | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index 04c7d348fbe7..b597ce07142b 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig | |||
@@ -79,6 +79,12 @@ config HAVE_CACHE_SPLIT | |||
79 | config HAVE_CACHE_CB | 79 | config HAVE_CACHE_CB |
80 | bool | 80 | bool |
81 | 81 | ||
82 | config HAVE_MBAR | ||
83 | bool | ||
84 | |||
85 | config HAVE_IPSBAR | ||
86 | bool | ||
87 | |||
82 | source "init/Kconfig" | 88 | source "init/Kconfig" |
83 | 89 | ||
84 | source "kernel/Kconfig.freezer" | 90 | source "kernel/Kconfig.freezer" |
@@ -112,12 +118,14 @@ config M68360 | |||
112 | config M5206 | 118 | config M5206 |
113 | bool "MCF5206" | 119 | bool "MCF5206" |
114 | select COLDFIRE_SW_A7 | 120 | select COLDFIRE_SW_A7 |
121 | select HAVE_MBAR | ||
115 | help | 122 | help |
116 | Motorola ColdFire 5206 processor support. | 123 | Motorola ColdFire 5206 processor support. |
117 | 124 | ||
118 | config M5206e | 125 | config M5206e |
119 | bool "MCF5206e" | 126 | bool "MCF5206e" |
120 | select COLDFIRE_SW_A7 | 127 | select COLDFIRE_SW_A7 |
128 | select HAVE_MBAR | ||
121 | help | 129 | help |
122 | Motorola ColdFire 5206e processor support. | 130 | Motorola ColdFire 5206e processor support. |
123 | 131 | ||
@@ -132,30 +140,35 @@ config M523x | |||
132 | bool "MCF523x" | 140 | bool "MCF523x" |
133 | select GENERIC_CLOCKEVENTS | 141 | select GENERIC_CLOCKEVENTS |
134 | select HAVE_CACHE_SPLIT | 142 | select HAVE_CACHE_SPLIT |
143 | select HAVE_IPSBAR | ||
135 | help | 144 | help |
136 | Freescale Coldfire 5230/1/2/4/5 processor support | 145 | Freescale Coldfire 5230/1/2/4/5 processor support |
137 | 146 | ||
138 | config M5249 | 147 | config M5249 |
139 | bool "MCF5249" | 148 | bool "MCF5249" |
140 | select COLDFIRE_SW_A7 | 149 | select COLDFIRE_SW_A7 |
150 | select HAVE_MBAR | ||
141 | help | 151 | help |
142 | Motorola ColdFire 5249 processor support. | 152 | Motorola ColdFire 5249 processor support. |
143 | 153 | ||
144 | config M5271 | 154 | config M5271 |
145 | bool "MCF5271" | 155 | bool "MCF5271" |
146 | select HAVE_CACHE_SPLIT | 156 | select HAVE_CACHE_SPLIT |
157 | select HAVE_IPSBAR | ||
147 | help | 158 | help |
148 | Freescale (Motorola) ColdFire 5270/5271 processor support. | 159 | Freescale (Motorola) ColdFire 5270/5271 processor support. |
149 | 160 | ||
150 | config M5272 | 161 | config M5272 |
151 | bool "MCF5272" | 162 | bool "MCF5272" |
152 | select COLDFIRE_SW_A7 | 163 | select COLDFIRE_SW_A7 |
164 | select HAVE_MBAR | ||
153 | help | 165 | help |
154 | Motorola ColdFire 5272 processor support. | 166 | Motorola ColdFire 5272 processor support. |
155 | 167 | ||
156 | config M5275 | 168 | config M5275 |
157 | bool "MCF5275" | 169 | bool "MCF5275" |
158 | select HAVE_CACHE_SPLIT | 170 | select HAVE_CACHE_SPLIT |
171 | select HAVE_IPSBAR | ||
159 | help | 172 | help |
160 | Freescale (Motorola) ColdFire 5274/5275 processor support. | 173 | Freescale (Motorola) ColdFire 5274/5275 processor support. |
161 | 174 | ||
@@ -163,6 +176,7 @@ config M528x | |||
163 | bool "MCF528x" | 176 | bool "MCF528x" |
164 | select GENERIC_CLOCKEVENTS | 177 | select GENERIC_CLOCKEVENTS |
165 | select HAVE_CACHE_SPLIT | 178 | select HAVE_CACHE_SPLIT |
179 | select HAVE_IPSBAR | ||
166 | help | 180 | help |
167 | Motorola ColdFire 5280/5282 processor support. | 181 | Motorola ColdFire 5280/5282 processor support. |
168 | 182 | ||
@@ -170,6 +184,7 @@ config M5307 | |||
170 | bool "MCF5307" | 184 | bool "MCF5307" |
171 | select COLDFIRE_SW_A7 | 185 | select COLDFIRE_SW_A7 |
172 | select HAVE_CACHE_CB | 186 | select HAVE_CACHE_CB |
187 | select HAVE_MBAR | ||
173 | help | 188 | help |
174 | Motorola ColdFire 5307 processor support. | 189 | Motorola ColdFire 5307 processor support. |
175 | 190 | ||
@@ -183,18 +198,21 @@ config M5407 | |||
183 | bool "MCF5407" | 198 | bool "MCF5407" |
184 | select COLDFIRE_SW_A7 | 199 | select COLDFIRE_SW_A7 |
185 | select HAVE_CACHE_CB | 200 | select HAVE_CACHE_CB |
201 | select HAVE_MBAR | ||
186 | help | 202 | help |
187 | Motorola ColdFire 5407 processor support. | 203 | Motorola ColdFire 5407 processor support. |
188 | 204 | ||
189 | config M547x | 205 | config M547x |
190 | bool "MCF547x" | 206 | bool "MCF547x" |
191 | select HAVE_CACHE_CB | 207 | select HAVE_CACHE_CB |
208 | select HAVE_MBAR | ||
192 | help | 209 | help |
193 | Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support. | 210 | Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support. |
194 | 211 | ||
195 | config M548x | 212 | config M548x |
196 | bool "MCF548x" | 213 | bool "MCF548x" |
197 | select HAVE_CACHE_CB | 214 | select HAVE_CACHE_CB |
215 | select HAVE_MBAR | ||
198 | help | 216 | help |
199 | Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. | 217 | Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support. |
200 | 218 | ||
@@ -650,6 +668,28 @@ config VECTORBASE | |||
650 | platforms this address is programmed into the VBR register, thus | 668 | platforms this address is programmed into the VBR register, thus |
651 | actually setting the address to use. | 669 | actually setting the address to use. |
652 | 670 | ||
671 | config MBAR | ||
672 | hex "Address of the MBAR (internal peripherals)" | ||
673 | default "0x10000000" | ||
674 | depends on HAVE_MBAR | ||
675 | help | ||
676 | Define the address of the internal system peripherals. This value | ||
677 | is set in the processors MBAR register. This is generally setup by | ||
678 | the boot loader, and will not be written by the kernel. By far most | ||
679 | ColdFire boards use the default 0x10000000 value, so if unsure then | ||
680 | use this. | ||
681 | |||
682 | config IPSBAR | ||
683 | hex "Address of the IPSBAR (internal peripherals)" | ||
684 | default "0x40000000" | ||
685 | depends on HAVE_IPSBAR | ||
686 | help | ||
687 | Define the address of the internal system peripherals. This value | ||
688 | is set in the processors IPSBAR register. This is generally setup by | ||
689 | the boot loader, and will not be written by the kernel. By far most | ||
690 | ColdFire boards use the default 0x40000000 value, so if unsure then | ||
691 | use this. | ||
692 | |||
653 | config KERNELBASE | 693 | config KERNELBASE |
654 | hex "Address of the base of kernel code" | 694 | hex "Address of the base of kernel code" |
655 | default "0x400" | 695 | default "0x400" |