Kconfig 34.3 KB
Newer Older
1
# For a description of the syntax of this configuration file,
2
# see Documentation/kbuild/kconfig-language.txt.
3
#
4

5 6
mainmenu "Linux/PowerPC Kernel Configuration"

7 8 9 10
config MMU
	bool
	default y

11 12 13
config UID16
	bool

14 15 16 17
config GENERIC_HARDIRQS
	bool
	default y

18 19 20 21 22 23 24
config RWSEM_GENERIC_SPINLOCK
	bool

config RWSEM_XCHGADD_ALGORITHM
	bool
	default y

25 26 27 28
config GENERIC_CALIBRATE_DELAY
	bool
	default y

29 30 31 32 33 34 35 36 37 38 39 40
config HAVE_DEC_LOCK
	bool
	default y

config PPC
	bool
	default y

config PPC32
	bool
	default y

41 42 43 44
# All PPCs use generic nvram driver through ppc_md
config GENERIC_NVRAM
	bool
	default y
45 46 47 48 49

source "init/Kconfig"

menu "Processor"

50 51 52 53 54
choice
	prompt "Processor Type"
	default 6xx

config 6xx
55
	bool "6xx/7xx/74xx/52xx/8260"
56 57 58
	help
	  There are four types of PowerPC chips supported.  The more common
	  types (601, 603, 604, 740, 750, 7400), the Motorola embedded
59
	  versions (821, 823, 850, 855, 860, 52xx, 8260), the IBM embedded
60
	  versions (403 and 405) and the high end 64 bit Power processors
61
	  (POWER 3, POWER4, and IBM 970 also known as G5)
62
	  Unless you are building a kernel for one of the embedded processor
63 64
	  systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx.
	  Note that the kernel runs in 32-bit mode even on 64-bit chips.
65 66
	  Also note that because the 52xx & 82xx family has a 603e core,
	  specific support for that chipset is asked later on.
67 68 69 70

config 40x
	bool "40x"

71 72 73
config 44x
	bool "44x"

74 75 76
config POWER3
	bool "POWER3"

77 78 79
config POWER4
	bool "POWER4 and 970 (G5)"

80
config 8xx
81
	depends on BROKEN
82 83
	bool "8xx"

84 85 86
config E500
	bool "e500"

87 88
endchoice

89 90 91 92 93 94 95 96 97 98
config BOOKE
	bool
	depends on E500
	default y

config FSL_BOOKE
	bool
	depends on E500
	default y

99 100 101 102 103
config PTE_64BIT
	bool
	depends on 44x
	default y

104 105 106 107 108
config PHYS_64BIT
	bool
	depends on 44x
	default y

109 110
config ALTIVEC
	bool "AltiVec Support"
111 112
	depends on 6xx || POWER4
	depends on !8260
113 114 115 116 117
	---help---
	  This option enables kernel support for the Altivec extensions to the
	  PowerPC processor. The kernel currently supports saving and restoring
	  altivec registers, and turning on the 'altivec enable' bit so user
	  processes can execute altivec instructions.
118

119 120 121 122 123 124 125
	  This option is only usefully if you have a processor that supports
	  altivec (G4, otherwise known as 74xx series), but does not have
	  any affect on a non-altivec cpu (it does, however add code to the
	  kernel).

	  If in doubt, say Y here.

126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
config SPE
	bool "SPE Support"
	depends on E500
	---help---
	  This option enables kernel support for the Signal Processing
	  Extensions (SPE) to the PowerPC processor. The kernel currently
	  supports saving and restoring SPE registers, and turning on the
	  'spe enable' bit so user processes can execute SPE instructions.

	  This option is only usefully if you have a processor that supports
	  SPE (e500, otherwise known as 85xx series), but does not have any
	  affect on a non-spe cpu (it does, however add code to the kernel).

	  If in doubt, say Y here.

141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
config TAU
	bool "Thermal Management Support"
	depends on 6xx && !8260
	help
	  G3 and G4 processors have an on-chip temperature sensor called the
	  'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
	  temperature within 2-4 degrees Celsius. This option shows the current
	  on-die temperature in /proc/cpuinfo if the cpu supports it.

	  Unfortunately, on some chip revisions, this sensor is very inaccurate
	  and in some cases, does not work at all, so don't assume the cpu
	  temp is actually what /proc/cpuinfo says it is.

config TAU_INT
	bool "Interrupt driven TAU driver (DANGEROUS)"
	depends on TAU
	---help---
	  The TAU supports an interrupt driven mode which causes an interrupt
	  whenever the temperature goes out of range. This is the fastest way
	  to get notified the temp has exceeded a range. With this option off,
	  a timer is used to re-check the temperature periodically.

	  However, on some cpus it appears that the TAU interrupt hardware
	  is buggy and can cause a situation which would lead unexplained hard
	  lockups.

	  Unless you are extending the TAU driver, or enjoy kernel/hardware
	  debugging, leave this option off.

