aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/Kconfig')
-rw-r--r--arch/blackfin/Kconfig204
1 files changed, 167 insertions, 37 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 29e71ed6b8a..a949c4fbbdd 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -26,6 +26,7 @@ config BLACKFIN
26 default y 26 default y
27 select HAVE_IDE 27 select HAVE_IDE
28 select HAVE_OPROFILE 28 select HAVE_OPROFILE
29 select ARCH_WANT_OPTIONAL_GPIOLIB
29 30
30config ZONE_DMA 31config ZONE_DMA
31 bool 32 bool
@@ -59,10 +60,6 @@ config GENERIC_CALIBRATE_DELAY
59 bool 60 bool
60 default y 61 default y
61 62
62config HARDWARE_PM
63 def_bool y
64 depends on OPROFILE
65
66source "init/Kconfig" 63source "init/Kconfig"
67 64
68source "kernel/Kconfig.preempt" 65source "kernel/Kconfig.preempt"
@@ -77,6 +74,26 @@ choice
77 prompt "CPU" 74 prompt "CPU"
78 default BF533 75 default BF533
79 76
77config BF512
78 bool "BF512"
79 help
80 BF512 Processor Support.
81
82config BF514
83 bool "BF514"
84 help
85 BF514 Processor Support.
86
87config BF516
88 bool "BF516"
89 help
90 BF516 Processor Support.
91
92config BF518
93 bool "BF518"
94 help
95 BF518 Processor Support.
96
80config BF522 97config BF522
81 bool "BF522" 98 bool "BF522"
82 help 99 help
@@ -137,6 +154,16 @@ config BF537
137 help 154 help
138 BF537 Processor Support. 155 BF537 Processor Support.
139 156
157config BF538
158 bool "BF538"
159 help
160 BF538 Processor Support.
161
162config BF539
163 bool "BF539"
164 help
165 BF539 Processor Support.
166
140config BF542 167config BF542
141 bool "BF542" 168 bool "BF542"
142 help 169 help
@@ -169,28 +196,55 @@ config BF561
169 196
170endchoice 197endchoice
171 198
199config SMP
200 depends on BF561
201 bool "Symmetric multi-processing support"
202 ---help---
203 This enables support for systems with more than one CPU,
204 like the dual core BF561. If you have a system with only one
205 CPU, say N. If you have a system with more than one CPU, say Y.
206
207 If you don't know what to do here, say N.
208
209config NR_CPUS
210 int
211 depends on SMP
212 default 2 if BF561
213
214config IRQ_PER_CPU
215 bool
216 depends on SMP
217 default y
218
219config TICK_SOURCE_SYSTMR0
220 bool
221 select BFIN_GPTIMERS
222 depends on SMP
223 default y
224
172config BF_REV_MIN 225config BF_REV_MIN
173 int 226 int
174 default 0 if (BF52x || BF54x) 227 default 0 if (BF51x || BF52x || BF54x)
175 default 2 if (BF537 || BF536 || BF534) 228 default 2 if (BF537 || BF536 || BF534)
176 default 3 if (BF561 ||BF533 || BF532 || BF531) 229 default 3 if (BF561 ||BF533 || BF532 || BF531)
230 default 4 if (BF538 || BF539)
177 231
178config BF_REV_MAX 232config BF_REV_MAX
179 int 233 int
180 default 2 if (BF52x || BF54x) 234 default 2 if (BF51x || BF52x || BF54x)
181 default 3 if (BF537 || BF536 || BF534) 235 default 3 if (BF537 || BF536 || BF534)
182 default 5 if (BF561) 236 default 5 if (BF561 || BF538 || BF539)
183 default 6 if (BF533 || BF532 || BF531) 237 default 6 if (BF533 || BF532 || BF531)
184 238
185choice 239choice
186 prompt "Silicon Rev" 240 prompt "Silicon Rev"
187 default BF_REV_0_1 if (BF52x || BF54x) 241 default BF_REV_0_1 if (BF51x || BF52x || BF54x)
188 default BF_REV_0_2 if (BF534 || BF536 || BF537) 242 default BF_REV_0_2 if (BF534 || BF536 || BF537)
189 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561) 243 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
190 244
191config BF_REV_0_0 245config BF_REV_0_0
192 bool "0.0" 246 bool "0.0"
193 depends on (BF52x || BF54x) 247 depends on (BF51x || BF52x || BF54x)
194 248
195config BF_REV_0_1 249config BF_REV_0_1
196 bool "0.1" 250 bool "0.1"
@@ -206,11 +260,11 @@ config BF_REV_0_3
206 260
207config BF_REV_0_4 261config BF_REV_0_4
208 bool "0.4" 262 bool "0.4"
209 depends on (BF561 || BF533 || BF532 || BF531) 263 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
210 264
211config BF_REV_0_5 265config BF_REV_0_5
212 bool "0.5" 266 bool "0.5"
213 depends on (BF561 || BF533 || BF532 || BF531) 267 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
214 268
215config BF_REV_0_6 269config BF_REV_0_6
216 bool "0.6" 270 bool "0.6"
@@ -224,6 +278,11 @@ config BF_REV_NONE
224 278
225endchoice 279endchoice
226 280
281config BF51x
282 bool
283 depends on (BF512 || BF514 || BF516 || BF518)
284 default y
285
227config BF52x 286config BF52x
228 bool 287 bool
229 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527) 288 depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
@@ -258,7 +317,7 @@ config MEM_MT48LC16M16A2TG_75
258 317
259config MEM_MT48LC32M8A2_75 318config MEM_MT48LC32M8A2_75
260 bool 319 bool
261 depends on (BFIN537_STAMP || PNAV10) 320 depends on (BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
262 default y 321 default y
263 322
264config MEM_MT48LC8M32B2B5_7 323config MEM_MT48LC8M32B2B5_7
@@ -271,10 +330,17 @@ config MEM_MT48LC32M16A2TG_75
271 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD) 330 depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
272 default y 331 default y
273 332
333config MEM_MT48LC32M8A2_75
334 bool
335 depends on (BFIN518F_EZBRD)
336 default y
337
338source "arch/blackfin/mach-bf518/Kconfig"
274source "arch/blackfin/mach-bf527/Kconfig" 339source "arch/blackfin/mach-bf527/Kconfig"
275source "arch/blackfin/mach-bf533/Kconfig" 340source "arch/blackfin/mach-bf533/Kconfig"
276source "arch/blackfin/mach-bf561/Kconfig" 341source "arch/blackfin/mach-bf561/Kconfig"
277source "arch/blackfin/mach-bf537/Kconfig" 342source "arch/blackfin/mach-bf537/Kconfig"
343source "arch/blackfin/mach-bf538/Kconfig"
278source "arch/blackfin/mach-bf548/Kconfig" 344source "arch/blackfin/mach-bf548/Kconfig"
279 345
280menu "Board customizations" 346menu "Board customizations"
@@ -307,6 +373,7 @@ config BOOT_LOAD
307 373
308config ROM_BASE 374config ROM_BASE
309 hex "Kernel ROM Base" 375 hex "Kernel ROM Base"
376 depends on ROMKERNEL
310 default "0x20040000" 377 default "0x20040000"
311 range 0x20000000 0x20400000 if !(BF54x || BF561) 378 range 0x20000000 0x20400000 if !(BF54x || BF561)
312 range 0x20000000 0x30000000 if (BF54x || BF561) 379 range 0x20000000 0x30000000 if (BF54x || BF561)
@@ -318,7 +385,7 @@ config CLKIN_HZ
318 int "Frequency of the crystal on the board in Hz" 385 int "Frequency of the crystal on the board in Hz"
319 default "11059200" if BFIN533_STAMP 386 default "11059200" if BFIN533_STAMP
320 default "27000000" if BFIN533_EZKIT 387 default "27000000" if BFIN533_EZKIT
321 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD) 388 default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN538_EZKIT || BFIN518F-EZBRD)
322 default "30000000" if BFIN561_EZKIT 389 default "30000000" if BFIN561_EZKIT
323 default "24576000" if PNAV10 390 default "24576000" if PNAV10
324 default "10000000" if BFIN532_IP0X 391 default "10000000" if BFIN532_IP0X
@@ -354,11 +421,11 @@ config VCO_MULT
354 range 1 64 421 range 1 64
355 default "22" if BFIN533_EZKIT 422 default "22" if BFIN533_EZKIT
356 default "45" if BFIN533_STAMP 423 default "45" if BFIN533_STAMP
357 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM) 424 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
358 default "22" if BFIN533_BLUETECHNIX_CM 425 default "22" if BFIN533_BLUETECHNIX_CM
359 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM) 426 default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
360 default "20" if BFIN561_EZKIT 427 default "20" if BFIN561_EZKIT
361 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD) 428 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
362 help 429 help
363 This controls the frequency of the on-chip PLL. This can be between 1 and 64. 430 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
364 PLL Frequency = (Crystal Frequency) * (this setting) 431 PLL Frequency = (Crystal Frequency) * (this setting)
@@ -407,19 +474,70 @@ config MEM_MT46V32M16_5B
407 bool "MT46V32M16_5B" 474 bool "MT46V32M16_5B"
408endchoice 475endchoice
409 476
410config MAX_MEM_SIZE 477choice
411 int "Max SDRAM Memory Size in MBytes" 478 prompt "DDR/SDRAM Timing"
412 depends on !MPU 479 depends on BFIN_KERNEL_CLOCK
413 default 512 480 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
414 help 481 help
415 This is the max memory size that the kernel will create CPLB 482 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
416 tables for. Your system will not be able to handle any more. 483 The calculated SDRAM timing parameters may not be 100%
484 accurate - This option is therefore marked experimental.
485
486config BFIN_KERNEL_CLOCK_MEMINIT_CALC
487 bool "Calculate Timings (EXPERIMENTAL)"
488 depends on EXPERIMENTAL
489
490config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
491 bool "Provide accurate Timings based on target SCLK"
492 help
493 Please consult the Blackfin Hardware Reference Manuals as well
494 as the memory device datasheet.
495 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
496endchoice
497
498menu "Memory Init Control"
499 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
500
501config MEM_DDRCTL0
502 depends on BF54x
503 hex "DDRCTL0"
504 default 0x0
505
506config MEM_DDRCTL1
507 depends on BF54x
508 hex "DDRCTL1"
509 default 0x0
510
511config MEM_DDRCTL2
512 depends on BF54x
513 hex "DDRCTL2"
514 default 0x0
515
516config MEM_EBIU_DDRQUE
517 depends on BF54x
518 hex "DDRQUE"
519 default 0x0
520
521config MEM_SDRRC
522 depends on !BF54x
523 hex "SDRRC"
524 default 0x0
525
526config MEM_SDGCTL
527 depends on !BF54x
528 hex "SDGCTL"
529 default 0x0
530endmenu
417 531
418# 532#
419# Max & Min Speeds for various Chips 533# Max & Min Speeds for various Chips
420# 534#
421config MAX_VCO_HZ 535config MAX_VCO_HZ
422 int 536 int
537 default 400000000 if BF512
538 default 400000000 if BF514
539 default 400000000 if BF516
540 default 400000000 if BF518
423 default 600000000 if BF522 541 default 600000000 if BF522
424 default 400000000 if BF523 542 default 400000000 if BF523
425 default 400000000 if BF524 543 default 400000000 if BF524
@@ -459,6 +577,7 @@ source kernel/Kconfig.hz
459 577
460config GENERIC_TIME 578config GENERIC_TIME
461 bool "Generic time" 579 bool "Generic time"
580 depends on !SMP
462 default y 581 default y
463 582
464config GENERIC_CLOCKEVENTS 583config GENERIC_CLOCKEVENTS
@@ -533,6 +652,7 @@ endmenu
533 652
534 653
535menu "Blackfin Kernel Optimizations" 654menu "Blackfin Kernel Optimizations"
655 depends on !SMP
536 656
537comment "Memory Optimizations" 657comment "Memory Optimizations"
538 658
@@ -655,6 +775,17 @@ config APP_STACK_L1
655 775
656 Currently only works with FLAT binaries. 776 Currently only works with FLAT binaries.
657 777
778config EXCEPTION_L1_SCRATCH
779 bool "Locate exception stack in L1 Scratch Memory"
780 default n
781 depends on !APP_STACK_L1 && !SYSCALL_TAB_L1
782 help
783 Whenever an exception occurs, use the L1 Scratch memory for
784 stack storage. You cannot place the stacks of FLAT binaries
785 in L1 when using this option.
786
787 If you don't use L1 Scratch, then you should say Y here.
788
658comment "Speed Optimizations" 789comment "Speed Optimizations"
659config BFIN_INS_LOWOVERHEAD 790config BFIN_INS_LOWOVERHEAD
660 bool "ins[bwl] low overhead, higher interrupt latency" 791 bool "ins[bwl] low overhead, higher interrupt latency"
@@ -684,7 +815,6 @@ config BFIN_INS_LOWOVERHEAD
684 815
685endmenu 816endmenu
686 817
687
688choice 818choice
689 prompt "Kernel executes from" 819 prompt "Kernel executes from"
690 help 820 help
@@ -714,17 +844,9 @@ config BFIN_GPTIMERS
714 To compile this driver as a module, choose M here: the module 844 To compile this driver as a module, choose M here: the module
715 will be called gptimers.ko. 845 will be called gptimers.ko.
716 846
717config BFIN_DMA_5XX
718 bool "Enable DMA Support"
719 depends on (BF52x || BF53x || BF561 || BF54x)
720 default y
721 help
722 DMA driver for BF5xx.
723
724choice 847choice
725 prompt "Uncached SDRAM region" 848 prompt "Uncached DMA region"
726 default DMA_UNCACHED_1M 849 default DMA_UNCACHED_1M
727 depends on BFIN_DMA_5XX
728config DMA_UNCACHED_4M 850config DMA_UNCACHED_4M
729 bool "Enable 4M DMA region" 851 bool "Enable 4M DMA region"
730config DMA_UNCACHED_2M 852config DMA_UNCACHED_2M
@@ -751,9 +873,11 @@ config BFIN_ICACHE_LOCK
751choice 873choice
752 prompt "Policy" 874 prompt "Policy"
753 depends on BFIN_DCACHE 875 depends on BFIN_DCACHE
754 default BFIN_WB 876 default BFIN_WB if !SMP
877 default BFIN_WT if SMP
755config BFIN_WB 878config BFIN_WB
756 bool "Write back" 879 bool "Write back"
880 depends on !SMP
757 help 881 help
758 Write Back Policy: 882 Write Back Policy:
759 Cached data will be written back to SDRAM only when needed. 883 Cached data will be written back to SDRAM only when needed.
@@ -790,7 +914,7 @@ endchoice
790 914
791config BFIN_L2_CACHEABLE 915config BFIN_L2_CACHEABLE
792 bool "Cache L2 SRAM" 916 bool "Cache L2 SRAM"
793 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || BF561) 917 depends on (BFIN_DCACHE || BFIN_ICACHE) && (BF54x || (BF561 && !SMP))
794 default n 918 default n
795 help 919 help
796 Select to make L2 SRAM cacheable in L1 data and instruction cache. 920 Select to make L2 SRAM cacheable in L1 data and instruction cache.
@@ -980,7 +1104,7 @@ config PM_WAKEUP_GPIO_NUMBER
980 int "GPIO number" 1104 int "GPIO number"
981 range 0 47 1105 range 0 47
982 depends on PM_WAKEUP_BY_GPIO 1106 depends on PM_WAKEUP_BY_GPIO
983 default 2 if BFIN537_STAMP 1107 default 2
984 1108
985choice 1109choice
986 prompt "GPIO Polarity" 1110 prompt "GPIO Polarity"
@@ -1003,7 +1127,7 @@ comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1003 1127
1004config PM_BFIN_WAKE_PH6 1128config PM_BFIN_WAKE_PH6
1005 bool "Allow Wake-Up from on-chip PHY or PH6 GP" 1129 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
1006 depends on PM && (BF52x || BF534 || BF536 || BF537) 1130 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
1007 default n 1131 default n
1008 help 1132 help
1009 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up) 1133 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
@@ -1020,15 +1144,21 @@ menu "CPU Frequency scaling"
1020 1144
1021source "drivers/cpufreq/Kconfig" 1145source "drivers/cpufreq/Kconfig"
1022 1146
1147config BFIN_CPU_FREQ
1148 bool
1149 depends on CPU_FREQ
1150 select CPU_FREQ_TABLE
1151 default y
1152
1023config CPU_VOLTAGE 1153config CPU_VOLTAGE
1024 bool "CPU Voltage scaling" 1154 bool "CPU Voltage scaling"
1025 depends on EXPERIMENTAL 1155 depends on EXPERIMENTAL
1026 depends on CPU_FREQ 1156 depends on CPU_FREQ
1027 default n 1157 default n
1028 help 1158 help
1029 Say Y here if you want CPU voltage scaling according to the CPU frequency. 1159 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1030 This option violates the PLL BYPASS recommendation in the Blackfin Processor 1160 This option violates the PLL BYPASS recommendation in the Blackfin Processor
1031 manuals. There is a theoretical risk that during VDDINT transitions 1161 manuals. There is a theoretical risk that during VDDINT transitions
1032 the PLL may unlock. 1162 the PLL may unlock.
1033 1163
1034endmenu 1164endmenu