Kconfig 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025
  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. select HAVE_IDE
  22. select HAVE_OPROFILE
  23. config ZONE_DMA
  24. bool
  25. default y
  26. config GENERIC_FIND_NEXT_BIT
  27. bool
  28. default y
  29. config GENERIC_HWEIGHT
  30. bool
  31. default y
  32. config GENERIC_HARDIRQS
  33. bool
  34. default y
  35. config GENERIC_IRQ_PROBE
  36. bool
  37. default y
  38. config GENERIC_GPIO
  39. bool
  40. default y
  41. config FORCE_MAX_ZONEORDER
  42. int
  43. default "14"
  44. config GENERIC_CALIBRATE_DELAY
  45. bool
  46. default y
  47. config HARDWARE_PM
  48. def_bool y
  49. depends on OPROFILE
  50. source "init/Kconfig"
  51. source "kernel/Kconfig.preempt"
  52. menu "Blackfin Processor Options"
  53. comment "Processor and Board Settings"
  54. choice
  55. prompt "CPU"
  56. default BF533
  57. config BF522
  58. bool "BF522"
  59. help
  60. BF522 Processor Support.
  61. config BF523
  62. bool "BF523"
  63. help
  64. BF523 Processor Support.
  65. config BF524
  66. bool "BF524"
  67. help
  68. BF524 Processor Support.
  69. config BF525
  70. bool "BF525"
  71. help
  72. BF525 Processor Support.
  73. config BF526
  74. bool "BF526"
  75. help
  76. BF526 Processor Support.
  77. config BF527
  78. bool "BF527"
  79. help
  80. BF527 Processor Support.
  81. config BF531
  82. bool "BF531"
  83. help
  84. BF531 Processor Support.
  85. config BF532
  86. bool "BF532"
  87. help
  88. BF532 Processor Support.
  89. config BF533
  90. bool "BF533"
  91. help
  92. BF533 Processor Support.
  93. config BF534
  94. bool "BF534"
  95. help
  96. BF534 Processor Support.
  97. config BF536
  98. bool "BF536"
  99. help
  100. BF536 Processor Support.
  101. config BF537
  102. bool "BF537"
  103. help
  104. BF537 Processor Support.
  105. config BF542
  106. bool "BF542"
  107. help
  108. BF542 Processor Support.
  109. config BF544
  110. bool "BF544"
  111. help
  112. BF544 Processor Support.
  113. config BF547
  114. bool "BF547"
  115. help
  116. BF547 Processor Support.
  117. config BF548
  118. bool "BF548"
  119. help
  120. BF548 Processor Support.
  121. config BF549
  122. bool "BF549"
  123. help
  124. BF549 Processor Support.
  125. config BF561
  126. bool "BF561"
  127. help
  128. BF561 Processor Support.
  129. endchoice
  130. choice
  131. prompt "Silicon Rev"
  132. default BF_REV_0_1 if (BF52x || BF54x)
  133. default BF_REV_0_2 if (BF534 || BF536 || BF537)
  134. default BF_REV_0_3 if (BF531 || BF532 || BF533 || BF561)
  135. config BF_REV_0_0
  136. bool "0.0"
  137. depends on (BF52x || BF54x)
  138. config BF_REV_0_1
  139. bool "0.1"
  140. depends on (BF52x || BF54x)
  141. config BF_REV_0_2
  142. bool "0.2"
  143. depends on (BF52x || BF537 || BF536 || BF534 || BF54x)
  144. config BF_REV_0_3
  145. bool "0.3"
  146. depends on (BF561 || BF537 || BF536 || BF534 || BF533 || BF532 || BF531)
  147. config BF_REV_0_4
  148. bool "0.4"
  149. depends on (BF561 || BF533 || BF532 || BF531)
  150. config BF_REV_0_5
  151. bool "0.5"
  152. depends on (BF561 || BF533 || BF532 || BF531)
  153. config BF_REV_0_6
  154. bool "0.6"
  155. depends on (BF533 || BF532 || BF531)
  156. config BF_REV_ANY
  157. bool "any"
  158. config BF_REV_NONE
  159. bool "none"
  160. endchoice
  161. config BF52x
  162. bool
  163. depends on (BF522 || BF523 || BF524 || BF525 || BF526 || BF527)
  164. default y
  165. config BF53x
  166. bool
  167. depends on (BF531 || BF532 || BF533 || BF534 || BF536 || BF537)
  168. default y
  169. config BF54x
  170. bool
  171. depends on (BF542 || BF544 || BF547 || BF548 || BF549)
  172. default y
  173. config MEM_GENERIC_BOARD
  174. bool
  175. depends on GENERIC_BOARD
  176. default y
  177. config MEM_MT48LC64M4A2FB_7E
  178. bool
  179. depends on (BFIN533_STAMP)
  180. default y
  181. config MEM_MT48LC16M16A2TG_75
  182. bool
  183. depends on (BFIN533_EZKIT || BFIN561_EZKIT \
  184. || BFIN533_BLUETECHNIX_CM || BFIN537_BLUETECHNIX_CM \
  185. || H8606_HVSISTEMAS || BFIN527_BLUETECHNIX_CM)
  186. default y
  187. config MEM_MT48LC32M8A2_75
  188. bool
  189. depends on (BFIN537_STAMP || PNAV10)
  190. default y
  191. config MEM_MT48LC8M32B2B5_7
  192. bool
  193. depends on (BFIN561_BLUETECHNIX_CM)
  194. default y
  195. config MEM_MT48LC32M16A2TG_75
  196. bool
  197. depends on (BFIN527_EZKIT || BFIN532_IP0X || BLACKSTAMP || BFIN526_EZBRD)
  198. default y
  199. source "arch/blackfin/mach-bf527/Kconfig"
  200. source "arch/blackfin/mach-bf533/Kconfig"
  201. source "arch/blackfin/mach-bf561/Kconfig"
  202. source "arch/blackfin/mach-bf537/Kconfig"
  203. source "arch/blackfin/mach-bf548/Kconfig"
  204. menu "Board customizations"
  205. config CMDLINE_BOOL
  206. bool "Default bootloader kernel arguments"
  207. config CMDLINE
  208. string "Initial kernel command string"
  209. depends on CMDLINE_BOOL
  210. default "console=ttyBF0,57600"
  211. help
  212. If you don't have a boot loader capable of passing a command line string
  213. to the kernel, you may specify one here. As a minimum, you should specify
  214. the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
  215. config BOOT_LOAD
  216. hex "Kernel load address for booting"
  217. default "0x1000"
  218. range 0x1000 0x20000000
  219. help
  220. This option allows you to set the load address of the kernel.
  221. This can be useful if you are on a board which has a small amount
  222. of memory or you wish to reserve some memory at the beginning of
  223. the address space.
  224. Note that you need to keep this value above 4k (0x1000) as this
  225. memory region is used to capture NULL pointer references as well
  226. as some core kernel functions.
  227. config ROM_BASE
  228. hex "Kernel ROM Base"
  229. default "0x20040000"
  230. range 0x20000000 0x20400000 if !(BF54x || BF561)
  231. range 0x20000000 0x30000000 if (BF54x || BF561)
  232. help
  233. comment "Clock/PLL Setup"
  234. config CLKIN_HZ
  235. int "Frequency of the crystal on the board in Hz"
  236. default "11059200" if BFIN533_STAMP
  237. default "27000000" if BFIN533_EZKIT
  238. default "25000000" if (BFIN537_STAMP || BFIN527_EZKIT || H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
  239. default "30000000" if BFIN561_EZKIT
  240. default "24576000" if PNAV10
  241. default "10000000" if BFIN532_IP0X
  242. help
  243. The frequency of CLKIN crystal oscillator on the board in Hz.
  244. Warning: This value should match the crystal on the board. Otherwise,
  245. peripherals won't work properly.
  246. config BFIN_KERNEL_CLOCK
  247. bool "Re-program Clocks while Kernel boots?"
  248. default n
  249. help
  250. This option decides if kernel clocks are re-programed from the
  251. bootloader settings. If the clocks are not set, the SDRAM settings
  252. are also not changed, and the Bootloader does 100% of the hardware
  253. configuration.
  254. config PLL_BYPASS
  255. bool "Bypass PLL"
  256. depends on BFIN_KERNEL_CLOCK
  257. default n
  258. config CLKIN_HALF
  259. bool "Half Clock In"
  260. depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
  261. default n
  262. help
  263. If this is set the clock will be divided by 2, before it goes to the PLL.
  264. config VCO_MULT
  265. int "VCO Multiplier"
  266. depends on BFIN_KERNEL_CLOCK && (! PLL_BYPASS)
  267. range 1 64
  268. default "22" if BFIN533_EZKIT
  269. default "45" if BFIN533_STAMP
  270. default "20" if (BFIN537_STAMP || BFIN527_EZKIT || BFIN548_EZKIT || BFIN548_BLUETECHNIX_CM)
  271. default "22" if BFIN533_BLUETECHNIX_CM
  272. default "20" if (BFIN537_BLUETECHNIX_CM || BFIN527_BLUETECHNIX_CM || BFIN561_BLUETECHNIX_CM)
  273. default "20" if BFIN561_EZKIT
  274. default "16" if (H8606_HVSISTEMAS || BLACKSTAMP || BFIN526_EZBRD)
  275. help
  276. This controls the frequency of the on-chip PLL. This can be between 1 and 64.
  277. PLL Frequency = (Crystal Frequency) * (this setting)
  278. choice
  279. prompt "Core Clock Divider"
  280. depends on BFIN_KERNEL_CLOCK
  281. default CCLK_DIV_1
  282. help
  283. This sets the frequency of the core. It can be 1, 2, 4 or 8
  284. Core Frequency = (PLL frequency) / (this setting)
  285. config CCLK_DIV_1
  286. bool "1"
  287. config CCLK_DIV_2
  288. bool "2"
  289. config CCLK_DIV_4
  290. bool "4"
  291. config CCLK_DIV_8
  292. bool "8"
  293. endchoice
  294. config SCLK_DIV
  295. int "System Clock Divider"
  296. depends on BFIN_KERNEL_CLOCK
  297. range 1 15
  298. default 5
  299. help
  300. This sets the frequency of the system clock (including SDRAM or DDR).
  301. This can be between 1 and 15
  302. System Clock = (PLL frequency) / (this setting)
  303. choice
  304. prompt "DDR SDRAM Chip Type"
  305. depends on BFIN_KERNEL_CLOCK
  306. depends on BF54x
  307. default MEM_MT46V32M16_5B
  308. config MEM_MT46V32M16_6T
  309. bool "MT46V32M16_6T"
  310. config MEM_MT46V32M16_5B
  311. bool "MT46V32M16_5B"
  312. endchoice
  313. config MAX_MEM_SIZE
  314. int "Max SDRAM Memory Size in MBytes"
  315. depends on !MPU
  316. default 512
  317. help
  318. This is the max memory size that the kernel will create CPLB
  319. tables for. Your system will not be able to handle any more.
  320. #
  321. # Max & Min Speeds for various Chips
  322. #
  323. config MAX_VCO_HZ
  324. int
  325. default 600000000 if BF522
  326. default 400000000 if BF523
  327. default 400000000 if BF524
  328. default 600000000 if BF525
  329. default 400000000 if BF526
  330. default 600000000 if BF527
  331. default 400000000 if BF531
  332. default 400000000 if BF532
  333. default 750000000 if BF533
  334. default 500000000 if BF534
  335. default 400000000 if BF536
  336. default 600000000 if BF537
  337. default 533333333 if BF538
  338. default 533333333 if BF539
  339. default 600000000 if BF542
  340. default 533333333 if BF544
  341. default 600000000 if BF547
  342. default 600000000 if BF548
  343. default 533333333 if BF549
  344. default 600000000 if BF561
  345. config MIN_VCO_HZ
  346. int
  347. default 50000000
  348. config MAX_SCLK_HZ
  349. int
  350. default 133333333
  351. config MIN_SCLK_HZ
  352. int
  353. default 27000000
  354. comment "Kernel Timer/Scheduler"
  355. source kernel/Kconfig.hz
  356. config GENERIC_TIME
  357. bool "Generic time"
  358. default y
  359. config GENERIC_CLOCKEVENTS
  360. bool "Generic clock events"
  361. depends on GENERIC_TIME
  362. default y
  363. config CYCLES_CLOCKSOURCE
  364. bool "Use 'CYCLES' as a clocksource (EXPERIMENTAL)"
  365. depends on EXPERIMENTAL
  366. depends on GENERIC_CLOCKEVENTS
  367. depends on !BFIN_SCRATCH_REG_CYCLES
  368. default n
  369. help
  370. If you say Y here, you will enable support for using the 'cycles'
  371. registers as a clock source. Doing so means you will be unable to
  372. safely write to the 'cycles' register during runtime. You will
  373. still be able to read it (such as for performance monitoring), but
  374. writing the registers will most likely crash the kernel.
  375. source kernel/time/Kconfig
  376. comment "Misc"
  377. choice
  378. prompt "Blackfin Exception Scratch Register"
  379. default BFIN_SCRATCH_REG_RETN
  380. help
  381. Select the resource to reserve for the Exception handler:
  382. - RETN: Non-Maskable Interrupt (NMI)
  383. - RETE: Exception Return (JTAG/ICE)
  384. - CYCLES: Performance counter
  385. If you are unsure, please select "RETN".
  386. config BFIN_SCRATCH_REG_RETN
  387. bool "RETN"
  388. help
  389. Use the RETN register in the Blackfin exception handler
  390. as a stack scratch register. This means you cannot
  391. safely use NMI on the Blackfin while running Linux, but
  392. you can debug the system with a JTAG ICE and use the
  393. CYCLES performance registers.
  394. If you are unsure, please select "RETN".
  395. config BFIN_SCRATCH_REG_RETE
  396. bool "RETE"
  397. help
  398. Use the RETE register in the Blackfin exception handler
  399. as a stack scratch register. This means you cannot
  400. safely use a JTAG ICE while debugging a Blackfin board,
  401. but you can safely use the CYCLES performance registers
  402. and the NMI.
  403. If you are unsure, please select "RETN".
  404. config BFIN_SCRATCH_REG_CYCLES
  405. bool "CYCLES"
  406. help
  407. Use the CYCLES register in the Blackfin exception handler
  408. as a stack scratch register. This means you cannot
  409. safely use the CYCLES performance registers on a Blackfin
  410. board at anytime, but you can debug the system with a JTAG
  411. ICE and use the NMI.
  412. If you are unsure, please select "RETN".
  413. endchoice
  414. endmenu
  415. menu "Blackfin Kernel Optimizations"
  416. comment "Memory Optimizations"
  417. config I_ENTRY_L1
  418. bool "Locate interrupt entry code in L1 Memory"
  419. default y
  420. help
  421. If enabled, interrupt entry code (STORE/RESTORE CONTEXT) is linked
  422. into L1 instruction memory. (less latency)
  423. config EXCPT_IRQ_SYSC_L1
  424. bool "Locate entire ASM lowlevel exception / interrupt - Syscall and CPLB handler code in L1 Memory"
  425. default y
  426. help
  427. If enabled, the entire ASM lowlevel exception and interrupt entry code
  428. (STORE/RESTORE CONTEXT) is linked into L1 instruction memory.
  429. (less latency)
  430. config DO_IRQ_L1
  431. bool "Locate frequently called do_irq dispatcher function in L1 Memory"
  432. default y
  433. help
  434. If enabled, the frequently called do_irq dispatcher function is linked
  435. into L1 instruction memory. (less latency)
  436. config CORE_TIMER_IRQ_L1
  437. bool "Locate frequently called timer_interrupt() function in L1 Memory"
  438. default y
  439. help
  440. If enabled, the frequently called timer_interrupt() function is linked
  441. into L1 instruction memory. (less latency)
  442. config IDLE_L1
  443. bool "Locate frequently idle function in L1 Memory"
  444. default y
  445. help
  446. If enabled, the frequently called idle function is linked
  447. into L1 instruction memory. (less latency)
  448. config SCHEDULE_L1
  449. bool "Locate kernel schedule function in L1 Memory"
  450. default y
  451. help
  452. If enabled, the frequently called kernel schedule is linked
  453. into L1 instruction memory. (less latency)
  454. config ARITHMETIC_OPS_L1
  455. bool "Locate kernel owned arithmetic functions in L1 Memory"
  456. default y
  457. help
  458. If enabled, arithmetic functions are linked
  459. into L1 instruction memory. (less latency)
  460. config ACCESS_OK_L1
  461. bool "Locate access_ok function in L1 Memory"
  462. default y
  463. help
  464. If enabled, the access_ok function is linked
  465. into L1 instruction memory. (less latency)
  466. config MEMSET_L1
  467. bool "Locate memset function in L1 Memory"
  468. default y
  469. help
  470. If enabled, the memset function is linked
  471. into L1 instruction memory. (less latency)
  472. config MEMCPY_L1
  473. bool "Locate memcpy function in L1 Memory"
  474. default y
  475. help
  476. If enabled, the memcpy function is linked
  477. into L1 instruction memory. (less latency)
  478. config SYS_BFIN_SPINLOCK_L1
  479. bool "Locate sys_bfin_spinlock function in L1 Memory"
  480. default y
  481. help
  482. If enabled, sys_bfin_spinlock function is linked
  483. into L1 instruction memory. (less latency)
  484. config IP_CHECKSUM_L1
  485. bool "Locate IP Checksum function in L1 Memory"
  486. default n
  487. help
  488. If enabled, the IP Checksum function is linked
  489. into L1 instruction memory. (less latency)
  490. config CACHELINE_ALIGNED_L1
  491. bool "Locate cacheline_aligned data to L1 Data Memory"
  492. default y if !BF54x
  493. default n if BF54x
  494. depends on !BF531
  495. help
  496. If enabled, cacheline_anligned data is linked
  497. into L1 data memory. (less latency)
  498. config SYSCALL_TAB_L1
  499. bool "Locate Syscall Table L1 Data Memory"
  500. default n
  501. depends on !BF531
  502. help
  503. If enabled, the Syscall LUT is linked
  504. into L1 data memory. (less latency)
  505. config CPLB_SWITCH_TAB_L1
  506. bool "Locate CPLB Switch Tables L1 Data Memory"
  507. default n
  508. depends on !BF531
  509. help
  510. If enabled, the CPLB Switch Tables are linked
  511. into L1 data memory. (less latency)
  512. config APP_STACK_L1
  513. bool "Support locating application stack in L1 Scratch Memory"
  514. default y
  515. help
  516. If enabled the application stack can be located in L1
  517. scratch memory (less latency).
  518. Currently only works with FLAT binaries.
  519. comment "Speed Optimizations"
  520. config BFIN_INS_LOWOVERHEAD
  521. bool "ins[bwl] low overhead, higher interrupt latency"
  522. default y
  523. help
  524. Reads on the Blackfin are speculative. In Blackfin terms, this means
  525. they can be interrupted at any time (even after they have been issued
  526. on to the external bus), and re-issued after the interrupt occurs.
  527. For memory - this is not a big deal, since memory does not change if
  528. it sees a read.
  529. If a FIFO is sitting on the end of the read, it will see two reads,
  530. when the core only sees one since the FIFO receives both the read
  531. which is cancelled (and not delivered to the core) and the one which
  532. is re-issued (which is delivered to the core).
  533. To solve this, interrupts are turned off before reads occur to
  534. I/O space. This option controls which the overhead/latency of
  535. controlling interrupts during this time
  536. "n" turns interrupts off every read
  537. (higher overhead, but lower interrupt latency)
  538. "y" turns interrupts off every loop
  539. (low overhead, but longer interrupt latency)
  540. default behavior is to leave this set to on (type "Y"). If you are experiencing
  541. interrupt latency issues, it is safe and OK to turn this off.
  542. endmenu
  543. choice
  544. prompt "Kernel executes from"
  545. help
  546. Choose the memory type that the kernel will be running in.
  547. config RAMKERNEL
  548. bool "RAM"
  549. help
  550. The kernel will be resident in RAM when running.
  551. config ROMKERNEL
  552. bool "ROM"
  553. help
  554. The kernel will be resident in FLASH/ROM when running.
  555. endchoice
  556. source "mm/Kconfig"
  557. config BFIN_GPTIMERS
  558. tristate "Enable Blackfin General Purpose Timers API"
  559. default n
  560. help
  561. Enable support for the General Purpose Timers API. If you
  562. are unsure, say N.
  563. To compile this driver as a module, choose M here: the module
  564. will be called gptimers.ko.
  565. config BFIN_DMA_5XX
  566. bool "Enable DMA Support"
  567. depends on (BF52x || BF53x || BF561 || BF54x)
  568. default y
  569. help
  570. DMA driver for BF5xx.
  571. choice
  572. prompt "Uncached SDRAM region"
  573. default DMA_UNCACHED_1M
  574. depends on BFIN_DMA_5XX
  575. config DMA_UNCACHED_4M
  576. bool "Enable 4M DMA region"
  577. config DMA_UNCACHED_2M
  578. bool "Enable 2M DMA region"
  579. config DMA_UNCACHED_1M
  580. bool "Enable 1M DMA region"
  581. config DMA_UNCACHED_NONE
  582. bool "Disable DMA region"
  583. endchoice
  584. comment "Cache Support"
  585. config BFIN_ICACHE
  586. bool "Enable ICACHE"
  587. config BFIN_DCACHE
  588. bool "Enable DCACHE"
  589. config BFIN_DCACHE_BANKA
  590. bool "Enable only 16k BankA DCACHE - BankB is SRAM"
  591. depends on BFIN_DCACHE && !BF531
  592. default n
  593. config BFIN_ICACHE_LOCK
  594. bool "Enable Instruction Cache Locking"
  595. choice
  596. prompt "Policy"
  597. depends on BFIN_DCACHE
  598. default BFIN_WB
  599. config BFIN_WB
  600. bool "Write back"
  601. help
  602. Write Back Policy:
  603. Cached data will be written back to SDRAM only when needed.
  604. This can give a nice increase in performance, but beware of
  605. broken drivers that do not properly invalidate/flush their
  606. cache.
  607. Write Through Policy:
  608. Cached data will always be written back to SDRAM when the
  609. cache is updated. This is a completely safe setting, but
  610. performance is worse than Write Back.
  611. If you are unsure of the options and you want to be safe,
  612. then go with Write Through.
  613. config BFIN_WT
  614. bool "Write through"
  615. help
  616. Write Back Policy:
  617. Cached data will be written back to SDRAM only when needed.
  618. This can give a nice increase in performance, but beware of
  619. broken drivers that do not properly invalidate/flush their
  620. cache.
  621. Write Through Policy:
  622. Cached data will always be written back to SDRAM when the
  623. cache is updated. This is a completely safe setting, but
  624. performance is worse than Write Back.
  625. If you are unsure of the options and you want to be safe,
  626. then go with Write Through.
  627. endchoice
  628. config MPU
  629. bool "Enable the memory protection unit (EXPERIMENTAL)"
  630. default n
  631. help
  632. Use the processor's MPU to protect applications from accessing
  633. memory they do not own. This comes at a performance penalty
  634. and is recommended only for debugging.
  635. comment "Asynchonous Memory Configuration"
  636. menu "EBIU_AMGCTL Global Control"
  637. config C_AMCKEN
  638. bool "Enable CLKOUT"
  639. default y
  640. config C_CDPRIO
  641. bool "DMA has priority over core for ext. accesses"
  642. default n
  643. config C_B0PEN
  644. depends on BF561
  645. bool "Bank 0 16 bit packing enable"
  646. default y
  647. config C_B1PEN
  648. depends on BF561
  649. bool "Bank 1 16 bit packing enable"
  650. default y
  651. config C_B2PEN
  652. depends on BF561
  653. bool "Bank 2 16 bit packing enable"
  654. default y
  655. config C_B3PEN
  656. depends on BF561
  657. bool "Bank 3 16 bit packing enable"
  658. default n
  659. choice
  660. prompt"Enable Asynchonous Memory Banks"
  661. default C_AMBEN_ALL
  662. config C_AMBEN
  663. bool "Disable All Banks"
  664. config C_AMBEN_B0
  665. bool "Enable Bank 0"
  666. config C_AMBEN_B0_B1
  667. bool "Enable Bank 0 & 1"
  668. config C_AMBEN_B0_B1_B2
  669. bool "Enable Bank 0 & 1 & 2"
  670. config C_AMBEN_ALL
  671. bool "Enable All Banks"
  672. endchoice
  673. endmenu
  674. menu "EBIU_AMBCTL Control"
  675. config BANK_0
  676. hex "Bank 0"
  677. default 0x7BB0
  678. config BANK_1
  679. hex "Bank 1"
  680. default 0x7BB0
  681. default 0x5558 if BF54x
  682. config BANK_2
  683. hex "Bank 2"
  684. default 0x7BB0
  685. config BANK_3
  686. hex "Bank 3"
  687. default 0x99B3
  688. endmenu
  689. config EBIU_MBSCTLVAL
  690. hex "EBIU Bank Select Control Register"
  691. depends on BF54x
  692. default 0
  693. config EBIU_MODEVAL
  694. hex "Flash Memory Mode Control Register"
  695. depends on BF54x
  696. default 1
  697. config EBIU_FCTLVAL
  698. hex "Flash Memory Bank Control Register"
  699. depends on BF54x
  700. default 6
  701. endmenu
  702. #############################################################################
  703. menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
  704. config PCI
  705. bool "PCI support"
  706. depends on BROKEN
  707. help
  708. Support for PCI bus.
  709. source "drivers/pci/Kconfig"
  710. config HOTPLUG
  711. bool "Support for hot-pluggable device"
  712. help
  713. Say Y here if you want to plug devices into your computer while
  714. the system is running, and be able to use them quickly. In many
  715. cases, the devices can likewise be unplugged at any time too.
  716. One well known example of this is PCMCIA- or PC-cards, credit-card
  717. size devices such as network cards, modems or hard drives which are
  718. plugged into slots found on all modern laptop computers. Another
  719. example, used on modern desktops as well as laptops, is USB.
  720. Enable HOTPLUG and build a modular kernel. Get agent software
  721. (from <http://linux-hotplug.sourceforge.net/>) and install it.
  722. Then your kernel will automatically call out to a user mode "policy
  723. agent" (/sbin/hotplug) to load modules and set up software needed
  724. to use devices as you hotplug them.
  725. source "drivers/pcmcia/Kconfig"
  726. source "drivers/pci/hotplug/Kconfig"
  727. endmenu
  728. menu "Executable file formats"
  729. source "fs/Kconfig.binfmt"
  730. endmenu
  731. menu "Power management options"
  732. source "kernel/power/Kconfig"
  733. config ARCH_SUSPEND_POSSIBLE
  734. def_bool y
  735. depends on !SMP
  736. choice
  737. prompt "Standby Power Saving Mode"
  738. depends on PM
  739. default PM_BFIN_SLEEP_DEEPER
  740. config PM_BFIN_SLEEP_DEEPER
  741. bool "Sleep Deeper"
  742. help
  743. Sleep "Deeper" Mode (High Power Savings) - This mode reduces dynamic
  744. power dissipation by disabling the clock to the processor core (CCLK).
  745. Furthermore, Standby sets the internal power supply voltage (VDDINT)
  746. to 0.85 V to provide the greatest power savings, while preserving the
  747. processor state.
  748. The PLL and system clock (SCLK) continue to operate at a very low
  749. frequency of about 3.3 MHz. To preserve data integrity in the SDRAM,
  750. the SDRAM is put into Self Refresh Mode. Typically an external event
  751. such as GPIO interrupt or RTC activity wakes up the processor.
  752. Various Peripherals such as UART, SPORT, PPI may not function as
  753. normal during Sleep Deeper, due to the reduced SCLK frequency.
  754. When in the sleep mode, system DMA access to L1 memory is not supported.
  755. If unsure, select "Sleep Deeper".
  756. config PM_BFIN_SLEEP
  757. bool "Sleep"
  758. help
  759. Sleep Mode (High Power Savings) - The sleep mode reduces power
  760. dissipation by disabling the clock to the processor core (CCLK).
  761. The PLL and system clock (SCLK), however, continue to operate in
  762. this mode. Typically an external event or RTC activity will wake
  763. up the processor. When in the sleep mode, system DMA access to L1
  764. memory is not supported.
  765. If unsure, select "Sleep Deeper".
  766. endchoice
  767. config PM_WAKEUP_BY_GPIO
  768. bool "Allow Wakeup from Standby by GPIO"
  769. config PM_WAKEUP_GPIO_NUMBER
  770. int "GPIO number"
  771. range 0 47
  772. depends on PM_WAKEUP_BY_GPIO
  773. default 2 if BFIN537_STAMP
  774. choice
  775. prompt "GPIO Polarity"
  776. depends on PM_WAKEUP_BY_GPIO
  777. default PM_WAKEUP_GPIO_POLAR_H
  778. config PM_WAKEUP_GPIO_POLAR_H
  779. bool "Active High"
  780. config PM_WAKEUP_GPIO_POLAR_L
  781. bool "Active Low"
  782. config PM_WAKEUP_GPIO_POLAR_EDGE_F
  783. bool "Falling EDGE"
  784. config PM_WAKEUP_GPIO_POLAR_EDGE_R
  785. bool "Rising EDGE"
  786. config PM_WAKEUP_GPIO_POLAR_EDGE_B
  787. bool "Both EDGE"
  788. endchoice
  789. comment "Possible Suspend Mem / Hibernate Wake-Up Sources"
  790. depends on PM
  791. config PM_BFIN_WAKE_PH6
  792. bool "Allow Wake-Up from on-chip PHY or PH6 GP"
  793. depends on PM && (BF52x || BF534 || BF536 || BF537)
  794. default n
  795. help
  796. Enable PHY and PH6 GP Wake-Up (Voltage Regulator Power-Up)
  797. config PM_BFIN_WAKE_GP
  798. bool "Allow Wake-Up from GPIOs"
  799. depends on PM && BF54x
  800. default n
  801. help
  802. Enable General-Purpose Wake-Up (Voltage Regulator Power-Up)
  803. endmenu
  804. menu "CPU Frequency scaling"
  805. source "drivers/cpufreq/Kconfig"
  806. config CPU_VOLTAGE
  807. bool "CPU Voltage scaling"
  808. depends on EXPERIMENTAL
  809. depends on CPU_FREQ
  810. default n
  811. help
  812. Say Y here if you want CPU voltage scaling according to the CPU frequency.
  813. This option violates the PLL BYPASS recommendation in the Blackfin Processor
  814. manuals. There is a theoretical risk that during VDDINT transitions
  815. the PLL may unlock.
  816. endmenu
  817. source "net/Kconfig"
  818. source "drivers/Kconfig"
  819. source "fs/Kconfig"
  820. source "arch/blackfin/Kconfig.debug"
  821. source "security/Kconfig"
  822. source "crypto/Kconfig"
  823. source "lib/Kconfig"