config TAU_AVERAGE
	bool "Average high and low temp"
	depends on TAU
	---help---
	  The TAU hardware can compare the temperature to an upper and lower
	  bound.  The default behavior is to show both the upper and lower
	  bound in /proc/cpuinfo. If the range is large, the temperature is
	  either changing a lot, or the TAU hardware is broken (likely on some
	  G4's). If the range is small (around 4 degrees), the temperature is
	  relatively stable.  If you say Y here, a single temperature value,
	  halfway between the upper and lower bounds, will be reported in
	  /proc/cpuinfo.

	  If in doubt, say N here.

config MATH_EMULATION
	bool "Math emulation"
187
	depends on 4xx || 8xx || E500
188 189 190 191 192 193 194 195 196 197 198 199 200
	---help---
	  Some PowerPC chips designed for embedded applications do not have
	  a floating-point unit and therefore do not implement the
	  floating-point instructions in the PowerPC instruction set.  If you
	  say Y here, the kernel will include code to emulate a floating-point
	  unit, which will allow programs that use floating-point
	  instructions to run.

	  If you have an Apple machine or an IBM RS/6000 or pSeries machine,
	  or any machine with a 6xx, 7xx or 7xxx series processor, say N
	  here.  Saying Y here will not hurt performance (on any machine) but
	  will increase the size of the kernel.

201
source "drivers/cpufreq/Kconfig"
202 203 204 205 206 207 208 209 210

config CPU_FREQ_PMAC
	bool "Support for Apple PowerBooks"
	depends on CPU_FREQ && ADB_PMU
	help
	  This adds support for frequency switching on Apple PowerBooks,
	  this currently includes some models of iBook & Titanium
	  PowerBook.

211 212 213 214 215
config CPU_FREQ_TABLE
	bool
	depends on CPU_FREQ_PMAC
	default y

216 217
config PPC601_SYNC_FIX
	bool "Workarounds for PPC601 bugs"
218
	depends on 6xx && (PPC_PREP || PPC_PMAC)
219 220 221 222 223 224 225 226 227 228 229 230
	help
	  Some versions of the PPC601 (the first PowerPC chip) have bugs which
	  mean that extra synchronization instructions are required near
	  certain instructions, typically those that make major changes to the
	  CPU state.  These extra instructions reduce performance slightly.
	  If you say N here, these extra instructions will not be included,
	  resulting in a kernel which will run faster but may not run at all
	  on some systems with the PPC601 chip.

	  If in doubt, say Y here.

source arch/ppc/platforms/4xx/Kconfig
231
source arch/ppc/platforms/85xx/Kconfig
232

233 234
config PPC64BRIDGE
	bool
235
	depends on POWER3 || POWER4
236 237 238 239
	default y

config PPC_STD_MMU
	bool
240
	depends on 6xx || POWER3 || POWER4
241 242 243 244
	default y

config NOT_COHERENT_CACHE
	bool
245
	depends on 4xx || 8xx
246 247
	default y

248 249 250 251
endmenu

menu "Platform options"

252
choice
253
	prompt "8xx Machine Type"
254 255 256 257 258 259 260 261 262 263 264 265 266 267
	depends on 8xx
	default RPXLITE

config RPXLITE
	bool "RPX-Lite"
	---help---
	  Single-board computers based around the PowerPC MPC8xx chips and
	  intended for embedded applications.  The following types are
	  supported:

	  RPX-Lite:
	  Embedded Planet RPX Lite. PC104 form-factor SBC based on the MPC823.

	  RPX-Classic:
268
	  Embedded Planet RPX Classic Low-fat. Credit-card-size SBC based on
269 270
	  the MPC 860

271
	  BSE-IP:
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312
	  Bright Star Engineering ip-Engine.

	  TQM823L:
	  TQM850L:
	  TQM855L:
	  TQM860L:
	  MPC8xx based family of mini modules, half credit card size,
	  up to 64 MB of RAM, 8 MB Flash, (Fast) Ethernet, 2 x serial ports,
	  2 x CAN bus interface, ...
	  Manufacturer: TQ Components, www.tq-group.de
	  Date of Release: October (?) 1999
	  End of Life: not yet :-)
	  URL:
	  - module: <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>
	  - starter kit: <http://www.denx.de/PDF/STK8xxLHWM201.pdf>
	  - images: <http://www.denx.de/embedded-ppc-en.html>

	  FPS850L:
	  FingerPrint Sensor System (based on TQM850L)
	  Manufacturer: IKENDI AG, <http://www.ikendi.com/>
	  Date of Release: November 1999
	  End of life: end 2000 ?
	  URL: see TQM850L

	  SPD823TS:
	  MPC823 based board used in the "Tele Server" product
	  Manufacturer: Speech Design, <http://www.speech-design.de/>
	  Date of Release: Mid 2000 (?)
	  End of life: -
	  URL: <http://www.speech-design.de/>
	  select "English", then "Teleteam Solutions", then "TeleServer"

	  IVMS8:
	  MPC860 based board used in the "Integrated Voice Mail System",
	  Small Version (8 voice channels)
	  Manufacturer: Speech Design, <http://www.speech-design.de/>
	  Date of Release: December 2000 (?)
	  End of life: -
	  URL: <http://www.speech-design.de/>

	  IVML24:
