Kconfig 27 KB

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