blob: 8e82e267b89715f11ff26a0c2511764ddb3912aa [file] [log] [blame]
Alan Jenkins9e1b9b82009-11-07 21:03:54 +00001config SYMBOL_PREFIX
2 string
3 default "_"
4
Bryan Wu1394f032007-05-06 14:50:22 -07005config MMU
Mike Frysingerbac7d892009-06-07 03:46:06 -04006 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -07007
8config FPU
Mike Frysingerbac7d892009-06-07 03:46:06 -04009 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070010
11config RWSEM_GENERIC_SPINLOCK
Mike Frysingerbac7d892009-06-07 03:46:06 -040012 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070013
14config RWSEM_XCHGADD_ALGORITHM
Mike Frysingerbac7d892009-06-07 03:46:06 -040015 def_bool n
Bryan Wu1394f032007-05-06 14:50:22 -070016
17config BLACKFIN
Mike Frysingerbac7d892009-06-07 03:46:06 -040018 def_bool y
Mike Frysinger652afdc2010-01-25 22:12:32 +000019 select HAVE_ARCH_KGDB
Mike Frysingere8f263d2010-01-26 07:33:53 +000020 select HAVE_ARCH_TRACEHOOK
Mike Frysingerf5074422010-07-21 09:13:02 -040021 select HAVE_DYNAMIC_FTRACE
22 select HAVE_FTRACE_MCOUNT_RECORD
Mike Frysinger1ee76d72009-06-10 04:45:29 -040023 select HAVE_FUNCTION_GRAPH_TRACER
Mike Frysinger1c873be2009-06-09 07:25:09 -040024 select HAVE_FUNCTION_TRACER
Mike Frysingeraebfef02010-01-22 07:35:20 -050025 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
Sam Ravnborgec7748b2008-02-09 10:46:40 +010026 select HAVE_IDE
Mike Frysinger7db79172011-05-06 11:47:52 -040027 select HAVE_IRQ_WORK
Barry Songd86bfb12010-01-07 04:11:17 +000028 select HAVE_KERNEL_GZIP if RAMKERNEL
29 select HAVE_KERNEL_BZIP2 if RAMKERNEL
30 select HAVE_KERNEL_LZMA if RAMKERNEL
Mike Frysinger67df6cc2010-07-19 05:37:54 +000031 select HAVE_KERNEL_LZO if RAMKERNEL
Mathieu Desnoyers42d4b832008-02-02 15:10:34 -050032 select HAVE_OPROFILE
Mike Frysinger7db79172011-05-06 11:47:52 -040033 select HAVE_PERF_EVENTS
Mark Brown7563bbf2012-04-15 10:52:54 +010034 select ARCH_HAVE_CUSTOM_GPIO_H
Michael Hennericha4f0b32c2008-11-18 17:48:22 +080035 select ARCH_WANT_OPTIONAL_GPIOLIB
Will Deaconc1d7e012012-07-30 14:42:46 -070036 select ARCH_WANT_IPC_PARSE_VERSION
Thomas Gleixner7b028862011-01-19 20:29:58 +010037 select HAVE_GENERIC_HARDIRQS
Mike Frysingerbee18be2011-03-21 02:39:10 -040038 select GENERIC_ATOMIC64
Thomas Gleixner7b028862011-01-19 20:29:58 +010039 select GENERIC_IRQ_PROBE
40 select IRQ_PER_CPU if SMP
Steven Miao50888462012-07-31 17:28:10 +080041 select USE_GENERIC_SMP_HELPERS if SMP
Cong Wangd314d742012-03-23 15:01:51 -070042 select HAVE_NMI_WATCHDOG if NMI_WATCHDOG
Thomas Gleixner6bba2682012-04-20 13:05:53 +000043 select GENERIC_SMP_IDLE_THREAD
Anna-Maria Gleixnerdfbaec02012-05-18 16:45:45 +000044 select ARCH_USES_GETTIMEOFFSET if !GENERIC_CLOCKEVENTS
David Howells786d35d2012-09-28 14:31:03 +093045 select HAVE_MOD_ARCH_SPECIFIC
46 select MODULES_USE_ELF_RELA
Bryan Wu1394f032007-05-06 14:50:22 -070047
Mike Frysingerddf9dda2009-06-13 07:42:58 -040048config GENERIC_CSUM
49 def_bool y
50
Mike Frysinger70f12562009-06-07 17:18:25 -040051config GENERIC_BUG
52 def_bool y
53 depends on BUG
54
Aubrey Lie3defff2007-05-21 18:09:11 +080055config ZONE_DMA
Mike Frysingerbac7d892009-06-07 03:46:06 -040056 def_bool y
Aubrey Lie3defff2007-05-21 18:09:11 +080057
Michael Hennerichb2d15832007-07-24 15:46:36 +080058config GENERIC_GPIO
Mike Frysingerbac7d892009-06-07 03:46:06 -040059 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070060
61config FORCE_MAX_ZONEORDER
62 int
63 default "14"
64
65config GENERIC_CALIBRATE_DELAY
Mike Frysingerbac7d892009-06-07 03:46:06 -040066 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070067
Mike Frysinger6fa68e72009-06-08 18:45:01 -040068config LOCKDEP_SUPPORT
69 def_bool y
70
Mike Frysingerc7b412f2009-06-08 18:44:45 -040071config STACKTRACE_SUPPORT
72 def_bool y
73
Mike Frysinger8f860012009-06-08 12:49:48 -040074config TRACE_IRQFLAGS_SUPPORT
75 def_bool y
Bryan Wu1394f032007-05-06 14:50:22 -070076
Bryan Wu1394f032007-05-06 14:50:22 -070077source "init/Kconfig"
Matt Helsleydc52ddc2008-10-18 20:27:21 -070078
Bryan Wu1394f032007-05-06 14:50:22 -070079source "kernel/Kconfig.preempt"
80
Matt Helsleydc52ddc2008-10-18 20:27:21 -070081source "kernel/Kconfig.freezer"
82
Bryan Wu1394f032007-05-06 14:50:22 -070083menu "Blackfin Processor Options"
84
85comment "Processor and Board Settings"
86
87choice
88 prompt "CPU"
89 default BF533
90
Bryan Wu2f6f4bc2008-11-18 17:48:21 +080091config BF512
92 bool "BF512"
93 help
94 BF512 Processor Support.
95
96config BF514
97 bool "BF514"
98 help
99 BF514 Processor Support.
100
101config BF516
102 bool "BF516"
103 help
104 BF516 Processor Support.
105
106config BF518
107 bool "BF518"
108 help
109 BF518 Processor Support.
110
Michael Hennerich59003142007-10-21 16:54:27 +0800111config BF522
112 bool "BF522"
113 help
114 BF522 Processor Support.
115
Mike Frysinger1545a112007-12-24 16:54:48 +0800116config BF523
117 bool "BF523"
118 help
119 BF523 Processor Support.
120
121config BF524
122 bool "BF524"
123 help
124 BF524 Processor Support.
125
Michael Hennerich59003142007-10-21 16:54:27 +0800126config BF525
127 bool "BF525"
128 help
129 BF525 Processor Support.
130
Mike Frysinger1545a112007-12-24 16:54:48 +0800131config BF526
132 bool "BF526"
133 help
134 BF526 Processor Support.
135
Michael Hennerich59003142007-10-21 16:54:27 +0800136config BF527
137 bool "BF527"
138 help
139 BF527 Processor Support.
140
Bryan Wu1394f032007-05-06 14:50:22 -0700141config BF531
142 bool "BF531"
143 help
144 BF531 Processor Support.
145
146config BF532
147 bool "BF532"
148 help
149 BF532 Processor Support.
150
151config BF533
152 bool "BF533"
153 help
154 BF533 Processor Support.
155
156config BF534
157 bool "BF534"
158 help
159 BF534 Processor Support.
160
161config BF536
162 bool "BF536"
163 help
164 BF536 Processor Support.
165
166config BF537
167 bool "BF537"
168 help
169 BF537 Processor Support.
170
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800171config BF538
172 bool "BF538"
173 help
174 BF538 Processor Support.
175
176config BF539
177 bool "BF539"
178 help
179 BF539 Processor Support.
180
Mike Frysinger5df326a2009-11-16 23:49:41 +0000181config BF542_std
Roy Huang24a07a12007-07-12 22:41:45 +0800182 bool "BF542"
183 help
184 BF542 Processor Support.
185
Mike Frysinger2f89c062009-02-04 16:49:45 +0800186config BF542M
187 bool "BF542m"
188 help
189 BF542 Processor Support.
190
Mike Frysinger5df326a2009-11-16 23:49:41 +0000191config BF544_std
Roy Huang24a07a12007-07-12 22:41:45 +0800192 bool "BF544"
193 help
194 BF544 Processor Support.
195
Mike Frysinger2f89c062009-02-04 16:49:45 +0800196config BF544M
197 bool "BF544m"
198 help
199 BF544 Processor Support.
200
Mike Frysinger5df326a2009-11-16 23:49:41 +0000201config BF547_std
Mike Frysinger7c7fd172007-11-15 21:10:21 +0800202 bool "BF547"
203 help
204 BF547 Processor Support.
205
Mike Frysinger2f89c062009-02-04 16:49:45 +0800206config BF547M
207 bool "BF547m"
208 help
209 BF547 Processor Support.
210
Mike Frysinger5df326a2009-11-16 23:49:41 +0000211config BF548_std
Roy Huang24a07a12007-07-12 22:41:45 +0800212 bool "BF548"
213 help
214 BF548 Processor Support.
215
Mike Frysinger2f89c062009-02-04 16:49:45 +0800216config BF548M
217 bool "BF548m"
218 help
219 BF548 Processor Support.
220
Mike Frysinger5df326a2009-11-16 23:49:41 +0000221config BF549_std
Roy Huang24a07a12007-07-12 22:41:45 +0800222 bool "BF549"
223 help
224 BF549 Processor Support.
225
Mike Frysinger2f89c062009-02-04 16:49:45 +0800226config BF549M
227 bool "BF549m"
228 help
229 BF549 Processor Support.
230
Bryan Wu1394f032007-05-06 14:50:22 -0700231config BF561
232 bool "BF561"
233 help
Mike Frysingercd88b4d2008-10-09 12:03:22 +0800234 BF561 Processor Support.
Bryan Wu1394f032007-05-06 14:50:22 -0700235
Bob Liub5affb02012-05-16 17:37:24 +0800236config BF609
237 bool "BF609"
238 select CLKDEV_LOOKUP
239 help
240 BF609 Processor Support.
241
Bryan Wu1394f032007-05-06 14:50:22 -0700242endchoice
243
Graf Yang46fa5ee2009-01-07 23:14:39 +0800244config SMP
245 depends on BF561
Yi Li0d152c22009-12-28 10:21:49 +0000246 select TICKSOURCE_CORETMR
Graf Yang46fa5ee2009-01-07 23:14:39 +0800247 bool "Symmetric multi-processing support"
248 ---help---
249 This enables support for systems with more than one CPU,
250 like the dual core BF561. If you have a system with only one
251 CPU, say N. If you have a system with more than one CPU, say Y.
252
253 If you don't know what to do here, say N.
254
255config NR_CPUS
256 int
257 depends on SMP
258 default 2 if BF561
259
Graf Yang0b39db22009-12-28 11:13:51 +0000260config HOTPLUG_CPU
261 bool "Support for hot-pluggable CPUs"
262 depends on SMP && HOTPLUG
263 default y
264
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800265config BF_REV_MIN
266 int
Bob Liub5affb02012-05-16 17:37:24 +0800267 default 0 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800268 default 2 if (BF537 || BF536 || BF534)
Mike Frysinger2f89c062009-02-04 16:49:45 +0800269 default 3 if (BF561 || BF533 || BF532 || BF531 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800270 default 4 if (BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800271
272config BF_REV_MAX
273 int
Bob Liub5affb02012-05-16 17:37:24 +0800274 default 2 if (BF51x || BF52x || (BF54x && !BF54xM)) || BF60x
Mike Frysinger2f89c062009-02-04 16:49:45 +0800275 default 3 if (BF537 || BF536 || BF534 || BF54xM)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800276 default 5 if (BF561 || BF538 || BF539)
Mike Frysinger0c0497c2008-10-09 17:32:28 +0800277 default 6 if (BF533 || BF532 || BF531)
278
Bryan Wu1394f032007-05-06 14:50:22 -0700279choice
280 prompt "Silicon Rev"
Bob Liub5affb02012-05-16 17:37:24 +0800281 default BF_REV_0_0 if (BF51x || BF52x || BF60x)
Mike Frysingerf8b55652009-04-13 21:58:34 +0000282 default BF_REV_0_2 if (BF534 || BF536 || BF537 || (BF54x && !BF54xM))
Mike Frysinger2f89c062009-02-04 16:49:45 +0800283 default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF54xM || BF561)
Roy Huang24a07a12007-07-12 22:41:45 +0800284
285config BF_REV_0_0
286 bool "0.0"
Bob Liub5affb02012-05-16 17:37:24 +0800287 depends on (BF51x || BF52x || (BF54x && !BF54xM) || BF60x)
Michael Hennerich59003142007-10-21 16:54:27 +0800288
289config BF_REV_0_1
Mike Frysingerd07f4382007-11-15 15:49:17 +0800290 bool "0.1"
Mike Frysinger3d15f302009-06-15 16:21:44 +0000291 depends on (BF51x || BF52x || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700292
293config BF_REV_0_2
294 bool "0.2"
Mike Frysinger8060bb62010-08-16 16:18:12 +0000295 depends on (BF51x || BF52x || BF537 || BF536 || BF534 || (BF54x && !BF54xM))
Bryan Wu1394f032007-05-06 14:50:22 -0700296
297config BF_REV_0_3
298 bool "0.3"
Mike Frysinger2f89c062009-02-04 16:49:45 +0800299 depends on (BF54xM || BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
Bryan Wu1394f032007-05-06 14:50:22 -0700300
301config BF_REV_0_4
302 bool "0.4"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800303 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700304
305config BF_REV_0_5
306 bool "0.5"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800307 depends on (BF561 || BF533 || BF532 || BF531 || BF538 || BF539)
Bryan Wu1394f032007-05-06 14:50:22 -0700308
Mike Frysinger49f72532008-10-09 12:06:27 +0800309config BF_REV_0_6
310 bool "0.6"
311 depends on (BF533 || BF532 || BF531)
312
Jie Zhangde3025f2007-06-25 18:04:12 +0800313config BF_REV_ANY
314 bool "any"
315
316config BF_REV_NONE
317 bool "none"
318
Bryan Wu1394f032007-05-06 14:50:22 -0700319endchoice
320
Roy Huang24a07a12007-07-12 22:41:45 +0800321config BF53x
322 bool
323 depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
324 default y
325
Bryan Wu1394f032007-05-06 14:50:22 -0700326config MEM_MT48LC64M4A2FB_7E
327 bool
328 depends on (BFIN533_STAMP)
329 default y
330
331config MEM_MT48LC16M16A2TG_75
332 bool
333 depends on (BFIN533_EZKIT || BFIN561_EZKIT \
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000334 || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM_E \
335 || BFIN537_BLUETECHNIX_CM_U || H8606_HVSISTEMAS \
336 || BFIN527_BLUETECHNIX_CM)
Bryan Wu1394f032007-05-06 14:50:22 -0700337 default y
338
339config MEM_MT48LC32M8A2_75
340 bool
Mike Frysinger084f9eb2010-05-20 04:26:54 +0000341 depends on (BFIN518F_EZBRD || BFIN537_STAMP || PNAV10 || BFIN538_EZKIT)
Bryan Wu1394f032007-05-06 14:50:22 -0700342 default y
343
344config MEM_MT48LC8M32B2B5_7
345 bool
346 depends on (BFIN561_BLUETECHNIX_CM)
347 default y
348
Michael Hennerich59003142007-10-21 16:54:27 +0800349config MEM_MT48LC32M16A2TG_75
350 bool
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000351 depends on (BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN532_IP0X || BLACKSTAMP || BFIN527_AD7160EVAL)
Michael Hennerich59003142007-10-21 16:54:27 +0800352 default y
353
Graf Yangee48efb2009-06-18 04:32:04 +0000354config MEM_MT48H32M16LFCJ_75
355 bool
356 depends on (BFIN526_EZBRD)
357 default y
358
Bob Liuf82f16d2012-07-23 10:47:48 +0800359config MEM_MT47H64M16
360 bool
361 depends on (BFIN609_EZKIT)
362 default y
363
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800364source "arch/blackfin/mach-bf518/Kconfig"
Michael Hennerich59003142007-10-21 16:54:27 +0800365source "arch/blackfin/mach-bf527/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700366source "arch/blackfin/mach-bf533/Kconfig"
367source "arch/blackfin/mach-bf561/Kconfig"
368source "arch/blackfin/mach-bf537/Kconfig"
Michael Hennerichdc26aec2008-11-18 17:48:22 +0800369source "arch/blackfin/mach-bf538/Kconfig"
Roy Huang24a07a12007-07-12 22:41:45 +0800370source "arch/blackfin/mach-bf548/Kconfig"
Bob Liub5affb02012-05-16 17:37:24 +0800371source "arch/blackfin/mach-bf609/Kconfig"
Bryan Wu1394f032007-05-06 14:50:22 -0700372
373menu "Board customizations"
374
375config CMDLINE_BOOL
376 bool "Default bootloader kernel arguments"
377
378config CMDLINE
379 string "Initial kernel command string"
380 depends on CMDLINE_BOOL
381 default "console=ttyBF0,57600"
382 help
383 If you don't have a boot loader capable of passing a command line string
384 to the kernel, you may specify one here. As a minimum, you should specify
385 the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
386
Mike Frysinger5f004c22008-04-25 02:11:24 +0800387config BOOT_LOAD
388 hex "Kernel load address for booting"
389 default "0x1000"
390 range 0x1000 0x20000000
391 help
392 This option allows you to set the load address of the kernel.
393 This can be useful if you are on a board which has a small amount
394 of memory or you wish to reserve some memory at the beginning of
395 the address space.
396
397 Note that you need to keep this value above 4k (0x1000) as this
398 memory region is used to capture NULL pointer references as well
399 as some core kernel functions.
400
Bob Liub5affb02012-05-16 17:37:24 +0800401config PHY_RAM_BASE_ADDRESS
402 hex "Physical RAM Base"
403 default 0x0
404 help
405 set BF609 FPGA physical SRAM base address
406
Michael Hennerich8cc71172008-10-13 14:45:06 +0800407config ROM_BASE
408 hex "Kernel ROM Base"
Mike Frysinger86249912008-11-18 17:48:22 +0800409 depends on ROMKERNEL
Barry Songd86bfb12010-01-07 04:11:17 +0000410 default "0x20040040"
Bob Liu30036682012-05-30 15:30:27 +0800411 range 0x20000000 0x20400000 if !(BF54x || BF561 || BF60x)
Michael Hennerich8cc71172008-10-13 14:45:06 +0800412 range 0x20000000 0x30000000 if (BF54x || BF561)
Bob Liu30036682012-05-30 15:30:27 +0800413 range 0xB0000000 0xC0000000 if (BF60x)
Michael Hennerich8cc71172008-10-13 14:45:06 +0800414 help
Barry Songd86bfb12010-01-07 04:11:17 +0000415 Make sure your ROM base does not include any file-header
416 information that is prepended to the kernel.
417
418 For example, the bootable U-Boot format (created with
419 mkimage) has a 64 byte header (0x40). So while the image
420 you write to flash might start at say 0x20080000, you have
421 to add 0x40 to get the kernel's ROM base as it will come
422 after the header.
Michael Hennerich8cc71172008-10-13 14:45:06 +0800423
Robin Getzf16295e2007-08-03 18:07:17 +0800424comment "Clock/PLL Setup"
Bryan Wu1394f032007-05-06 14:50:22 -0700425
426config CLKIN_HZ
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800427 int "Frequency of the crystal on the board in Hz"
Mike Frysinger5d1617b2008-04-24 05:03:26 +0800428 default "10000000" if BFIN532_IP0X
Mike Frysingerd0cb9b42009-06-11 21:52:35 +0000429 default "11059200" if BFIN533_STAMP
430 default "24576000" if PNAV10
431 default "25000000" # most people use this
432 default "27000000" if BFIN533_EZKIT
433 default "30000000" if BFIN561_EZKIT
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000434 default "24000000" if BFIN527_AD7160EVAL
Bryan Wu1394f032007-05-06 14:50:22 -0700435 help
436 The frequency of CLKIN crystal oscillator on the board in Hz.
Sonic Zhang2fb6cb42008-04-25 04:39:28 +0800437 Warning: This value should match the crystal on the board. Otherwise,
438 peripherals won't work properly.
Bryan Wu1394f032007-05-06 14:50:22 -0700439
Robin Getzf16295e2007-08-03 18:07:17 +0800440config BFIN_KERNEL_CLOCK
441 bool "Re-program Clocks while Kernel boots?"
442 default n
443 help
444 This option decides if kernel clocks are re-programed from the
445 bootloader settings. If the clocks are not set, the SDRAM settings
446 are also not changed, and the Bootloader does 100% of the hardware
447 configuration.
448
449config PLL_BYPASS
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800450 bool "Bypass PLL"
Bob Liu7c141c12012-05-17 17:15:40 +0800451 depends on BFIN_KERNEL_CLOCK && (!BF60x)
Mike Frysingere4e9a7a2007-11-15 20:39:34 +0800452 default n
Robin Getzf16295e2007-08-03 18:07:17 +0800453
454config CLKIN_HALF
455 bool "Half Clock In"
456 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
457 default n
458 help
459 If this is set the clock will be divided by 2, before it goes to the PLL.
460
461config VCO_MULT
462 int "VCO Multiplier"
463 depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
464 range 1 64
465 default "22" if BFIN533_EZKIT
466 default "45" if BFIN533_STAMP
Michael Hennerich6924dfb2009-12-07 13:41:28 +0000467 default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN527_EZKIT_V2 || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM || BFIN538_EZKIT)
Robin Getzf16295e2007-08-03 18:07:17 +0800468 default "22" if BFIN533_BLUETECHNIX_CM
Harald Krapfenbauer60584342009-09-10 15:12:08 +0000469 default "20" if (BFIN537_BLUETECHNIX_CM_E || BFIN537_BLUETECHNIX_CM_U || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
Bob Liu7c141c12012-05-17 17:15:40 +0800470 default "20" if (BFIN561_EZKIT || BF609)
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800471 default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD || BFIN518F_EZBRD)
Michael Hennerich8effc4a2010-06-15 09:51:05 +0000472 default "25" if BFIN527_AD7160EVAL
Robin Getzf16295e2007-08-03 18:07:17 +0800473 help
474 This controls the frequency of the on-chip PLL. This can be between 1 and 64.
475 PLL Frequency = (Crystal Frequency) * (this setting)
476
477choice
478 prompt "Core Clock Divider"
479 depends on BFIN_KERNEL_CLOCK
480 default CCLK_DIV_1
481 help
482 This sets the frequency of the core. It can be 1, 2, 4 or 8
483 Core Frequency = (PLL frequency) / (this setting)
484
485config CCLK_DIV_1
486 bool "1"
487
488config CCLK_DIV_2
489 bool "2"
490
491config CCLK_DIV_4
492 bool "4"
493
494config CCLK_DIV_8
495 bool "8"
496endchoice
497
498config SCLK_DIV
499 int "System Clock Divider"
500 depends on BFIN_KERNEL_CLOCK
501 range 1 15
Bob Liu7c141c12012-05-17 17:15:40 +0800502 default 4
Robin Getzf16295e2007-08-03 18:07:17 +0800503 help
Bob Liu7c141c12012-05-17 17:15:40 +0800504 This sets the frequency of the system clock (including SDRAM or DDR) on
505 !BF60x else it set the clock for system buses and provides the
506 source from which SCLK0 and SCLK1 are derived.
Robin Getzf16295e2007-08-03 18:07:17 +0800507 This can be between 1 and 15
508 System Clock = (PLL frequency) / (this setting)
509
Bob Liu7c141c12012-05-17 17:15:40 +0800510config SCLK0_DIV
511 int "System Clock0 Divider"
512 depends on BFIN_KERNEL_CLOCK && BF60x
513 range 1 15
514 default 1
515 help
516 This sets the frequency of the system clock0 for PVP and all other
517 peripherals not clocked by SCLK1.
518 This can be between 1 and 15
519 System Clock0 = (System Clock) / (this setting)
520
521config SCLK1_DIV
522 int "System Clock1 Divider"
523 depends on BFIN_KERNEL_CLOCK && BF60x
524 range 1 15
525 default 1
526 help
527 This sets the frequency of the system clock1 (including SPORT, SPI and ACM).
528 This can be between 1 and 15
529 System Clock1 = (System Clock) / (this setting)
530
531config DCLK_DIV
532 int "DDR Clock Divider"
533 depends on BFIN_KERNEL_CLOCK && BF60x
534 range 1 15
535 default 2
536 help
537 This sets the frequency of the DDR memory.
538 This can be between 1 and 15
539 DDR Clock = (PLL frequency) / (this setting)
540
Mike Frysinger5f004c22008-04-25 02:11:24 +0800541choice
542 prompt "DDR SDRAM Chip Type"
543 depends on BFIN_KERNEL_CLOCK
544 depends on BF54x
545 default MEM_MT46V32M16_5B
546
547config MEM_MT46V32M16_6T
548 bool "MT46V32M16_6T"
549
550config MEM_MT46V32M16_5B
551 bool "MT46V32M16_5B"
552endchoice
553
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800554choice
555 prompt "DDR/SDRAM Timing"
Bob Liu7c141c12012-05-17 17:15:40 +0800556 depends on BFIN_KERNEL_CLOCK && !BF60x
Michael Hennerich73feb5c2009-01-07 23:14:39 +0800557 default BFIN_KERNEL_CLOCK_MEMINIT_CALC
558 help
559 This option allows you to specify Blackfin SDRAM/DDR Timing parameters
560 The calculated SDRAM timing parameters may not be 100%
561 accurate - This option is therefore marked experimental.
562
563config BFIN_KERNEL_CLOCK_MEMINIT_CALC
564 bool "Calculate Timings (EXPERIMENTAL)"
565 depends on EXPERIMENTAL
566
567config BFIN_KERNEL_CLOCK_MEMINIT_SPEC
568 bool "Provide accurate Timings based on target SCLK"
569 help
570 Please consult the Blackfin Hardware Reference Manuals as well
571 as the memory device datasheet.
572 http://docs.blackfin.uclinux.org/doku.php?id=bfin:sdram
573endchoice
574
575menu "Memory Init Control"
576 depends on BFIN_KERNEL_CLOCK_MEMINIT_SPEC
577
578config MEM_DDRCTL0
579 depends on BF54x
580 hex "DDRCTL0"
581 default 0x0
582
583config MEM_DDRCTL1
584 depends on BF54x
585 hex "DDRCTL1"
586 default 0x0
587
588config MEM_DDRCTL2
589 depends on BF54x
590 hex "DDRCTL2"
591 default 0x0
592
593config MEM_EBIU_DDRQUE
594 depends on BF54x
595 hex "DDRQUE"
596 default 0x0
597
598config MEM_SDRRC
599 depends on !BF54x
600 hex "SDRRC"
601 default 0x0
602
603config MEM_SDGCTL
604 depends on !BF54x
605 hex "SDGCTL"
606 default 0x0
607endmenu
608
Robin Getzf16295e2007-08-03 18:07:17 +0800609#
610# Max & Min Speeds for various Chips
611#
612config MAX_VCO_HZ
613 int
Bryan Wu2f6f4bc2008-11-18 17:48:21 +0800614 default 400000000 if BF512
615 default 400000000 if BF514
616 default 400000000 if BF516
617 default 400000000 if BF518
Mike Frysinger7b062632009-08-11 21:27:09 +0000618 default 400000000 if BF522
619 default 600000000 if BF523
Mike Frysinger1545a112007-12-24 16:54:48 +0800620 default 400000000 if BF524
Robin Getzf16295e2007-08-03 18:07:17 +0800621 default 600000000 if BF525
Mike Frysinger1545a112007-12-24 16:54:48 +0800622 default 400000000 if BF526
Robin Getzf16295e2007-08-03 18:07:17 +0800623 default 600000000 if BF527
624 default 400000000 if BF531
625 default 400000000 if BF532
626 default 750000000 if BF533
627 default 500000000 if BF534
628 default 400000000 if BF536
629 default 600000000 if BF537
Robin Getzf72eecb2007-11-21 16:29:20 +0800630 default 533333333 if BF538
631 default 533333333 if BF539
Robin Getzf16295e2007-08-03 18:07:17 +0800632 default 600000000 if BF542
Robin Getzf72eecb2007-11-21 16:29:20 +0800633 default 533333333 if BF544
Mike Frysinger1545a112007-12-24 16:54:48 +0800634 default 600000000 if BF547
635 default 600000000 if BF548
Robin Getzf72eecb2007-11-21 16:29:20 +0800636 default 533333333 if BF549
Robin Getzf16295e2007-08-03 18:07:17 +0800637 default 600000000 if BF561
Bob Liu7c141c12012-05-17 17:15:40 +0800638 default 800000000 if BF609
Robin Getzf16295e2007-08-03 18:07:17 +0800639
640config MIN_VCO_HZ
641 int
642 default 50000000
643
644config MAX_SCLK_HZ
645 int
Bob Liu7c141c12012-05-17 17:15:40 +0800646 default 200000000 if BF609
Robin Getzf72eecb2007-11-21 16:29:20 +0800647 default 133333333
Robin Getzf16295e2007-08-03 18:07:17 +0800648
649config MIN_SCLK_HZ
650 int
651 default 27000000
652
653comment "Kernel Timer/Scheduler"
654
655source kernel/Kconfig.hz
656
Anna-Maria Gleixnerdfbaec02012-05-18 16:45:45 +0000657config SET_GENERIC_CLOCKEVENTS
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800658 bool "Generic clock events"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800659 default y
Anna-Maria Gleixnerdfbaec02012-05-18 16:45:45 +0000660 select GENERIC_CLOCKEVENTS
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800661
Yi Li0d152c22009-12-28 10:21:49 +0000662menu "Clock event device"
Graf Yang1fa9be72009-05-15 11:01:59 +0000663 depends on GENERIC_CLOCKEVENTS
Graf Yang1fa9be72009-05-15 11:01:59 +0000664config TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000665 bool "GPTimer0"
666 depends on !SMP
Graf Yang1fa9be72009-05-15 11:01:59 +0000667 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000668
669config TICKSOURCE_CORETMR
Yi Li0d152c22009-12-28 10:21:49 +0000670 bool "Core timer"
671 default y
672endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000673
Yi Li0d152c22009-12-28 10:21:49 +0000674menu "Clock souce"
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800675 depends on GENERIC_CLOCKEVENTS
Yi Li0d152c22009-12-28 10:21:49 +0000676config CYCLES_CLOCKSOURCE
677 bool "CYCLES"
678 default y
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800679 depends on !BFIN_SCRATCH_REG_CYCLES
Graf Yang1fa9be72009-05-15 11:01:59 +0000680 depends on !SMP
Vitja Makarov8b5f79f2008-02-29 12:24:23 +0800681 help
682 If you say Y here, you will enable support for using the 'cycles'
683 registers as a clock source. Doing so means you will be unable to
684 safely write to the 'cycles' register during runtime. You will
685 still be able to read it (such as for performance monitoring), but
686 writing the registers will most likely crash the kernel.
687
Graf Yang1fa9be72009-05-15 11:01:59 +0000688config GPTMR0_CLOCKSOURCE
Yi Li0d152c22009-12-28 10:21:49 +0000689 bool "GPTimer0"
Mike Frysinger3aca47c2009-06-18 19:40:47 +0000690 select BFIN_GPTIMERS
Graf Yang1fa9be72009-05-15 11:01:59 +0000691 depends on !TICKSOURCE_GPTMR0
Yi Li0d152c22009-12-28 10:21:49 +0000692endmenu
Graf Yang1fa9be72009-05-15 11:01:59 +0000693
Mike Frysinger5f004c22008-04-25 02:11:24 +0800694comment "Misc"
Sonic Zhang971d5bc2008-01-27 16:32:31 +0800695
Mike Frysingerf0b5d122007-08-05 17:03:59 +0800696choice
697 prompt "Blackfin Exception Scratch Register"
698 default BFIN_SCRATCH_REG_RETN
699 help
700 Select the resource to reserve for the Exception handler:
701 - RETN: Non-Maskable Interrupt (NMI)
702 - RETE: Exception Return (JTAG/ICE)
703 - CYCLES: Performance counter
704
705 If you are unsure, please select "RETN".
706
707config BFIN_SCRATCH_REG_RETN
708 bool "RETN"
709 help
710 Use the RETN register in the Blackfin exception handler
711 as a stack scratch register. This means you cannot
712 safely use NMI on the Blackfin while running Linux, but
713 you can debug the system with a JTAG ICE and use the
714 CYCLES performance registers.
715
716 If you are unsure, please select "RETN".
717
718config BFIN_SCRATCH_REG_RETE
719 bool "RETE"
720 help
721 Use the RETE register in the Blackfin exception handler
722 as a stack scratch register. This means you cannot
723 safely use a JTAG ICE while debugging a Blackfin board,
724 but you can safely use the CYCLES performance registers
725 and the NMI.
726
727 If you are unsure, please select "RETN".
728
729config BFIN_SCRATCH_REG_CYCLES
730 bool "CYCLES"
731 help
732 Use the CYCLES register in the Blackfin exception handler
733 as a stack scratch register. This means you cannot
734 safely use the CYCLES performance registers on a Blackfin
735 board at anytime, but you can debug the system with a JTAG
736 ICE and use the NMI.
737
738 If you are unsure, please select "RETN".
739
740endchoice
741
Bryan Wu1394f032007-05-06 14:50:22 -0700742endmenu
743
744
745menu "Blackfin Kernel Optimizations"
746
Bryan Wu1394f032007-05-06 14:50:22 -0700747comment "Memory Optimizations"
748
749config I_ENTRY_L1
750 bool "Locate interrupt entry code in L1 Memory"
751 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500752 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700753 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200754 If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
755 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700756
757config EXCPT_IRQ_SYSC_L1
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200758 bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
Bryan Wu1394f032007-05-06 14:50:22 -0700759 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500760 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700761 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200762 If enabled, the entire ASM lowlevel exception and interrupt entry code
Michael Hennerichcfefe3c2008-02-09 04:12:37 +0800763 (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200764 (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700765
766config DO_IRQ_L1
767 bool "Locate frequently called do_irq dispatcher function in L1 Memory"
768 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500769 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700770 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200771 If enabled, the frequently called do_irq dispatcher function is linked
772 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700773
774config CORE_TIMER_IRQ_L1
775 bool "Locate frequently called timer_interrupt() function in L1 Memory"
776 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500777 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700778 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200779 If enabled, the frequently called timer_interrupt() function is linked
780 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700781
782config IDLE_L1
783 bool "Locate frequently idle function in L1 Memory"
784 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500785 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700786 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200787 If enabled, the frequently called idle function is linked
788 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700789
790config SCHEDULE_L1
791 bool "Locate kernel schedule function in L1 Memory"
792 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500793 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700794 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200795 If enabled, the frequently called kernel schedule is linked
796 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700797
798config ARITHMETIC_OPS_L1
799 bool "Locate kernel owned arithmetic functions in L1 Memory"
800 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500801 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700802 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200803 If enabled, arithmetic functions are linked
804 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700805
806config ACCESS_OK_L1
807 bool "Locate access_ok function in L1 Memory"
808 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500809 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700810 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200811 If enabled, the access_ok function is linked
812 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700813
814config MEMSET_L1
815 bool "Locate memset function in L1 Memory"
816 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500817 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700818 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200819 If enabled, the memset function is linked
820 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700821
822config MEMCPY_L1
823 bool "Locate memcpy function in L1 Memory"
824 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500825 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700826 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200827 If enabled, the memcpy function is linked
828 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700829
Robin Getz479ba602010-05-03 17:23:20 +0000830config STRCMP_L1
831 bool "locate strcmp function in L1 Memory"
832 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500833 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000834 help
835 If enabled, the strcmp function is linked
836 into L1 instruction memory (less latency).
837
838config STRNCMP_L1
839 bool "locate strncmp function in L1 Memory"
840 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500841 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000842 help
843 If enabled, the strncmp function is linked
844 into L1 instruction memory (less latency).
845
846config STRCPY_L1
847 bool "locate strcpy function in L1 Memory"
848 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500849 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000850 help
851 If enabled, the strcpy function is linked
852 into L1 instruction memory (less latency).
853
854config STRNCPY_L1
855 bool "locate strncpy function in L1 Memory"
856 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500857 depends on !SMP
Robin Getz479ba602010-05-03 17:23:20 +0000858 help
859 If enabled, the strncpy function is linked
860 into L1 instruction memory (less latency).
861
Bryan Wu1394f032007-05-06 14:50:22 -0700862config SYS_BFIN_SPINLOCK_L1
863 bool "Locate sys_bfin_spinlock function in L1 Memory"
864 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500865 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700866 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200867 If enabled, sys_bfin_spinlock function is linked
868 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700869
870config IP_CHECKSUM_L1
871 bool "Locate IP Checksum function in L1 Memory"
872 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500873 depends on !SMP
Bryan Wu1394f032007-05-06 14:50:22 -0700874 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200875 If enabled, the IP Checksum function is linked
876 into L1 instruction memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700877
878config CACHELINE_ALIGNED_L1
879 bool "Locate cacheline_aligned data to L1 Data Memory"
Michael Hennerich157cc5a2007-07-12 16:20:21 +0800880 default y if !BF54x
881 default n if BF54x
Mike Frysinger95fc2d8f2012-03-28 11:43:02 +0800882 depends on !SMP && !BF531 && !CRC32
Bryan Wu1394f032007-05-06 14:50:22 -0700883 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100884 If enabled, cacheline_aligned data is linked
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200885 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700886
887config SYSCALL_TAB_L1
888 bool "Locate Syscall Table L1 Data Memory"
889 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500890 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700891 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200892 If enabled, the Syscall LUT is linked
893 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700894
895config CPLB_SWITCH_TAB_L1
896 bool "Locate CPLB Switch Tables L1 Data Memory"
897 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500898 depends on !SMP && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -0700899 help
Matt LaPlante01dd2fb2007-10-20 01:34:40 +0200900 If enabled, the CPLB Switch Tables are linked
901 into L1 data memory. (less latency)
Bryan Wu1394f032007-05-06 14:50:22 -0700902
Mike Frysinger820b1272011-02-02 22:31:42 -0500903config ICACHE_FLUSH_L1
904 bool "Locate icache flush funcs in L1 Inst Memory"
Mike Frysinger74181292010-05-27 22:46:46 +0000905 default y
906 help
Mike Frysinger820b1272011-02-02 22:31:42 -0500907 If enabled, the Blackfin icache flushing functions are linked
Mike Frysinger74181292010-05-27 22:46:46 +0000908 into L1 instruction memory.
909
910 Note that this might be required to address anomalies, but
911 these functions are pretty small, so it shouldn't be too bad.
912 If you are using a processor affected by an anomaly, the build
913 system will double check for you and prevent it.
914
Mike Frysinger820b1272011-02-02 22:31:42 -0500915config DCACHE_FLUSH_L1
916 bool "Locate dcache flush funcs in L1 Inst Memory"
917 default y
918 depends on !SMP
919 help
920 If enabled, the Blackfin dcache flushing functions are linked
921 into L1 instruction memory.
922
Graf Yangca87b7a2008-10-08 17:30:01 +0800923config APP_STACK_L1
924 bool "Support locating application stack in L1 Scratch Memory"
925 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500926 depends on !SMP
Graf Yangca87b7a2008-10-08 17:30:01 +0800927 help
928 If enabled the application stack can be located in L1
929 scratch memory (less latency).
930
931 Currently only works with FLAT binaries.
932
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800933config EXCEPTION_L1_SCRATCH
934 bool "Locate exception stack in L1 Scratch Memory"
935 default n
Mike Frysinger820b1272011-02-02 22:31:42 -0500936 depends on !SMP && !APP_STACK_L1
Mike Frysinger6ad2b842008-10-28 11:03:09 +0800937 help
938 Whenever an exception occurs, use the L1 Scratch memory for
939 stack storage. You cannot place the stacks of FLAT binaries
940 in L1 when using this option.
941
942 If you don't use L1 Scratch, then you should say Y here.
943
Robin Getz251383c2008-08-14 15:12:55 +0800944comment "Speed Optimizations"
945config BFIN_INS_LOWOVERHEAD
946 bool "ins[bwl] low overhead, higher interrupt latency"
947 default y
Mike Frysinger820b1272011-02-02 22:31:42 -0500948 depends on !SMP
Robin Getz251383c2008-08-14 15:12:55 +0800949 help
950 Reads on the Blackfin are speculative. In Blackfin terms, this means
951 they can be interrupted at any time (even after they have been issued
952 on to the external bus), and re-issued after the interrupt occurs.
953 For memory - this is not a big deal, since memory does not change if
954 it sees a read.
955
956 If a FIFO is sitting on the end of the read, it will see two reads,
957 when the core only sees one since the FIFO receives both the read
958 which is cancelled (and not delivered to the core) and the one which
959 is re-issued (which is delivered to the core).
960
961 To solve this, interrupts are turned off before reads occur to
962 I/O space. This option controls which the overhead/latency of
963 controlling interrupts during this time
964 "n" turns interrupts off every read
965 (higher overhead, but lower interrupt latency)
966 "y" turns interrupts off every loop
967 (low overhead, but longer interrupt latency)
968
969 default behavior is to leave this set to on (type "Y"). If you are experiencing
970 interrupt latency issues, it is safe and OK to turn this off.
971
Bryan Wu1394f032007-05-06 14:50:22 -0700972endmenu
973
Bryan Wu1394f032007-05-06 14:50:22 -0700974choice
975 prompt "Kernel executes from"
976 help
977 Choose the memory type that the kernel will be running in.
978
979config RAMKERNEL
980 bool "RAM"
981 help
982 The kernel will be resident in RAM when running.
983
984config ROMKERNEL
985 bool "ROM"
986 help
987 The kernel will be resident in FLASH/ROM when running.
988
989endchoice
990
Mike Frysinger56b4f072010-10-16 19:46:21 -0400991# Common code uses "ROMKERNEL" or "XIP_KERNEL", so define both
992config XIP_KERNEL
993 bool
994 default y
995 depends on ROMKERNEL
996
Bryan Wu1394f032007-05-06 14:50:22 -0700997source "mm/Kconfig"
998
Mike Frysinger780431e2007-10-21 23:37:54 +0800999config BFIN_GPTIMERS
1000 tristate "Enable Blackfin General Purpose Timers API"
1001 default n
1002 help
1003 Enable support for the General Purpose Timers API. If you
1004 are unsure, say N.
1005
1006 To compile this driver as a module, choose M here: the module
Pavel Machek4737f092009-06-05 00:44:53 +02001007 will be called gptimers.
Mike Frysinger780431e2007-10-21 23:37:54 +08001008
Bryan Wu1394f032007-05-06 14:50:22 -07001009choice
Mike Frysingerd292b002008-10-28 11:15:36 +08001010 prompt "Uncached DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -07001011 default DMA_UNCACHED_1M
Scott Jiangc8d11a02012-05-18 16:27:22 -04001012config DMA_UNCACHED_32M
1013 bool "Enable 32M DMA region"
1014config DMA_UNCACHED_16M
1015 bool "Enable 16M DMA region"
1016config DMA_UNCACHED_8M
1017 bool "Enable 8M DMA region"
Cliff Cai86ad7932008-05-17 16:36:52 +08001018config DMA_UNCACHED_4M
1019 bool "Enable 4M DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -07001020config DMA_UNCACHED_2M
1021 bool "Enable 2M DMA region"
1022config DMA_UNCACHED_1M
1023 bool "Enable 1M DMA region"
Barry Songc45c0652009-12-02 09:13:36 +00001024config DMA_UNCACHED_512K
1025 bool "Enable 512K DMA region"
1026config DMA_UNCACHED_256K
1027 bool "Enable 256K DMA region"
1028config DMA_UNCACHED_128K
1029 bool "Enable 128K DMA region"
Bryan Wu1394f032007-05-06 14:50:22 -07001030config DMA_UNCACHED_NONE
1031 bool "Disable DMA region"
1032endchoice
1033
1034
1035comment "Cache Support"
Jie Zhang41ba6532009-06-16 09:48:33 +00001036
Robin Getz3bebca22007-10-10 23:55:26 +08001037config BFIN_ICACHE
Bryan Wu1394f032007-05-06 14:50:22 -07001038 bool "Enable ICACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001039 default y
Jie Zhang41ba6532009-06-16 09:48:33 +00001040config BFIN_EXTMEM_ICACHEABLE
1041 bool "Enable ICACHE for external memory"
1042 depends on BFIN_ICACHE
1043 default y
1044config BFIN_L2_ICACHEABLE
1045 bool "Enable ICACHE for L2 SRAM"
1046 depends on BFIN_ICACHE
Steven Miaob0ce61d2012-06-01 10:29:42 +08001047 depends on (BF54x || BF561 || BF60x) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001048 default n
1049
Robin Getz3bebca22007-10-10 23:55:26 +08001050config BFIN_DCACHE
Bryan Wu1394f032007-05-06 14:50:22 -07001051 bool "Enable DCACHE"
Jie Zhang41ba6532009-06-16 09:48:33 +00001052 default y
Robin Getz3bebca22007-10-10 23:55:26 +08001053config BFIN_DCACHE_BANKA
Bryan Wu1394f032007-05-06 14:50:22 -07001054 bool "Enable only 16k BankA DCACHE - BankB is SRAM"
Robin Getz3bebca22007-10-10 23:55:26 +08001055 depends on BFIN_DCACHE && !BF531
Bryan Wu1394f032007-05-06 14:50:22 -07001056 default n
Jie Zhang41ba6532009-06-16 09:48:33 +00001057config BFIN_EXTMEM_DCACHEABLE
1058 bool "Enable DCACHE for external memory"
Robin Getz3bebca22007-10-10 23:55:26 +08001059 depends on BFIN_DCACHE
Jie Zhang41ba6532009-06-16 09:48:33 +00001060 default y
Graf Yang5ba76672009-05-07 04:09:15 +00001061choice
Jie Zhang41ba6532009-06-16 09:48:33 +00001062 prompt "External memory DCACHE policy"
1063 depends on BFIN_EXTMEM_DCACHEABLE
1064 default BFIN_EXTMEM_WRITEBACK if !SMP
1065 default BFIN_EXTMEM_WRITETHROUGH if SMP
1066config BFIN_EXTMEM_WRITEBACK
Graf Yang5ba76672009-05-07 04:09:15 +00001067 bool "Write back"
1068 depends on !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001069 help
1070 Write Back Policy:
1071 Cached data will be written back to SDRAM only when needed.
1072 This can give a nice increase in performance, but beware of
1073 broken drivers that do not properly invalidate/flush their
1074 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001075
Jie Zhang41ba6532009-06-16 09:48:33 +00001076 Write Through Policy:
1077 Cached data will always be written back to SDRAM when the
1078 cache is updated. This is a completely safe setting, but
1079 performance is worse than Write Back.
1080
1081 If you are unsure of the options and you want to be safe,
1082 then go with Write Through.
1083
1084config BFIN_EXTMEM_WRITETHROUGH
Graf Yang5ba76672009-05-07 04:09:15 +00001085 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001086 help
1087 Write Back Policy:
1088 Cached data will be written back to SDRAM only when needed.
1089 This can give a nice increase in performance, but beware of
1090 broken drivers that do not properly invalidate/flush their
1091 cache.
Graf Yang5ba76672009-05-07 04:09:15 +00001092
Jie Zhang41ba6532009-06-16 09:48:33 +00001093 Write Through Policy:
1094 Cached data will always be written back to SDRAM when the
1095 cache is updated. This is a completely safe setting, but
1096 performance is worse than Write Back.
1097
1098 If you are unsure of the options and you want to be safe,
1099 then go with Write Through.
Graf Yang5ba76672009-05-07 04:09:15 +00001100
1101endchoice
Sonic Zhangf099f392008-10-09 14:11:57 +08001102
Jie Zhang41ba6532009-06-16 09:48:33 +00001103config BFIN_L2_DCACHEABLE
1104 bool "Enable DCACHE for L2 SRAM"
1105 depends on BFIN_DCACHE
Bob Liub5affb02012-05-16 17:37:24 +08001106 depends on (BF54x || BF561 || BF60x) && !SMP
Jie Zhang41ba6532009-06-16 09:48:33 +00001107 default n
1108choice
1109 prompt "L2 SRAM DCACHE policy"
1110 depends on BFIN_L2_DCACHEABLE
1111 default BFIN_L2_WRITEBACK
1112config BFIN_L2_WRITEBACK
1113 bool "Write back"
Jie Zhang41ba6532009-06-16 09:48:33 +00001114
1115config BFIN_L2_WRITETHROUGH
1116 bool "Write through"
Jie Zhang41ba6532009-06-16 09:48:33 +00001117endchoice
1118
1119
1120comment "Memory Protection Unit"
Bernd Schmidtb97b8a92008-01-27 18:39:16 +08001121config MPU
1122 bool "Enable the memory protection unit (EXPERIMENTAL)"
1123 default n
1124 help
1125 Use the processor's MPU to protect applications from accessing
1126 memory they do not own. This comes at a performance penalty
1127 and is recommended only for debugging.
1128
Matt LaPlante692105b2009-01-26 11:12:25 +01001129comment "Asynchronous Memory Configuration"
Bryan Wu1394f032007-05-06 14:50:22 -07001130
Mike Frysingerddf416b2007-10-10 18:06:47 +08001131menu "EBIU_AMGCTL Global Control"
Bob Liub5affb02012-05-16 17:37:24 +08001132 depends on !BF60x
Bryan Wu1394f032007-05-06 14:50:22 -07001133config C_AMCKEN
1134 bool "Enable CLKOUT"
1135 default y
1136
1137config C_CDPRIO
1138 bool "DMA has priority over core for ext. accesses"
1139 default n
1140
1141config C_B0PEN
1142 depends on BF561
1143 bool "Bank 0 16 bit packing enable"
1144 default y
1145
1146config C_B1PEN
1147 depends on BF561
1148 bool "Bank 1 16 bit packing enable"
1149 default y
1150
1151config C_B2PEN
1152 depends on BF561
1153 bool "Bank 2 16 bit packing enable"
1154 default y
1155
1156config C_B3PEN
1157 depends on BF561
1158 bool "Bank 3 16 bit packing enable"
1159 default n
1160
1161choice
Matt LaPlante692105b2009-01-26 11:12:25 +01001162 prompt "Enable Asynchronous Memory Banks"
Bryan Wu1394f032007-05-06 14:50:22 -07001163 default C_AMBEN_ALL
1164
1165config C_AMBEN
1166 bool "Disable All Banks"
1167
1168config C_AMBEN_B0
1169 bool "Enable Bank 0"
1170
1171config C_AMBEN_B0_B1
1172 bool "Enable Bank 0 & 1"
1173
1174config C_AMBEN_B0_B1_B2
1175 bool "Enable Bank 0 & 1 & 2"
1176
1177config C_AMBEN_ALL
1178 bool "Enable All Banks"
1179endchoice
1180endmenu
1181
1182menu "EBIU_AMBCTL Control"
Bob Liub5affb02012-05-16 17:37:24 +08001183 depends on !BF60x
Bryan Wu1394f032007-05-06 14:50:22 -07001184config BANK_0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001185 hex "Bank 0 (AMBCTL0.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001186 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001187 help
1188 These are the low 16 bits of the EBIU_AMBCTL0 MMR which are
1189 used to control the Asynchronous Memory Bank 0 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001190
1191config BANK_1
Mike Frysingerc8342f82009-03-31 00:18:35 +00001192 hex "Bank 1 (AMBCTL0.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001193 default 0x7BB0
Michael Hennerich197fba52008-05-07 17:03:27 +08001194 default 0x5558 if BF54x
Mike Frysingerc8342f82009-03-31 00:18:35 +00001195 help
1196 These are the high 16 bits of the EBIU_AMBCTL0 MMR which are
1197 used to control the Asynchronous Memory Bank 1 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001198
1199config BANK_2
Mike Frysingerc8342f82009-03-31 00:18:35 +00001200 hex "Bank 2 (AMBCTL1.L)"
Bryan Wu1394f032007-05-06 14:50:22 -07001201 default 0x7BB0
Mike Frysingerc8342f82009-03-31 00:18:35 +00001202 help
1203 These are the low 16 bits of the EBIU_AMBCTL1 MMR which are
1204 used to control the Asynchronous Memory Bank 2 settings.
Bryan Wu1394f032007-05-06 14:50:22 -07001205
1206config BANK_3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001207 hex "Bank 3 (AMBCTL1.H)"
Bryan Wu1394f032007-05-06 14:50:22 -07001208 default 0x99B3
Mike Frysingerc8342f82009-03-31 00:18:35 +00001209 help
1210 These are the high 16 bits of the EBIU_AMBCTL1 MMR which are
1211 used to control the Asynchronous Memory Bank 3 settings.
1212
Bryan Wu1394f032007-05-06 14:50:22 -07001213endmenu
1214
Sonic Zhange40540b2007-11-21 23:49:52 +08001215config EBIU_MBSCTLVAL
1216 hex "EBIU Bank Select Control Register"
1217 depends on BF54x
1218 default 0
1219
1220config EBIU_MODEVAL
1221 hex "Flash Memory Mode Control Register"
1222 depends on BF54x
1223 default 1
1224
1225config EBIU_FCTLVAL
1226 hex "Flash Memory Bank Control Register"
1227 depends on BF54x
1228 default 6
Bryan Wu1394f032007-05-06 14:50:22 -07001229endmenu
1230
1231#############################################################################
1232menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
1233
1234config PCI
1235 bool "PCI support"
Adrian Bunka95ca3b2008-08-27 10:55:05 +08001236 depends on BROKEN
Bryan Wu1394f032007-05-06 14:50:22 -07001237 help
1238 Support for PCI bus.
1239
1240source "drivers/pci/Kconfig"
1241
Bryan Wu1394f032007-05-06 14:50:22 -07001242source "drivers/pcmcia/Kconfig"
1243
1244source "drivers/pci/hotplug/Kconfig"
1245
1246endmenu
1247
1248menu "Executable file formats"
1249
1250source "fs/Kconfig.binfmt"
1251
1252endmenu
1253
1254menu "Power management options"
Graf Yangad461632009-08-07 03:52:54 +00001255
Bryan Wu1394f032007-05-06 14:50:22 -07001256source "kernel/power/Kconfig"
1257
Johannes Bergf4cb5702007-12-08 02:14:00 +01001258config ARCH_SUSPEND_POSSIBLE
1259 def_bool y
Johannes Bergf4cb5702007-12-08 02:14:00 +01001260
Bryan Wu1394f032007-05-06 14:50:22 -07001261choice
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001262 prompt "Standby Power Saving Mode"
Steven Miao0fbd88c2012-05-17 17:29:54 +08001263 depends on PM && !BF60x
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001264 default PM_BFIN_SLEEP_DEEPER
1265config PM_BFIN_SLEEP_DEEPER
1266 bool "Sleep Deeper"
Bryan Wu1394f032007-05-06 14:50:22 -07001267 help
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001268 Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
1269 power dissipation by disabling the clock to the processor core (CCLK).
1270 Furthermore, Standby sets the internal power supply voltage (VDDINT)
1271 to 0.85 V to provide the greatest power savings, while preserving the
1272 processor state.
1273 The PLL and system clock (SCLK) continue to operate at a very low
1274 frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
1275 the SDRAM is put into Self Refresh Mode. Typically an external event
1276 such as GPIO interrupt or RTC activity wakes up the processor.
1277 Various Peripherals such as UART, SPORT, PPI may not function as
1278 normal during Sleep Deeper, due to the reduced SCLK frequency.
1279 When in the sleep mode, system DMA access to L1 memory is not supported.
Bryan Wu1394f032007-05-06 14:50:22 -07001280
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001281 If unsure, select "Sleep Deeper".
1282
Michael Hennerichcfefe3c2008-02-09 04:12:37 +08001283config PM_BFIN_SLEEP
1284 bool "Sleep"
1285 help
1286 Sleep Mode (High Power Savings) - The sleep mode reduces power
1287 dissipation by disabling the clock to the processor core (CCLK).
1288 The PLL and system clock (SCLK), however, continue to operate in
1289 this mode. Typically an external event or RTC activity will wake
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001290 up the processor. When in the sleep mode, system DMA access to L1
1291 memory is not supported.
1292
1293 If unsure, select "Sleep Deeper".
Bryan Wu1394f032007-05-06 14:50:22 -07001294endchoice
1295
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001296comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
1297 depends on PM
1298
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001299config PM_BFIN_WAKE_PH6
1300 bool "Allow Wake-Up from on-chip PHY or PH6 GP"
Bryan Wu2f6f4bc2008-11-18 17:48:21 +08001301 depends on PM && (BF51x || BF52x || BF534 || BF536 || BF537)
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001302 default n
1303 help
1304 Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
1305
Michael Hennerich1efc80b2008-07-19 16:57:32 +08001306config PM_BFIN_WAKE_GP
1307 bool "Allow Wake-Up from GPIOs"
1308 depends on PM && BF54x
1309 default n
1310 help
1311 Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
Michael Hennerich19986282009-03-05 16:45:55 +08001312 (all processors, except ADSP-BF549). This option sets
1313 the general-purpose wake-up enable (GPWE) control bit to enable
1314 wake-up upon detection of an active low signal on the /GPW (PH7) pin.
Masanari Iida59bf8962012-04-18 00:01:21 +09001315 On ADSP-BF549 this option enables the same functionality on the
Michael Hennerich19986282009-03-05 16:45:55 +08001316 /MRXON pin also PH7.
1317
Steven Miao0fbd88c2012-05-17 17:29:54 +08001318config PM_BFIN_WAKE_PA15
1319 bool "Allow Wake-Up from PA15"
1320 depends on PM && BF60x
1321 default n
1322 help
1323 Enable PA15 Wake-Up
1324
1325config PM_BFIN_WAKE_PA15_POL
1326 int "Wake-up priority"
1327 depends on PM_BFIN_WAKE_PA15
1328 default 0
1329 help
1330 Wake-Up priority 0(low) 1(high)
1331
1332config PM_BFIN_WAKE_PB15
1333 bool "Allow Wake-Up from PB15"
1334 depends on PM && BF60x
1335 default n
1336 help
1337 Enable PB15 Wake-Up
1338
1339config PM_BFIN_WAKE_PB15_POL
1340 int "Wake-up priority"
1341 depends on PM_BFIN_WAKE_PB15
1342 default 0
1343 help
1344 Wake-Up priority 0(low) 1(high)
1345
1346config PM_BFIN_WAKE_PC15
1347 bool "Allow Wake-Up from PC15"
1348 depends on PM && BF60x
1349 default n
1350 help
1351 Enable PC15 Wake-Up
1352
1353config PM_BFIN_WAKE_PC15_POL
1354 int "Wake-up priority"
1355 depends on PM_BFIN_WAKE_PC15
1356 default 0
1357 help
1358 Wake-Up priority 0(low) 1(high)
1359
1360config PM_BFIN_WAKE_PD06
1361 bool "Allow Wake-Up from PD06(ETH0_PHYINT)"
1362 depends on PM && BF60x
1363 default n
1364 help
1365 Enable PD06(ETH0_PHYINT) Wake-up
1366
1367config PM_BFIN_WAKE_PD06_POL
1368 int "Wake-up priority"
1369 depends on PM_BFIN_WAKE_PD06
1370 default 0
1371 help
1372 Wake-Up priority 0(low) 1(high)
1373
1374config PM_BFIN_WAKE_PE12
1375 bool "Allow Wake-Up from PE12(ETH1_PHYINT, PUSH BUTTON)"
1376 depends on PM && BF60x
1377 default n
1378 help
1379 Enable PE12(ETH1_PHYINT, PUSH BUTTON) Wake-up
1380
1381config PM_BFIN_WAKE_PE12_POL
1382 int "Wake-up priority"
1383 depends on PM_BFIN_WAKE_PE12
1384 default 0
1385 help
1386 Wake-Up priority 0(low) 1(high)
1387
1388config PM_BFIN_WAKE_PG04
1389 bool "Allow Wake-Up from PG04(CAN0_RX)"
1390 depends on PM && BF60x
1391 default n
1392 help
1393 Enable PG04(CAN0_RX) Wake-up
1394
1395config PM_BFIN_WAKE_PG04_POL
1396 int "Wake-up priority"
1397 depends on PM_BFIN_WAKE_PG04
1398 default 0
1399 help
1400 Wake-Up priority 0(low) 1(high)
1401
1402config PM_BFIN_WAKE_PG13
1403 bool "Allow Wake-Up from PG13"
1404 depends on PM && BF60x
1405 default n
1406 help
1407 Enable PG13 Wake-Up
1408
1409config PM_BFIN_WAKE_PG13_POL
1410 int "Wake-up priority"
1411 depends on PM_BFIN_WAKE_PG13
1412 default 0
1413 help
1414 Wake-Up priority 0(low) 1(high)
1415
1416config PM_BFIN_WAKE_USB
1417 bool "Allow Wake-Up from (USB)"
1418 depends on PM && BF60x
1419 default n
1420 help
1421 Enable (USB) Wake-up
1422
1423config PM_BFIN_WAKE_USB_POL
1424 int "Wake-up priority"
1425 depends on PM_BFIN_WAKE_USB
1426 default 0
1427 help
1428 Wake-Up priority 0(low) 1(high)
1429
Bryan Wu1394f032007-05-06 14:50:22 -07001430endmenu
1431
Bryan Wu1394f032007-05-06 14:50:22 -07001432menu "CPU Frequency scaling"
1433
1434source "drivers/cpufreq/Kconfig"
1435
Michael Hennerich5ad2ca52008-11-18 17:48:22 +08001436config BFIN_CPU_FREQ
1437 bool
1438 depends on CPU_FREQ
1439 select CPU_FREQ_TABLE
1440 default y
1441
Michael Hennerich14b03202008-05-07 11:41:26 +08001442config CPU_VOLTAGE
1443 bool "CPU Voltage scaling"
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001444 depends on EXPERIMENTAL
Michael Hennerich14b03202008-05-07 11:41:26 +08001445 depends on CPU_FREQ
1446 default n
1447 help
1448 Say Y here if you want CPU voltage scaling according to the CPU frequency.
1449 This option violates the PLL BYPASS recommendation in the Blackfin Processor
Michael Hennerich73feb5c2009-01-07 23:14:39 +08001450 manuals. There is a theoretical risk that during VDDINT transitions
Michael Hennerich14b03202008-05-07 11:41:26 +08001451 the PLL may unlock.
1452
Bryan Wu1394f032007-05-06 14:50:22 -07001453endmenu
1454
Bryan Wu1394f032007-05-06 14:50:22 -07001455source "net/Kconfig"
1456
1457source "drivers/Kconfig"
1458
Mike Frysinger872d0242009-10-06 04:49:07 +00001459source "drivers/firmware/Kconfig"
1460
Bryan Wu1394f032007-05-06 14:50:22 -07001461source "fs/Kconfig"
1462
Mike Frysinger74ce8322007-11-21 23:50:49 +08001463source "arch/blackfin/Kconfig.debug"
Bryan Wu1394f032007-05-06 14:50:22 -07001464
1465source "security/Kconfig"
1466
1467source "crypto/Kconfig"
1468
1469source "lib/Kconfig"