313
	  MPC860 based board used in the "Integrated Voice Mail System",
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328
	  Large Version (24 voice channels)
	  Manufacturer: Speech Design, <http://www.speech-design.de/>
	  Date of Release: March 2001  (?)
	  End of life: -
	  URL: <http://www.speech-design.de/>

	  SM850:
	  Service Module (based on TQM850L)
	  Manufacturer: Dependable Computer Systems, <http://www.decomsys.com/>
	  Date of Release: end 2000 (?)
	  End of life: mid 2001 (?)
	  URL: <http://www.tz-mikroelektronik.de/ServiceModule/index.html>

	  HERMES:
	  Hermes-Pro ISDN/LAN router with integrated 8 x hub
David Woodhouse's avatar
Merge  
David Woodhouse committed
329
	  Manufacturer: Multidata Gesellschaft für Datentechnik und Informatik
330 331 332 333 334
	  <http://www.multidata.de/>
	  Date of Release: 2000 (?)
	  End of life: -
	  URL: <http://www.multidata.de/english/products/hpro.htm>

335
	  IP860:
336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477
	  VMEBus IP (Industry Pack) carrier board with MPC860
	  Manufacturer: MicroSys GmbH, <http://www.microsys.de/>
	  Date of Release: ?
	  End of life: -
	  URL: <http://www.microsys.de/html/ip860.html>

	  PCU_E:
	  PCU = Peripheral Controller Unit, Extended
	  Manufacturer: Siemens AG, ICN (Information and Communication Networks)
	  	<http://www.siemens.de/page/1,3771,224315-1-999_2_226207-0,00.html>
	  Date of Release: April 2001
	  End of life: August 2001
	  URL: n. a.

config RPXCLASSIC
	bool "RPX-Classic"
	help
	  The RPX-Classic is a single-board computer based on the Motorola
	  MPC860.  It features 16MB of DRAM and a variable amount of flash,
	  I2C EEPROM, thermal monitoring, a PCMCIA slot, a DIP switch and two
	  LEDs.  Variants with Ethernet ports exist.  Say Y here to support it
	  directly.

config BSEIP
	bool "BSE-IP"
	help
	  Say Y here to support the Bright Star Engineering ipEngine SBC.
	  This is a credit-card-sized device featuring a MPC823 processor,
	  26MB DRAM, 4MB flash, Ethernet, a 16K-gate FPGA, USB, an LCD/video
	  controller, and two RS232 ports.

config FADS
	bool "FADS"

config TQM823L
	bool "TQM823L"
	help
	  Say Y here to support the TQM823L, one of an MPC8xx-based family of
	  mini SBCs (half credit-card size) from TQ Components first released
	  in late 1999.  Technical references are at
	  <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
	  <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
	  <http://www.denx.de/embedded-ppc-en.html>.

config TQM850L
	bool "TQM850L"
	help
	  Say Y here to support the TQM850L, one of an MPC8xx-based family of
	  mini SBCs (half credit-card size) from TQ Components first released
	  in late 1999.  Technical references are at
	  <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
	  <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
	  <http://www.denx.de/embedded-ppc-en.html>.

config TQM855L
	bool "TQM855L"
	help
	  Say Y here to support the TQM855L, one of an MPC8xx-based family of
	  mini SBCs (half credit-card size) from TQ Components first released
	  in late 1999.  Technical references are at
	  <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
	  <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
	  <http://www.denx.de/embedded-ppc-en.html>.

config TQM860L
	bool "TQM860L"
	help
	  Say Y here to support the TQM860L, one of an MPC8xx-based family of
	  mini SBCs (half credit-card size) from TQ Components first released
	  in late 1999.  Technical references are at
	  <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
	  <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
	  <http://www.denx.de/embedded-ppc-en.html>.

config FPS850L
	bool "FPS850L"

config SPD823TS
	bool "SPD823TS"
	help
	  Say Y here to support the Speech Design 823 Tele-Server from Speech
	  Design, released in 2000.  The manufacturer's website is at
	  <http://www.speech-design.de/>.

config IVMS8
	bool "IVMS8"
	help
	  Say Y here to support the Integrated Voice-Mail Small 8-channel SBC
	  from Speech Design, released March 2001.  The manufacturer's website
	  is at <http://www.speech-design.de/>.

config IVML24
	bool "IVML24"
	help
	  Say Y here to support the Integrated Voice-Mail Large 24-channel SBC
	  from Speech Design, released March 2001.  The manufacturer's website
	  is at <http://www.speech-design.de/>.

config SM850
	bool "SM850"
	help
	  Say Y here to support the Service Module 850 from Dependable
	  Computer Systems, an SBC based on the TQM850L module by TQ
	  Components.  This board is no longer in production.  The
	  manufacturer's website is at <http://www.decomsys.com/>.

config HERMES_PRO
	bool "HERMES"

config IP860
	bool "IP860"

config LWMON
	bool "LWMON"

config PCU_E
	bool "PCU_E"

config CCM
	bool "CCM"

config LANTEC
	bool "LANTEC"

config MBX
	bool "MBX"
	help
	  MBX is a line of Motorola single-board computer based around the
	  MPC821 and MPC860 processors, and intended for embedded-controller
	  applications.  Say Y here to support these boards directly.

config WINCEPT
	bool "WinCept"
	help
	  The Wincept 100/110 is a Motorola single-board computer based on the
	  MPC821 PowerPC, introduced in 1998 and designed to be used in
	  thin-client machines.  Say Y to support it directly.

endchoice

choice
	prompt "Machine Type"
