Kconfig 28 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see Documentation/kbuild/kconfig-language.txt.
  4. #
  5. mainmenu "uClinux/Blackfin (w/o MMU) Kernel Configuration"
  6. config MMU
  7. bool
  8. default n
  9. config FPU
  10. bool
  11. default n
  12. config RWSEM_GENERIC_SPINLOCK
  13. bool
  14. default y
  15. config RWSEM_XCHGADD_ALGORITHM
  16. bool
  17. default n
  18. config BLACKFIN
  19. bool
  20. default y
  21. config ZONE_DMA
  22. bool
  23. default y
  24. config BFIN
  25. bool
  26. default y
  27. config SEMAPHORE_SLEEPERS
  28. bool
  29. default y
  30. config GENERIC_FIND_NEXT_BIT
  31. bool
  32. default y
  33. config GENERIC_HWEIGHT
  34. bool
  35. default y
  36. config GENERIC_HARDIRQS
  37. bool
  38. default y
  39. config GENERIC_IRQ_PROBE
  40. bool
  41. default y
  42. config GENERIC_TIME
  43. bool
  44. default n
  45. config GENERIC_GPIO
  46. bool
  47. default y
  48. config FORCE_MAX_ZONEORDER
  49. int
  50. default "14"
  51. config GENERIC_CALIBRATE_DELAY
  52. bool
  53. default y
  54. config IRQCHIP_DEMUX_GPIO
  55. bool
  56. depends on (BF52x || BF53x || BF561 || BF54x)
  57. default y
  58. source "init/Kconfig"
  59. source "kernel/Kconfig.preempt"
  60. menu "Blackfin Processor Options"
  61. comment "Processor and Board Settings"
  62. choice
  63. prompt "CPU"
  64. default BF533
  65. config BF522
  66. bool "BF522"
  67. help
  68. BF522 Processor Support.
  69. config BF525
  70. bool "BF525"
  71. help
  72. BF525 Processor Support.
  73. config BF527
  74. bool "BF527"
  75. help
  76. BF527 Processor Support.
  77. config BF531
  78. bool "BF531"
  79. help
  80. BF531 Processor Support.
  81. config BF532
  82. bool "BF532"
  83. help
  84. BF532 Processor Support.
  85. config BF533
  86. bool "BF533"
  87. help
  88. BF533 Processor Support.
  89. config BF534
  90. bool "BF534"
  91. help
  92. BF534 Processor Support.
  93. config BF536
  94. bool "BF536"
  95. help
  96. BF536 Processor Support.
  97. config BF537
  98. bool "BF537"
  99. help
  100. BF537 Processor Support.
  101. config BF542
  102. bool "BF542"
  103. help
  104. BF542 Processor Support.
  105. config BF544
  106. bool "BF544"
  107. help
  108. BF544 Processor Support.
  109. config BF548
  110. bool "BF548"
  111. help
  112. BF548 Processor Support.
  113. config BF549
  114. bool "BF549"
  115. help
  116. BF549 Processor Support.
  117. config BF561
  118. bool "BF561"
  119. help
  120. Not Supported Yet - Work in progress - BF561 Processor Support.
  121. endchoice
  122. choice
  123. prompt "Silicon Rev"
  124. default BF_REV_0_1 if BF527
  125. default BF_REV_0_2 if BF537
  126. default BF_REV_0_3 if BF533
  127. default BF_REV_0_0 if BF549
  128. config BF_REV_0_0
  129. bool "0.0"
  130. depends on (BF549 || BF527)
  131. config BF_REV_0_1
  132. bool "0.2"
  133. depends on (BF549 || BF527)
  134. config BF_REV_0_2
  135. bool "0.2"
  136. depends on (BF537 || BF536 || BF534)
  137. config BF_REV_0_3
  138. bool "0.3"
  139. depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
  140. config BF_REV_0_4
  141. bool "0.4"
  142. depends on (BF561 || BF533 || BF532 || BF531)
  143. config BF_REV_0_5
  144. bool "0.5"
  145. depends on (BF561 || BF533 || BF532 || BF531)
  146. config BF_REV_ANY
  147. bool "any"
  148. config BF_REV_NONE
  149. bool "none"
  150. endchoice
  151. config BF52x
  152. bool
  153. depends on (BF522 || BF525 || BF527)
  154. default y
  155. config BF53x
  156. bool
  157. depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
  158. default y
  159. config BF54x
  160. bool
  161. depends on (BF542 || BF544 || BF548 || BF549)
  162. default y
  163. config BFIN_DUAL_CORE
  164. bool
  165. depends on (BF561)
  166. default y
  167. config BFIN_SINGLE_CORE
  168. bool
  169. depends on !BFIN_DUAL_CORE
  170. default y
  171. choice
  172. prompt "System type"
  173. default BFIN533_STAMP
  174. help
  175. Do NOT change the board here. Please use the top level
  176. configuration to ensure that all the other settings are
  177. correct.
  178. config BFIN527_EZKIT
  179. bool "BF527-EZKIT"
  180. depends on (BF522 || BF525 || BF527)
  181. help
  182. BF533-EZKIT-LITE board Support.
  183. config BFIN533_EZKIT
  184. bool "BF533-EZKIT"
  185. depends on (BF533 || BF532 || BF531)
  186. help
  187. BF533-EZKIT-LITE board Support.
  188. config BFIN533_STAMP
  189. bool "BF533-STAMP"
  190. depends on (BF533 || BF532 || BF531)
  191. help
  192. BF533-STAMP board Support.
  193. config BFIN537_STAMP
  194. bool "BF537-STAMP"
  195. depends on (BF537 || BF536 || BF534)
  196. help
  197. BF537-STAMP board Support.
  198. config BFIN533_BLUETECHNIX_CM
  199. bool "Bluetechnix CM-BF533"
  200. depends on (BF533)
  201. help
  202. CM-BF533 support for EVAL- and DEV-Board.
  203. config BFIN537_BLUETECHNIX_CM
  204. bool "Bluetechnix CM-BF537"
  205. depends on (BF537)
  206. help
  207. CM-BF537 support for EVAL- and DEV-Board.
  208. config BFIN548_EZKIT
  209. bool "BF548-EZKIT"
  210. depends on (BF548 || BF549)
  211. help
  212. BFIN548-EZKIT board Support.
  213. config BFIN561_BLUETECHNIX_CM
  214. bool "Bluetechnix CM-BF561"
  215. depends on (BF561)
  216. help
  217. CM-BF561 support for EVAL- and DEV-Board.
  218. config BFIN561_EZKIT
  219. bool "BF561-EZKIT"
  220. depends on (BF561)
  221. help
  222. BF561-EZKIT-LITE board Support.
  223. config BFIN561_TEPLA
  224. bool "BF561-TEPLA"
  225. depends on (BF561)
  226. help
  227. BF561-TEPLA board Support.
  228. config PNAV10
  229. bool "PNAV 1.0 board"
  230. depends on (BF537)
  231. help
  232. PNAV 1.0 board Support.
  233. config GENERIC_BOARD
  234. bool "Custom"
  235. depends on (BF537 || BF536 \
  236. || BF534 || BF561 || BF535 || BF533 || BF532 || BF531)
  237. help
  238. GENERIC or Custom board Support.
  239. endchoice
  240. config MEM_GENERIC_BOARD
  241. bool
  242. depends on GENERIC_BOARD
  243. default y
  244. config MEM_MT48LC64M4A2FB_7E
  245. bool
  246. depends on (BFIN533_STAMP)
  247. default y
  248. config MEM_MT48LC16M16A2TG_75
  249. bool
  250. depends on (BFIN533_EZKIT || BFIN561_EZKIT \
  251. || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM)
  252. default y
  253. config MEM_MT48LC32M8A2_75
  254. bool
  255. depends on (BFIN537_STAMP || PNAV10)
  256. default y
  257. config MEM_MT48LC8M32B2B5_7
  258. bool
  259. depends on (BFIN561_BLUETECHNIX_CM)
  260. default y
  261. config MEM_MT48LC32M16A2TG_75
  262. bool
  263. depends on (BFIN527_EZKIT)
  264. default y
  265. config BFIN_SHARED_FLASH_ENET
  266. bool
  267. depends on (BFIN533_STAMP)
  268. default y
  269. source "arch/blackfin/mach-bf527/Kconfig"
  270. source "arch/blackfin/mach-bf533/Kconfig"
  271. source "arch/blackfin/mach-bf561/Kconfig"
  272. source "arch/blackfin/mach-bf537/Kconfig"
  273. source "arch/blackfin/mach-bf548/Kconfig"
  274. menu "Board customizations"
  275. config CMDLINE_BOOL
  276. bool "Default bootloader kernel arguments"
  277. config CMDLINE
  278. string "Initial kernel command string"
  279. depends on CMDLINE_BOOL
  280. default "console=ttyBF0,57600"
  281. help
  282. If you don't have a boot loader capable of passing a command line string
  283. to the kernel, you may specify one here. As a minimum, you should specify
  284. the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
  285. comment "Clock/PLL Setup"
  286. config CLKIN_HZ
  287. int "Crystal Frequency in Hz"
  288. default "11059200" if BFIN533_STAMP
  289. default "27000000" if BFIN533_EZKIT
  290. default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT)
  291. default "30000000" if BFIN561_EZKIT
  292. default "24576000" if PNAV10
  293. help
  294. The frequency of CLKIN crystal oscillator on the board in Hz.
  295. config BFIN_KERNEL_CLOCK
  296. bool "Re-program Clocks while Kernel boots?"
  297. default n
  298. help
  299. This option decides if kernel clocks are re-programed from the
  300. bootloader settings. If the clocks are not set, the SDRAM settings
  301. are also not changed, and the Bootloader does 100% of the hardware
  302. configuration.
  303. config PLL_BYPASS
  304. bool "Bypass PLL"
  305. depends on BFIN_KERNEL_CLOCK
  306. default n
  307. config CLKIN_HALF
  308. bool "Half Clock In"
  309. depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
  310. default n
  311. help
  312. If this is set the clock will be divided by 2, before it goes to the PLL.
  313. config VCO_MULT
  314. int "VCO Multiplier"
  315. depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
  316. range 1 64
  317. default "22" if BFIN533_EZKIT
  318. default "45" if BFIN533_STAMP
  319. default "20" if (BFIN537_STAMP || BFIN527_EZKIT)
  320. default "22" if BFIN533_BLUETECHNIX_CM
  321. default "20" if BFIN537_BLUETECHNIX_CM
  322. default "20" if BFIN561_BLUETECHNIX_CM
  323. default "20" if BFIN561_EZKIT
  324. help
  325. This controls the frequency of the on-chip PLL. This can be between 1 and 64.
  326. PLL Frequency = (Crystal Frequency) * (this setting)
  327. choice
  328. prompt "Core Clock Divider"
  329. depends on BFIN_KERNEL_CLOCK
  330. default CCLK_DIV_1
  331. help
  332. This sets the frequency of the core. It can be 1, 2, 4 or 8
  333. Core Frequency = (PLL frequency) / (this setting)
  334. config CCLK_DIV_1
  335. bool "1"
  336. config CCLK_DIV_2
  337. bool "2"
  338. config CCLK_DIV_4
  339. bool "4"
  340. config CCLK_DIV_8
  341. bool "8"
  342. endchoice
  343. config SCLK_DIV
  344. int "System Clock Divider"
  345. depends on BFIN_KERNEL_CLOCK
  346. range 1 15
  347. default 5 if BFIN533_EZKIT
  348. default 5 if BFIN533_STAMP
  349. default 4 if (BFIN537_STAMP || BFIN527_EZKIT)
  350. default 5 if BFIN533_BLUETECHNIX_CM
  351. default 4 if BFIN537_BLUETECHNIX_CM
  352. default 4 if BFIN561_BLUETECHNIX_CM
  353. default 5 if BFIN561_EZKIT
  354. help
  355. This sets the frequency of the system clock (including SDRAM or DDR).
  356. This can be between 1 and 15
  357. System Clock = (PLL frequency) / (this setting)
  358. #
  359. # Max & Min Speeds for various Chips
  360. #
  361. config MAX_VCO_HZ
  362. int
  363. default 600000000 if BF522
  364. default 600000000 if BF525
  365. default 600000000 if BF527
  366. default 400000000 if BF531
  367. default 400000000 if BF532
  368. default 750000000 if BF533
  369. default 500000000 if BF534
  370. default 400000000 if BF536
  371. default 600000000 if BF537
  372. default 533000000 if BF538
  373. default 533000000 if BF539
  374. default 600000000 if BF542
  375. default 533000000 if BF544
  376. default 533000000 if BF549
  377. default 600000000 if BF561
  378. config MIN_VCO_HZ
  379. int
  380. default 50000000
  381. config MAX_SCLK_HZ
  382. int
  383. default 133000000
  384. config MIN_SCLK_HZ
  385. int
  386. default 27000000
  387. comment "Kernel Timer/Scheduler"
  388. source kernel/Kconfig.hz
  389. comment "Memory Setup"
  390. config MEM_SIZE
  391. int "SDRAM Memory Size in MBytes"
  392. default 32 if BFIN533_EZKIT
  393. default 64 if BFIN527_EZKIT
  394. default 64 if BFIN537_STAMP
  395. default 64 if BFIN561_EZKIT
  396. default 128 if BFIN533_STAMP
  397. default 64 if PNAV10
  398. config MEM_ADD_WIDTH
  399. int "SDRAM Memory Address Width"
  400. default 9 if BFIN533_EZKIT
  401. default 9 if BFIN561_EZKIT
  402. default 10 if BFIN527_EZKIT
  403. default 10 if BFIN537_STAMP
  404. default 11 if BFIN533_STAMP
  405. default 10 if PNAV10
  406. config ENET_FLASH_PIN
  407. int "PF port/pin used for flash and ethernet sharing"
  408. depends on (BFIN533_STAMP)
  409. default 0
  410. help
  411. PF port/pin used for flash and ethernet sharing to allow other PF
  412. pins to be used on other platforms without having to touch common
  413. code.
  414. For example: PF0 --> 0,PF1 --> 1,PF2 --> 2, etc.
  415. config BOOT_LOAD
  416. hex "Kernel load address for booting"
  417. default "0x1000"
  418. range 0x1000 0x20000000
  419. help
  420. This option allows you to set the load address of the kernel.
  421. This can be useful if you are on a board which has a small amount
  422. of memory or you wish to reserve some memory at the beginning of
  423. the address space.
  424. Note that you need to keep this value above 4k (0x1000) as this
  425. memory region is used to capture NULL pointer references as well
  426. as some core kernel functions.
  427. comment "LED Status Indicators"
  428. depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
  429. config BFIN_ALIVE_LED
  430. bool "Enable Board Alive"
  431. depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
  432. default n
  433. help
  434. Blink the LEDs you select when the kernel is running. Helps detect
  435. a hung kernel.
  436. config BFIN_ALIVE_LED_NUM
  437. int "LED"
  438. depends on BFIN_ALIVE_LED
  439. range 1 3 if BFIN533_STAMP
  440. default "3" if BFIN533_STAMP
  441. help
  442. Select the LED (marked on the board) for you to blink.
  443. config BFIN_IDLE_LED
  444. bool "Enable System Load/Idle LED"
  445. depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM)
  446. default n
  447. help
  448. Blinks the LED you select when to determine kernel load.
  449. config BFIN_IDLE_LED_NUM
  450. int "LED"
  451. depends on BFIN_IDLE_LED
  452. range 1 3 if BFIN533_STAMP
  453. default "2" if BFIN533_STAMP
  454. help
  455. Select the LED (marked on the board) for you to blink.
  456. choice
  457. prompt "Blackfin Exception Scratch Register"
  458. default BFIN_SCRATCH_REG_RETN
  459. help
  460. Select the resource to reserve for the Exception handler:
  461. - RETN: Non-Maskable Interrupt (NMI)
  462. - RETE: Exception Return (JTAG/ICE)
  463. - CYCLES: Performance counter
  464. If you are unsure, please select "RETN".
  465. config BFIN_SCRATCH_REG_RETN
  466. bool "RETN"
  467. help
  468. Use the RETN register in the Blackfin exception handler
  469. as a stack scratch register. This means you cannot
  470. safely use NMI on the Blackfin while running Linux, but
  471. you can debug the system with a JTAG ICE and use the
  472. CYCLES performance registers.
  473. If you are unsure, please select "RETN".
  474. config BFIN_SCRATCH_REG_RETE
  475. bool "RETE"
  476. help
  477. Use the RETE register in the Blackfin exception handler
  478. as a stack scratch register. This means you cannot
  479. safely use a JTAG ICE while debugging a Blackfin board,
  480. but you can safely use the CYCLES performance registers
  481. and the NMI.
  482. If you are unsure, please select "RETN".
  483. config BFIN_SCRATCH_REG_CYCLES
  484. bool "CYCLES"
  485. help
  486. Use the CYCLES register in the Blackfin exception handler
  487. as a stack scratch register. This means you cannot
  488. safely use the CYCLES performance registers on a Blackfin
  489. board at anytime, but you can debug the system with a JTAG
  490. ICE and use the NMI.
  491. If you are unsure, please select "RETN".
  492. endchoice
  493. #
  494. # Sorry - but you need to put the hex address here -
  495. #
  496. # Flag Data register
  497. config BFIN_ALIVE_LED_PORT
  498. hex
  499. default 0xFFC00700 if (BFIN533_STAMP)
  500. # Peripheral Flag Direction Register
  501. config BFIN_ALIVE_LED_DPORT
  502. hex
  503. default 0xFFC00730 if (BFIN533_STAMP)
  504. config BFIN_ALIVE_LED_PIN
  505. hex
  506. default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1)
  507. default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2)
  508. default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3)
  509. config BFIN_IDLE_LED_PORT
  510. hex
  511. default 0xFFC00700 if (BFIN533_STAMP)
  512. # Peripheral Flag Direction Register
  513. config BFIN_IDLE_LED_DPORT
  514. hex
  515. default 0xFFC00730 if (BFIN533_STAMP)
  516. config BFIN_IDLE_LED_PIN
  517. hex
  518. default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1)
  519. default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2)
  520. default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3)
  521. endmenu
  522. menu "Blackfin Kernel Optimizations"
  523. comment "Memory Optimizations"
  524. config I_ENTRY_L1
  525. bool "Locate interrupt entry code in L1 Memory"
  526. default y
  527. help
  528. If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
  529. into L1 instruction memory. (less latency)
  530. config EXCPT_IRQ_SYSC_L1
  531. bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
  532. default y
  533. help
  534. If enabled, the entire ASM lowlevel exception and interrupt entry code
  535. (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
  536. (less latency)
  537. config DO_IRQ_L1
  538. bool "Locate frequently called do_irq dispatcher function in L1 Memory"
  539. default y
  540. help
  541. If enabled, the frequently called do_irq dispatcher function is linked
  542. into L1 instruction memory. (less latency)
  543. config CORE_TIMER_IRQ_L1
  544. bool "Locate frequently called timer_interrupt() function in L1 Memory"
  545. default y
  546. help
  547. If enabled, the frequently called timer_interrupt() function is linked
  548. into L1 instruction memory. (less latency)
  549. config IDLE_L1
  550. bool "Locate frequently idle function in L1 Memory"
  551. default y
  552. help
  553. If enabled, the frequently called idle function is linked
  554. into L1 instruction memory. (less latency)
  555. config SCHEDULE_L1
  556. bool "Locate kernel schedule function in L1 Memory"
  557. default y
  558. help
  559. If enabled, the frequently called kernel schedule is linked
  560. into L1 instruction memory. (less latency)
  561. config ARITHMETIC_OPS_L1
  562. bool "Locate kernel owned arithmetic functions in L1 Memory"
  563. default y
  564. help
  565. If enabled, arithmetic functions are linked
  566. into L1 instruction memory. (less latency)
  567. config ACCESS_OK_L1
  568. bool "Locate access_ok function in L1 Memory"
  569. default y
  570. help
  571. If enabled, the access_ok function is linked
  572. into L1 instruction memory. (less latency)
  573. config MEMSET_L1
  574. bool "Locate memset function in L1 Memory"
  575. default y
  576. help
  577. If enabled, the memset function is linked
  578. into L1 instruction memory. (less latency)
  579. config MEMCPY_L1
  580. bool "Locate memcpy function in L1 Memory"
  581. default y
  582. help
  583. If enabled, the memcpy function is linked
  584. into L1 instruction memory. (less latency)
  585. config SYS_BFIN_SPINLOCK_L1
  586. bool "Locate sys_bfin_spinlock function in L1 Memory"
  587. default y
  588. help
  589. If enabled, sys_bfin_spinlock function is linked
  590. into L1 instruction memory. (less latency)
  591. config IP_CHECKSUM_L1
  592. bool "Locate IP Checksum function in L1 Memory"
  593. default n
  594. help
  595. If enabled, the IP Checksum function is linked
  596. into L1 instruction memory. (less latency)
  597. config CACHELINE_ALIGNED_L1
  598. bool "Locate cacheline_aligned data to L1 Data Memory"
  599. default y if !BF54x
  600. default n if BF54x
  601. depends on !BF531
  602. help
  603. If enabled, cacheline_anligned data is linked
  604. into L1 data memory. (less latency)
  605. config SYSCALL_TAB_L1
  606. bool "Locate Syscall Table L1 Data Memory"
  607. default n
  608. depends on !BF531
  609. help
  610. If enabled, the Syscall LUT is linked
  611. into L1 data memory. (less latency)
  612. config CPLB_SWITCH_TAB_L1
  613. bool "Locate CPLB Switch Tables L1 Data Memory"
  614. default n
  615. depends on !BF531
  616. help
  617. If enabled, the CPLB Switch Tables are linked
  618. into L1 data memory. (less latency)
  619. endmenu
  620. choice
  621. prompt "Kernel executes from"
  622. help
  623. Choose the memory type that the kernel will be running in.
  624. config RAMKERNEL
  625. bool "RAM"
  626. help
  627. The kernel will be resident in RAM when running.
  628. config ROMKERNEL
  629. bool "ROM"
  630. help
  631. The kernel will be resident in FLASH/ROM when running.
  632. endchoice
  633. source "mm/Kconfig"
  634. config LARGE_ALLOCS
  635. bool "Allow allocating large blocks (> 1MB) of memory"
  636. help
  637. Allow the slab memory allocator to keep chains for very large
  638. memory sizes - upto 32MB. You may need this if your system has
  639. a lot of RAM, and you need to able to allocate very large
  640. contiguous chunks. If unsure, say N.
  641. config BFIN_GPTIMERS
  642. tristate "Enable Blackfin General Purpose Timers API"
  643. default n
  644. help
  645. Enable support for the General Purpose Timers API. If you
  646. are unsure, say N.
  647. To compile this driver as a module, choose M here: the module
  648. will be called gptimers.ko.
  649. config BFIN_DMA_5XX
  650. bool "Enable DMA Support"
  651. depends on (BF52x || BF53x || BF561 || BF54x)
  652. default y
  653. help
  654. DMA driver for BF5xx.
  655. choice
  656. prompt "Uncached SDRAM region"
  657. default DMA_UNCACHED_1M
  658. depends on BFIN_DMA_5XX
  659. config DMA_UNCACHED_2M
  660. bool "Enable 2M DMA region"
  661. config DMA_UNCACHED_1M
  662. bool "Enable 1M DMA region"
  663. config DMA_UNCACHED_NONE
  664. bool "Disable DMA region"
  665. endchoice
  666. comment "Cache Support"
  667. config BFIN_ICACHE
  668. bool "Enable ICACHE"
  669. config BFIN_DCACHE
  670. bool "Enable DCACHE"
  671. config BFIN_DCACHE_BANKA
  672. bool "Enable only 16k BankA DCACHE - BankB is SRAM"
  673. depends on BFIN_DCACHE && !BF531
  674. default n
  675. config BFIN_ICACHE_LOCK
  676. bool "Enable Instruction Cache Locking"
  677. choice
  678. prompt "Policy"
  679. depends on BFIN_DCACHE
  680. default BFIN_WB
  681. config BFIN_WB
  682. bool "Write back"
  683. help
  684. Write Back Policy:
  685. Cached data will be written back to SDRAM only when needed.
  686. This can give a nice increase in performance, but beware of
  687. broken drivers that do not properly invalidate/flush their
  688. cache.
  689. Write Through Policy:
  690. Cached data will always be written back to SDRAM when the
  691. cache is updated. This is a completely safe setting, but
  692. performance is worse than Write Back.
  693. If you are unsure of the options and you want to be safe,
  694. then go with Write Through.
  695. config BFIN_WT
  696. bool "Write through"
  697. help
  698. Write Back Policy:
  699. Cached data will be written back to SDRAM only when needed.
  700. This can give a nice increase in performance, but beware of
  701. broken drivers that do not properly invalidate/flush their
  702. cache.
  703. Write Through Policy:
  704. Cached data will always be written back to SDRAM when the
  705. cache is updated. This is a completely safe setting, but
  706. performance is worse than Write Back.
  707. If you are unsure of the options and you want to be safe,
  708. then go with Write Through.
  709. endchoice
  710. config L1_MAX_PIECE
  711. int "Set the max L1 SRAM pieces"
  712. default 16
  713. help
  714. Set the max memory pieces for the L1 SRAM allocation algorithm.
  715. Min value is 16. Max value is 1024.
  716. comment "Asynchonous Memory Configuration"
  717. menu "EBIU_AMGCTL Global Control"
  718. config C_AMCKEN
  719. bool "Enable CLKOUT"
  720. default y
  721. config C_CDPRIO
  722. bool "DMA has priority over core for ext. accesses"
  723. depends on !BF54x
  724. default n
  725. config C_B0PEN
  726. depends on BF561
  727. bool "Bank 0 16 bit packing enable"
  728. default y
  729. config C_B1PEN
  730. depends on BF561
  731. bool "Bank 1 16 bit packing enable"
  732. default y
  733. config C_B2PEN
  734. depends on BF561
  735. bool "Bank 2 16 bit packing enable"
  736. default y
  737. config C_B3PEN
  738. depends on BF561
  739. bool "Bank 3 16 bit packing enable"
  740. default n
  741. choice
  742. prompt"Enable Asynchonous Memory Banks"
  743. default C_AMBEN_ALL
  744. config C_AMBEN
  745. bool "Disable All Banks"
  746. config C_AMBEN_B0
  747. bool "Enable Bank 0"
  748. config C_AMBEN_B0_B1
  749. bool "Enable Bank 0 & 1"
  750. config C_AMBEN_B0_B1_B2
  751. bool "Enable Bank 0 & 1 & 2"
  752. config C_AMBEN_ALL
  753. bool "Enable All Banks"
  754. endchoice
  755. endmenu
  756. menu "EBIU_AMBCTL Control"
  757. config BANK_0
  758. hex "Bank 0"
  759. default 0x7BB0
  760. config BANK_1
  761. hex "Bank 1"
  762. default 0x7BB0
  763. config BANK_2
  764. hex "Bank 2"
  765. default 0x7BB0
  766. config BANK_3
  767. hex "Bank 3"
  768. default 0x99B3
  769. endmenu
  770. endmenu
  771. #############################################################################
  772. menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
  773. config PCI
  774. bool "PCI support"
  775. help
  776. Support for PCI bus.
  777. source "drivers/pci/Kconfig"
  778. config HOTPLUG
  779. bool "Support for hot-pluggable device"
  780. help
  781. Say Y here if you want to plug devices into your computer while
  782. the system is running, and be able to use them quickly. In many
  783. cases, the devices can likewise be unplugged at any time too.
  784. One well known example of this is PCMCIA- or PC-cards, credit-card
  785. size devices such as network cards, modems or hard drives which are
  786. plugged into slots found on all modern laptop computers. Another
  787. example, used on modern desktops as well as laptops, is USB.
  788. Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
  789. software (at <http://linux-hotplug.sourceforge.net/>) and install it.
  790. Then your kernel will automatically call out to a user mode "policy
  791. agent" (/sbin/hotplug) to load modules and set up software needed
  792. to use devices as you hotplug them.
  793. source "drivers/pcmcia/Kconfig"
  794. source "drivers/pci/hotplug/Kconfig"
  795. endmenu
  796. menu "Executable file formats"
  797. source "fs/Kconfig.binfmt"
  798. endmenu
  799. menu "Power management options"
  800. source "kernel/power/Kconfig"
  801. choice
  802. prompt "Select PM Wakeup Event Source"
  803. default PM_WAKEUP_GPIO_BY_SIC_IWR
  804. depends on PM
  805. help
  806. If you have a GPIO already configured as input with the corresponding PORTx_MASK
  807. bit set - "Specify Wakeup Event by SIC_IWR value"
  808. config PM_WAKEUP_GPIO_BY_SIC_IWR
  809. bool "Specify Wakeup Event by SIC_IWR value"
  810. config PM_WAKEUP_BY_GPIO
  811. bool "Cause Wakeup Event by GPIO"
  812. config PM_WAKEUP_GPIO_API
  813. bool "Configure Wakeup Event by PM GPIO API"
  814. endchoice
  815. config PM_WAKEUP_SIC_IWR
  816. hex "Wakeup Events (SIC_IWR)"
  817. depends on PM_WAKEUP_GPIO_BY_SIC_IWR
  818. default 0x80000000 if (BF537 || BF536 || BF534)
  819. default 0x100000 if (BF533 || BF532 || BF531)
  820. config PM_WAKEUP_GPIO_NUMBER
  821. int "Wakeup GPIO number"
  822. range 0 47
  823. depends on PM_WAKEUP_BY_GPIO
  824. default 2 if BFIN537_STAMP
  825. choice
  826. prompt "GPIO Polarity"
  827. depends on PM_WAKEUP_BY_GPIO
  828. default PM_WAKEUP_GPIO_POLAR_H
  829. config PM_WAKEUP_GPIO_POLAR_H
  830. bool "Active High"
  831. config PM_WAKEUP_GPIO_POLAR_L
  832. bool "Active Low"
  833. config PM_WAKEUP_GPIO_POLAR_EDGE_F
  834. bool "Falling EDGE"
  835. config PM_WAKEUP_GPIO_POLAR_EDGE_R
  836. bool "Rising EDGE"
  837. config PM_WAKEUP_GPIO_POLAR_EDGE_B
  838. bool "Both EDGE"
  839. endchoice
  840. endmenu
  841. if (BF537 || BF533 || BF54x)
  842. menu "CPU Frequency scaling"
  843. source "drivers/cpufreq/Kconfig"
  844. config CPU_FREQ
  845. bool
  846. default n
  847. help
  848. If you want to enable this option, you should select the
  849. DPMC driver from Character Devices.
  850. endmenu
  851. endif
  852. source "net/Kconfig"
  853. source "drivers/Kconfig"
  854. source "fs/Kconfig"
  855. source "kernel/Kconfig.instrumentation"
  856. menu "Kernel hacking"
  857. source "lib/Kconfig.debug"
  858. config DEBUG_HWERR
  859. bool "Hardware error interrupt debugging"
  860. depends on DEBUG_KERNEL
  861. help
  862. When enabled, the hardware error interrupt is never disabled, and
  863. will happen immediately when an error condition occurs. This comes
  864. at a slight cost in code size, but is necessary if you are getting
  865. hardware error interrupts and need to know where they are coming
  866. from.
  867. config DEBUG_ICACHE_CHECK
  868. bool "Check Instruction cache coherency"
  869. depends on DEBUG_KERNEL
  870. depends on DEBUG_HWERR
  871. help
  872. Say Y here if you are getting weird unexplained errors. This will
  873. ensure that icache is what SDRAM says it should be by doing a
  874. byte wise comparison between SDRAM and instruction cache. This
  875. also relocates the irq_panic() function to L1 memory, (which is
  876. un-cached).
  877. config DEBUG_HUNT_FOR_ZERO
  878. bool "Catch NULL pointer reads/writes"
  879. default y
  880. help
  881. Say Y here to catch reads/writes to anywhere in the memory range
  882. from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
  883. catching common programming errors such as NULL pointer dereferences.
  884. Misbehaving applications will be killed (generate a SEGV) while the
  885. kernel will trigger a panic.
  886. Enabling this option will take up an extra entry in CPLB table.
  887. Otherwise, there is no extra overhead.
  888. config DEBUG_BFIN_HWTRACE_ON
  889. bool "Turn on Blackfin's Hardware Trace"
  890. default y
  891. help
  892. All Blackfins include a Trace Unit which stores a history of the last
  893. 16 changes in program flow taken by the program sequencer. The history
  894. allows the user to recreate the program sequencer’s recent path. This
  895. can be handy when an application dies - we print out the execution
  896. path of how it got to the offending instruction.
  897. By turning this off, you may save a tiny amount of power.
  898. choice
  899. prompt "Omit loop Tracing"
  900. default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
  901. depends on DEBUG_BFIN_HWTRACE_ON
  902. help
  903. The trace buffer can be configured to omit recording of changes in
  904. program flow that match either the last entry or one of the last
  905. two entries. Omitting one of these entries from the record prevents
  906. the trace buffer from overflowing because of any sort of loop (for, do
  907. while, etc) in the program.
  908. Because zero-overhead Hardware loops are not recorded in the trace buffer,
  909. this feature can be used to prevent trace overflow from loops that
  910. are nested four deep.
  911. config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
  912. bool "Trace all Loops"
  913. help
  914. The trace buffer records all changes of flow
  915. config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
  916. bool "Compress single-level loops"
  917. help
  918. The trace buffer does not record single loops - helpful if trace
  919. is spinning on a while or do loop.
  920. config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
  921. bool "Compress two-level loops"
  922. help
  923. The trace buffer does not record loops two levels deep. Helpful if
  924. the trace is spinning in a nested loop
  925. endchoice
  926. config DEBUG_BFIN_HWTRACE_COMPRESSION
  927. int
  928. depends on DEBUG_BFIN_HWTRACE_ON
  929. default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
  930. default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
  931. default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
  932. config DEBUG_BFIN_HWTRACE_EXPAND
  933. bool "Expand Trace Buffer greater than 16 entries"
  934. depends on DEBUG_BFIN_HWTRACE_ON
  935. default n
  936. help
  937. By selecting this option, every time the 16 hardware entries in
  938. the Blackfin's HW Trace buffer are full, the kernel will move them
  939. into a software buffer, for dumping when there is an issue. This
  940. has a great impact on performance, (an interrupt every 16 change of
  941. flows) and should normally be turned off, except in those nasty
  942. debugging sessions
  943. config DEBUG_BFIN_HWTRACE_EXPAND_LEN
  944. int "Size of Trace buffer (in power of 2k)"
  945. range 0 4
  946. depends on DEBUG_BFIN_HWTRACE_EXPAND
  947. default 1
  948. help
  949. This sets the size of the software buffer that the trace information
  950. is kept in.
  951. 0 for (2^0) 1k, or 256 entries,
  952. 1 for (2^1) 2k, or 512 entries,
  953. 2 for (2^2) 4k, or 1024 entries,
  954. 3 for (2^3) 8k, or 2048 entries,
  955. 4 for (2^4) 16k, or 4096 entries
  956. config DEBUG_BFIN_NO_KERN_HWTRACE
  957. bool "Trace user apps (turn off hwtrace in kernel)"
  958. depends on DEBUG_BFIN_HWTRACE_ON
  959. default n
  960. help
  961. Some pieces of the kernel contain a lot of flow changes which can
  962. quickly fill up the hardware trace buffer. When debugging crashes,
  963. the hardware trace may indicate that the problem lies in kernel
  964. space when in reality an application is buggy.
  965. Say Y here to disable hardware tracing in some known "jumpy" pieces
  966. of code so that the trace buffer will extend further back.
  967. config EARLY_PRINTK
  968. bool "Early printk"
  969. default n
  970. help
  971. This option enables special console drivers which allow the kernel
  972. to print messages very early in the bootup process.
  973. This is useful for kernel debugging when your machine crashes very
  974. early before the console code is initialized. After enabling this
  975. feature, you must add "earlyprintk=serial,uart0,57600" to the
  976. command line (bootargs). It is safe to say Y here in all cases, as
  977. all of this lives in the init section and is thrown away after the
  978. kernel boots completely.
  979. config DUAL_CORE_TEST_MODULE
  980. tristate "Dual Core Test Module"
  981. depends on (BF561)
  982. default n
  983. help
  984. Say Y here to build-in dual core test module for dual core test.
  985. config CPLB_INFO
  986. bool "Display the CPLB information"
  987. help
  988. Display the CPLB information.
  989. config ACCESS_CHECK
  990. bool "Check the user pointer address"
  991. default y
  992. help
  993. Usually the pointer transfer from user space is checked to see if its
  994. address is in the kernel space.
  995. Say N here to disable that check to improve the performance.
  996. endmenu
  997. source "security/Kconfig"
  998. source "crypto/Kconfig"
  999. source "lib/Kconfig"