Kconfig 28 KB

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