478
	depends on 6xx || POWER3 || POWER4
479 480 481 482 483 484 485 486 487 488 489
	default PPC_MULTIPLATFORM
	---help---
	  Linux currently supports several different kinds of PowerPC-based
	  machines: Apple Power Macintoshes and clones (such as the Motorola
	  Starmax series), PReP (PowerPC Reference Platform) machines (such
	  as the Motorola PowerStacks, Motorola cPCI/VME embedded systems,
	  and some IBM RS/6000 systems), CHRP (Common Hardware Reference
	  Platform) machines (including all of the recent IBM RS/6000 and
	  pSeries machines), and several embedded PowerPC systems containing
	  4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
	  default option is to build a kernel which works on the first three.
490

491 492 493 494 495 496 497 498 499 500 501 502
	  Select CHRP/PowerMac/PReP if configuring for an IBM RS/6000 or
	  pSeries machine, a Power Macintosh (including iMacs, iBooks and
	  Powerbooks), or a PReP machine.

	  Select Gemini if configuring for a Synergy Microsystems' Gemini
	  series Single Board Computer.  More information is available at:
	  <http://www.synergymicro.com/PressRel/97_10_15.html>.

	  Select APUS if configuring for a PowerUP Amiga.  More information is
	  available at: <http://linux-apus.sourceforge.net/>.

config PPC_MULTIPLATFORM
503 504 505 506 507 508 509 510 511
	bool "CHRP/PowerMac/PReP"

config APUS
	bool "Amiga-APUS"
	help
	  Select APUS if configuring for a PowerUP Amiga.
	  More information is available at:
	  <http://linux-apus.sourceforge.net/>.

512 513 514 515 516 517
config KATANA
	bool "Artesyn-Katana"
	help
	  Select KATANA if configuring an Artesyn KATANA 750i or 3750
	  cPCI board.

518
config WILLOW
519 520
	bool "Cogent-Willow"

521 522 523 524 525
config CPCI690
	bool "Force-CPCI690"
	help
	  Select CPCI690 if configuring a Force CPCI690 cPCI board.

526 527 528 529 530 531
config PCORE
	bool "Force-PowerCore"

config POWERPMC250
	bool "Force-PowerPMC250"

532 533 534 535 536 537
config CHESTNUT
	bool "IBM 750FX Eval board or 750GX Eval board"
	help
	  Select CHESTNUT if configuring an IBM 750FX Eval Board or a
	  IBM 750GX Eval board.

538 539 540
config SPRUCE
	bool "IBM-Spruce"

541 542 543 544 545 546
config EV64260
	bool "Marvell-EV64260BP"
	help
	  Select EV64260 if configuring a Marvell (formerly Galileo)
	  EV64260BP Evaluation platform.

547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566
config LOPEC
	bool "Motorola-LoPEC"

config MCPN765
	bool "Motorola-MCPN765"

config MVME5100
	bool "Motorola-MVME5100"

config PPLUS
	bool "Motorola-PowerPlus"

config PRPMC750
	bool "Motorola-PrPMC750"

config PRPMC800
	bool "Motorola-PrPMC800"

config SANDPOINT
	bool "Motorola-Sandpoint"
567 568
	help
	  Select SANDPOINT if configuring for a Motorola Sandpoint X3
569
	  (any flavor).
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586

config ADIR
	bool "SBS-Adirondack"

config K2
	bool "SBS-K2"

config PAL4
	bool "SBS-Palomar4"

config GEMINI
	bool "Synergy-Gemini"
	help
	  Select Gemini if configuring for a Synergy Microsystems' Gemini
	  series Single Board Computer.  More information is available at:
	  <http://www.synergymicro.com/PressRel/97_10_15.html>.

587 588 589 590 591 592 593 594 595
config EST8260
	bool "EST8260"
	---help---
	  The EST8260 is a single-board computer manufactured by Wind River
	  Systems, Inc. (formerly Embedded Support Tools Corp.) and based on
	  the MPC8260.  Wind River Systems has a website at
	  <http://www.windriver.com/>, but the EST8260 cannot be found on it
	  and has probably been discontinued or rebadged.

596 597 598 599 600 601 602 603 604
config SBC82xx
	bool "SBC82xx"
	---help---
	  SBC PowerQUICC II, single-board computer with MPC82xx CPU
	  Manufacturer: Wind River Systems, Inc.
	  Date of Release: May 2003
	  End of Life: -
	  URL: <http://www.windriver.com/>

605 606 607
config SBS8260
	bool "SBS8260"

608
config RPX8260
609 610 611 612 613 614 615 616 617 618 619 620 621 622
	bool "RPXSUPER"

config TQM8260
	bool "TQM8260"
	---help---
	  MPC8260 based module, little larger than credit card,
	  up to 128 MB global + 64 MB local RAM, 32 MB Flash,
	  32 kB EEPROM, 256 kB L@ Cache, 10baseT + 100baseT Ethernet,
	  2 x serial ports, ...
	  Manufacturer: TQ Components, www.tq-group.de
	  Date of Release: June 2001
	  End of Life: not yet :-)
	  URL: <http://www.denx.de/PDF/TQM82xx_SPEC_Rev005.pdf>

623 624 625
config ADS8272
	bool "ADS8272"

626 627 628 629 630 631 632 633 634
config LITE5200
	bool "Freescale LITE5200 / (IceCube)"
	select PPC_MPC52xx
	help
	  Support for the LITE5200 dev board for the MPC5200 from Freescale.
	  This is for the LITE5200 version 2.0 board. Don't know if it changes
	  much but it's only been tested on this board version. I think this
	  board is also known as IceCube.

635 636
endchoice

637 638 639 640 641
config PQ2ADS
	bool
	depends on ADS8272
	default y

642 643 644 645 646 647 648 649 650
config TQM8xxL
	bool
	depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L || SM850)
	default y

config EMBEDDEDBOOT
	bool
	depends on 8xx || 8260
	default y
651

652 653
config PPC_MPC52xx
	bool
654

655
config 8260
656
	bool "CPM2 Support" if WILLOW
657
	depends on 6xx
658
	default y if TQM8260 || RPX8260 || EST8260 || SBS8260 || SBC82xx
659
	help
660 661 662 663
	  The MPC8260 is a typical embedded CPU made by Motorola.  Selecting
	  this option means that you wish to build a kernel for a machine with
	  an 8260 class CPU.

664 665 666 667 668 669 670 671 672
config 8272
	bool
	depends on 6xx
	default y if ADS8272
	select 8260
	help
	  The MPC8272 CPM has a different internal dpram setup than other CPM2
	  devices

673 674
config CPM2
	bool
675
	depends on 8260 || MPC8560
676 677 678 679 680 681
	default y
	help
	  The CPM2 (Communications Processor Module) is a coprocessor on
	  embedded CPUs made by Motorola.  Selecting this option means that
	  you wish to build a kernel for a machine with a CPM2 coprocessor
	  on it (826x, 827x, 8560).
682

683 684 685 686 687 688 689 690 691 692
config PPC_CHRP
	bool
	depends on PPC_MULTIPLATFORM
	default y

config PPC_PMAC
	bool
	depends on PPC_MULTIPLATFORM
	default y

693 694 695 696 697
config PPC_PMAC64
	bool
	depends on PPC_PMAC && POWER4
	default y

698 699 700 701 702 703 704 705 706 707
config PPC_PREP
	bool
	depends on PPC_MULTIPLATFORM
	default y

config PPC_OF
	bool
	depends on PPC_PMAC || PPC_CHRP
	default y

708 709
config PPC_GEN550
	bool
710
	depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \
711
		PRPMC750 || K2 || PRPMC800 || LOPEC || \
712
		(EV64260 && !SERIAL_MPSC) || CHESTNUT
713 714
	default y

715 716
config FORCE
	bool
717
	depends on 6xx && (PCORE || POWERPMC250)
718 719
	default y

720 721
config GT64260
	bool
722
	depends on EV64260 || CPCI690
723 724
	default y

725 726 727 728 729
config MV64360
	bool
	depends on KATANA
	default y

730 731 732 733 734
config MV64360
	bool
	depends on CHESTNUT
  	default y

735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
config MV64X60
	bool
	depends on (GT64260 || MV64360)
	default y

menu "Set bridge options"
	depends on MV64X60

config NOT_COHERENT_CACHE
	bool "Turn off Cache Coherency"
	default n
	help
	  Some 64x60 bridges lock up when trying to enforce cache coherency.
	  When this option is selected, cache coherency will be turned off.
	  Note that this can cause other problems (e.g., stale data being
	  speculatively loaded via a cached mapping).  Use at your own risk.

config MV64X60_BASE
	hex "Set bridge base used by firmware"
	default "0xf1000000"
	help
	  A firmware can leave the base address of the bridge's registers at
	  a non-standard location.  If so, set this value to reflect the
	  address of that non-standard location.

config MV64X60_NEW_BASE
	hex "Set bridge base used by kernel"
	default "0xf1000000"
	help
	  If the current base address of the bridge's registers is not where
	  you want it, set this value to the address that you want it moved to.

endmenu

769 770 771 772 773 774 775 776 777
config NONMONARCH_SUPPORT
	bool "Enable Non-Monarch Support"
	depends on PRPMC800

config HARRIER
	bool
	depends on PRPMC800
	default y

778 779
config EPIC_SERIAL_MODE
	bool
780
	depends on 6xx && (LOPEC || SANDPOINT)
781 782
	default y

Tom Rini's avatar
Tom Rini committed
783 784 785 786 787
config MPC10X_BRIDGE
	bool
	depends on PCORE || POWERPMC250 || LOPEC || SANDPOINT
	default y

Tom Rini's avatar
Tom Rini committed
788 789
config FSL_OCP
	bool
790
	depends on MPC10X_BRIDGE || PPC_MPC52xx
Tom Rini's avatar
Tom Rini committed
791 792 793 794 795 796 797
	default y

config MPC10X_OPENPIC
	bool
	depends on POWERPMC250 || LOPEC || SANDPOINT
	default y

798 799
config MPC10X_STORE_GATHERING
	bool "Enable MPC10x store gathering"
Tom Rini's avatar
Tom Rini committed
800
	depends on MPC10X_BRIDGE
801 802 803 804 805

config CPC710_DATA_GATHERING
	bool "Enable CPC710 data gathering"
	depends on K2

806 807 808 809
config HARRIER_STORE_GATHERING
	bool "Enable Harrier store gathering"
	depends on HARRIER

810 811 812 813 814 815 816 817
config MVME5100_IPMC761_PRESENT
	bool "MVME5100 configured with an IPMC761"
	depends on MVME5100

config SPRUCE_BAUD_33M
	bool "Spruce baud clock support"
	depends on SPRUCE

818 819
config PC_KEYBOARD
	bool "PC PS/2 style Keyboard"
820
	depends on 4xx || CPM2
821 822 823 824 825

config PPCBUG_NVRAM
	bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
	default y if PPC_PREP

826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854
config SMP
	bool "Symmetric multi-processing support"
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, say N. If you have a system with more
	  than one CPU, say Y.  Note that the kernel does not currently
	  support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
	  since they have inadequate hardware support for multiprocessor
	  operation.

	  If you say N here, the kernel will run on single and multiprocessor
	  machines, but will use only one CPU of a multiprocessor machine. If
	  you say Y here, the kernel will run on single-processor machines.
	  On a single-processor machine, the kernel will run faster if you say
	  N here.

	  If you don't know what to do here, say N.

config IRQ_ALL_CPUS
	bool "Distribute interrupts on all CPUs by default"
	depends on SMP
	help
	  This option gives the kernel permission to distribute IRQs across
	  multiple CPUs.  Saying N here will route all IRQs to the first
	  CPU.  Generally saying Y is safe, although some problems have been
	  reported with SMP Power Macintoshes with this option enabled.

config NR_CPUS
	int "Maximum number of CPUs (2-32)"
855
	range 2 32
856
	depends on SMP
857
	default "4"
858 859 860 861 862 863 864 865 866 867 868

config PREEMPT
	bool "Preemptible Kernel"
	help
	  This option reduces the latency of the kernel when reacting to
	  real-time or interactive events by allowing a low priority process to
	  be preempted even if it is in kernel mode executing a system call.

	  Say Y here if you are building a kernel for a desktop, embedded
	  or real-time system.  Say N if you are unsure.

869 870
config HIGHMEM
	bool "High memory support"
871

872
source "fs/Kconfig.binfmt"
873

874 875 876
config PROC_DEVICETREE
	bool "Support for Open Firmware device tree in /proc"
	depends on PPC_OF && PROC_FS
877
	help
878 879 880
	  This option adds a device-tree directory under /proc which contains
	  an image of the device tree that the kernel copies from Open
	  Firmware. If unsure, say Y here.
881 882 883

config PREP_RESIDUAL
	bool "Support for PReP Residual Data"
884
	depends on PPC_PREP
885 886 887 888
	help
	  Some PReP systems have residual data passed to the kernel by the
	  firmware.  This allows detection of memory size, devices present and
	  other useful pieces of information.  Sometimes this information is
889 890 891
	  not present or incorrect, in which case it could lead to the machine 
	  behaving incorrectly.  If this happens, either disable PREP_RESIDUAL
	  or pass the 'noresidual' option to the kernel.
892

893
	  If you are running a PReP system, say Y here, otherwise say N.
894 895 896

config PROC_PREPRESIDUAL
	bool "Support for reading of PReP Residual Data in /proc"
897
	depends on PREP_RESIDUAL && PROC_FS
898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959
	help
	  Enabling this option will create a /proc/residual file which allows
	  you to get at the residual data on PReP systems.  You will need a tool
	  (lsresidual) to parse it.  If you aren't on a PReP system, you don't
	  want this.

config CMDLINE_BOOL
	bool "Default bootloader kernel arguments"

config CMDLINE
	string "Initial kernel command string"
	depends on CMDLINE_BOOL
	default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
	help
	  On some platforms, there is currently no way for the boot loader to
	  pass arguments to the kernel. For these platforms, you can supply
	  some command-line options at build time by entering them here.  In
	  most cases you will need to specify the root device here.

config AMIGA
	bool
	depends on APUS
	default y
	help
	  This option enables support for the Amiga series of computers.

config ZORRO
	bool
	depends on APUS
	default y
	help
	  This enables support for the Zorro bus in the Amiga. If you have
	  expansion cards in your Amiga that conform to the Amiga
	  AutoConfig(tm) specification, say Y, otherwise N. Note that even
	  expansion cards that do not fit in the Zorro slots but fit in e.g.
	  the CPU slot may fall in this category, so you have to say Y to let
	  Linux use these.

config ABSTRACT_CONSOLE
	bool
	depends on APUS
	default y

config APUS_FAST_EXCEPT
	bool
	depends on APUS
	default y

config AMIGA_PCMCIA
	bool "Amiga 1200/600 PCMCIA support"
	depends on APUS && EXPERIMENTAL
	help
	  Include support in the kernel for pcmcia on Amiga 1200 and Amiga
	  600. If you intend to use pcmcia cards say Y; otherwise say N.

config AMIGA_BUILTIN_SERIAL
	tristate "Amiga builtin serial support"
	depends on APUS
	help
	  If you want to use your Amiga's built-in serial port in Linux,
	  answer Y.

960
	  To compile this driver as a module, choose M here.
961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989

config GVPIOEXT
	tristate "GVP IO-Extender support"
	depends on APUS
	help
	  If you want to use a GVP IO-Extender serial card in Linux, say Y.
	  Otherwise, say N.

config GVPIOEXT_LP
	tristate "GVP IO-Extender parallel printer support"
	depends on GVPIOEXT
	help
	  Say Y to enable driving a printer from the parallel port on your
	  GVP IO-Extender card, N otherwise.

config GVPIOEXT_PLIP
	tristate "GVP IO-Extender PLIP support"
	depends on GVPIOEXT
	help
	  Say Y to enable doing IP over the parallel port on your GVP
	  IO-Extender card, N otherwise.

config MULTIFACE_III_TTY
	tristate "Multiface Card III serial support"
	depends on APUS
	help
	  If you want to use a Multiface III card's serial port in Linux,
	  answer Y.

990
	  To compile this driver as a module, choose M here.
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003

config A2232
	tristate "Commodore A2232 serial support (EXPERIMENTAL)"
	depends on EXPERIMENTAL && APUS
	---help---
	  This option supports the 2232 7-port serial card shipped with the
	  Amiga 2000 and other Zorro-bus machines, dating from 1989.  At
	  a max of 19,200 bps, the ports are served by a 6551 ACIA UART chip
	  each, plus a 8520 CIA, and a master 6502 CPU and buffer as well. The
	  ports were connected with 8 pin DIN connectors on the card bracket,
	  for which 8 pin to DB25 adapters were supplied. The card also had
	  jumpers internally to toggle various pinning configurations.

1004
	  This driver can be built as a module; but then "generic_serial"
1005
	  will also be built as a module. This has to be loaded before
1006
	  "ser_a2232". If you want to do this, answer M here.
1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021

config WHIPPET_SERIAL
	tristate "Hisoft Whippet PCMCIA serial support"
	depends on AMIGA_PCMCIA
	help
	  HiSoft has a web page at <http://www.hisoft.co.uk/>, but there
	  is no listing for the Whippet in their Amiga section.

config APNE
	tristate "PCMCIA NE2000 support"
	depends on AMIGA_PCMCIA
	help
	  If you have a PCMCIA NE2000 compatible adapter, say Y.  Otherwise,
	  say N.

1022 1023
	  To compile this driver as a module, choose M here: the
	  module will be called apne.
1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044

config SERIAL_CONSOLE
	bool "Support for serial port console"
	depends on APUS && (AMIGA_BUILTIN_SERIAL=y || GVPIOEXT=y || MULTIFACE_III_TTY=y)

config HEARTBEAT
	bool "Use power LED as a heartbeat"
	depends on APUS
	help
	  Use the power-on LED on your machine as a load meter.  The exact
	  behavior is platform-dependent, but normally the flash frequency is
	  a hyperbolic function of the 5-minute load average.

config PROC_HARDWARE
	bool "/proc/hardware support"
	depends on APUS

source "drivers/zorro/Kconfig"

endmenu

1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058
menu "Bus options"

config ISA
	bool "Support for ISA-bus hardware"
	depends on PPC_PREP || PPC_CHRP
	help
	  Find out whether you have ISA slots on your motherboard.  ISA is the
	  name of a bus system, i.e. the way the CPU talks to the other stuff
	  inside your box.  If you have an Apple machine, say N here; if you
	  have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
	  you have an embedded board, consult your board documentation.

config GENERIC_ISA_DMA
	bool
1059
	depends on POWER3 || POWER4 || 6xx && !CPM2
1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075
	default y

config EISA
	bool
	help
	  The Extended Industry Standard Architecture (EISA) bus is a bus
	  architecture used on some older intel-based PCs.

config SBUS
	bool

# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
config MCA
	bool

config PCI
David Woodhouse's avatar
Merge  
David Woodhouse committed
1076 1077
	bool "PCI support" if 40x || CPM2 || 85xx
	default y if !40x && !CPM2 && !8xx && !APUS && !85xx
1078 1079
	default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
	default PCI_QSPAN if !4xx && !CPM2 && 8xx
1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091
	help
	  Find out whether your system includes a PCI bus. PCI is the name of
	  a bus system, i.e. the way the CPU talks to the other stuff inside
	  your box.  If you say Y here, the kernel will include drivers and
	  infrastructure code to support PCI bus devices.

config PCI_DOMAINS
	bool
	default PCI

config PCI_QSPAN
	bool "QSpan PCI"
1092
	depends on !4xx && !CPM2 && 8xx
1093 1094 1095 1096
	help
	  Say Y here if you have a system based on a Motorola 8xx-series
	  embedded processor with a QSPAN PCI interface, otherwise say N.

1097 1098 1099 1100
config PCI_8260
	bool
	depends on PCI && 8260 && !8272
	default y
1101

1102 1103 1104 1105 1106
config 8260_PCI9
	bool "  Enable workaround for MPC826x erratum PCI 9"
	depends on PCI_8260
	default y

1107
choice
1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124
	prompt "  IDMA channel for PCI 9 workaround"
	depends on 8260_PCI9

config 8260_PCI9_IDMA1
	bool "IDMA1"

config 8260_PCI9_IDMA2
	bool "IDMA2"

config 8260_PCI9_IDMA3
	bool "IDMA3"

config 8260_PCI9_IDMA4
	bool "IDMA4"

endchoice

1125 1126 1127 1128 1129 1130 1131 1132 1133
config PCI_PERMEDIA
	bool "PCI for Permedia2"
	depends on !4xx && !8xx && APUS

source "drivers/pci/Kconfig"

source "drivers/pcmcia/Kconfig"

endmenu
1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146

menu "Advanced setup"

config ADVANCED_OPTIONS
	bool "Prompt for advanced kernel configuration options"
	help
	  This option will enable prompting for a variety of advanced kernel
	  configuration options.  These options can cause the kernel to not
	  work if they are set incorrectly, but can be used to optimize certain
	  aspects of kernel memory management.

	  Unless you know what you are doing, say N here.

1147 1148 1149
comment "Default settings for advanced configuration options are used"
	depends on !ADVANCED_OPTIONS

1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160
config HIGHMEM_START_BOOL
	bool "Set high memory pool address"
	depends on ADVANCED_OPTIONS && HIGHMEM
	help
	  This option allows you to set the base address of the kernel virtual
	  area used to map high memory pages.  This can be useful in
	  optimizing the layout of kernel virtual memory.

	  Say N here unless you know what you are doing.

config HIGHMEM_START
1161
	hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1162 1163
	default "0xfe000000"

1164 1165
config LOWMEM_SIZE_BOOL
	bool "Set maximum low memory"
1166
	depends on ADVANCED_OPTIONS
1167 1168 1169 1170 1171 1172 1173 1174 1175 1176
	help
	  This option allows you to set the maximum amount of memory which
	  will be used as "low memory", that is, memory which the kernel can
	  access directly, without having to set up a kernel virtual mapping.
	  This can be useful in optimizing the layout of kernel virtual
	  memory.

	  Say N here unless you know what you are doing.

config LOWMEM_SIZE
1177
	hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
Tom Rini's avatar
Tom Rini committed
1178
	default "0x30000000"
1179

1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191
config KERNEL_START_BOOL
	bool "Set custom kernel base address"
	depends on ADVANCED_OPTIONS
	help
	  This option allows you to set the kernel virtual address at which
	  the kernel will map low memory (the kernel image will be linked at
	  this address).  This can be useful in optimizing the virtual memory
	  layout of the system.

	  Say N here unless you know what you are doing.

config KERNEL_START
1192
	hex "Virtual address of kernel base" if KERNEL_START_BOOL
1193 1194
	default "0xc0000000"

1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205
config TASK_SIZE_BOOL
	bool "Set custom user task size"
	depends on ADVANCED_OPTIONS
	help
	  This option allows you to set the amount of virtual address space
	  allocated to user tasks.  This can be useful in optimizing the
	  virtual memory layout of the system.

	  Say N here unless you know what you are doing.

config TASK_SIZE
1206
	hex "Size of user task space" if TASK_SIZE_BOOL
1207 1208
	default "0x80000000"

1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232
config CONSISTENT_START_BOOL
	bool "Set custom consistent memory pool address"
	depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
	help
	  This option allows you to set the base virtual address
	  of the the consistent memory pool.  This pool of virtual
	  memory is used to make consistent memory allocations.

config CONSISTENT_START
	hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
	default "0xff100000" if NOT_COHERENT_CACHE

config CONSISTENT_SIZE_BOOL
	bool "Set custom consistent memory pool size"
	depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
	help
	  This option allows you to set the size of the the
	  consistent memory pool.  This pool of virtual memory
	  is used to make consistent memory allocations.

config CONSISTENT_SIZE
	hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
	default "0x00200000" if NOT_COHERENT_CACHE

1233 1234
config BOOT_LOAD_BOOL
	bool "Set the boot link/load address"
1235
	depends on ADVANCED_OPTIONS && !PPC_MULTIPLATFORM
1236 1237 1238 1239 1240 1241 1242 1243
	help
	  This option allows you to set the initial load address of the zImage
	  or zImage.initrd file.  This can be useful if you are on a board
	  which has a small amount of memory.

	  Say N here unless you know what you are doing.

config BOOT_LOAD
1244 1245
	hex "Link/load address for booting" if BOOT_LOAD_BOOL
	default "0x00400000" if 40x || 8xx || 8260
1246
	default "0x01000000" if 44x
1247 1248
	default "0x00800000"

1249 1250 1251
config PIN_TLB
	bool "Pinned Kernel TLBs (860 ONLY)"
	depends on ADVANCED_OPTIONS && 8xx
1252 1253
endmenu

1254
source "drivers/Kconfig"
1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283

source "fs/Kconfig"

source "arch/ppc/8xx_io/Kconfig"

source "arch/ppc/8260_io/Kconfig"


menu "IBM 40x options"
	depends on 40x

config SERIAL_SICC
	bool "SICC Serial port"
	depends on STB03xxx

config UART1_DFLT_CONSOLE
	bool
	depends on SERIAL_SICC && UART0_TTYS1
	default y

config SERIAL_SICC_CONSOLE
	bool
	depends on SERIAL_SICC && UART0_TTYS1
	default y

endmenu

source "lib/Kconfig"

1284
source "arch/ppc/oprofile/Kconfig"
1285

1286
source "arch/ppc/Kconfig.debug"
1287 1288 1289 1290

source "security/Kconfig"

source "crypto/Kconfig"