linux/arch/ppc/Kconfig
<<
>>
Prefs
   1# For a description of the syntax of this configuration file,
   2# see Documentation/kbuild/kconfig-language.txt.
   3#
   4
   5mainmenu "Linux/PowerPC Kernel Configuration"
   6
   7config WORD_SIZE
   8        int
   9        default 32
  10
  11config MMU
  12        bool
  13        default y
  14
  15config GENERIC_HARDIRQS
  16        bool
  17        default y
  18
  19config RWSEM_GENERIC_SPINLOCK
  20        bool
  21
  22config RWSEM_XCHGADD_ALGORITHM
  23        bool
  24        default y
  25
  26config ARCH_HAS_ILOG2_U32
  27        bool
  28        default y
  29
  30config ARCH_HAS_ILOG2_U64
  31        bool
  32        default n
  33
  34config GENERIC_HWEIGHT
  35        bool
  36        default y
  37
  38config GENERIC_CALIBRATE_DELAY
  39        bool
  40        default y
  41
  42config PPC
  43        bool
  44        default y
  45
  46config PPC32
  47        bool
  48        default y
  49
  50# All PPCs use generic nvram driver through ppc_md
  51config GENERIC_NVRAM
  52        bool
  53        default y
  54
  55config GENERIC_FIND_NEXT_BIT
  56        bool
  57        default y
  58
  59config SCHED_NO_NO_OMIT_FRAME_POINTER
  60        bool
  61        default y
  62
  63config ARCH_MAY_HAVE_PC_FDC
  64        bool
  65        default y
  66
  67config GENERIC_BUG
  68        bool
  69        default y
  70        depends on BUG
  71
  72source "init/Kconfig"
  73
  74menu "Processor"
  75
  76choice
  77        prompt "Processor Type"
  78        default 6xx
  79
  80config 6xx
  81        bool "6xx/7xx/74xx/52xx/82xx/83xx"
  82        select PPC_FPU
  83        help
  84          There are four types of PowerPC chips supported.  The more common
  85          types (601, 603, 604, 740, 750, 7400), the older Freescale
  86          (formerly Motorola) embedded versions (821, 823, 850, 855, 860,
  87          52xx, 82xx, 83xx), the IBM embedded versions (403 and 405) and
  88          the Book E embedded processors from IBM (44x) and Freescale (85xx).
  89          For support for 64-bit processors, set ARCH=powerpc.
  90          Unless you are building a kernel for one of the embedded processor
  91          systems, choose 6xx.
  92          Also note that because the 52xx, 82xx, & 83xx family have a 603e
  93          core, specific support for that chipset is asked later on.
  94
  95config 40x
  96        bool "40x"
  97        select PPC_DCR_NATIVE
  98
  99config 44x
 100        bool "44x"
 101        select PPC_DCR_NATIVE
 102
 103config 8xx
 104        bool "8xx"
 105        select PPC_LIB_RHEAP
 106
 107config E200
 108        bool "e200"
 109
 110config E500
 111        bool "e500"
 112
 113endchoice
 114
 115config PPC_FPU
 116        bool
 117
 118config PPC_DCR_NATIVE
 119        bool
 120        default n
 121
 122config PPC_DCR
 123        bool
 124        depends on PPC_DCR_NATIVE
 125        default y
 126
 127config BOOKE
 128        bool
 129        depends on E200 || E500
 130        default y
 131
 132config FSL_BOOKE
 133        bool
 134        depends on E200 || E500
 135        default y
 136
 137config PTE_64BIT
 138        bool
 139        depends on 44x || E500
 140        default y if 44x
 141        default y if E500 && PHYS_64BIT
 142
 143config PHYS_64BIT
 144        bool 'Large physical address support' if E500
 145        depends on 44x || E500
 146        default y if 44x
 147        ---help---
 148          This option enables kernel support for larger than 32-bit physical
 149          addresses.  This features is not be available on all e500 cores.
 150
 151          If in doubt, say N here.
 152
 153config ALTIVEC
 154        bool "AltiVec Support"
 155        depends on 6xx
 156        depends on !8260 && !83xx
 157        ---help---
 158          This option enables kernel support for the Altivec extensions to the
 159          PowerPC processor. The kernel currently supports saving and restoring
 160          altivec registers, and turning on the 'altivec enable' bit so user
 161          processes can execute altivec instructions.
 162
 163          This option is only usefully if you have a processor that supports
 164          altivec (G4, otherwise known as 74xx series), but does not have
 165          any affect on a non-altivec cpu (it does, however add code to the
 166          kernel).
 167
 168          If in doubt, say Y here.
 169
 170config SPE
 171        bool "SPE Support"
 172        depends on E200 || E500
 173        ---help---
 174          This option enables kernel support for the Signal Processing
 175          Extensions (SPE) to the PowerPC processor. The kernel currently
 176          supports saving and restoring SPE registers, and turning on the
 177          'spe enable' bit so user processes can execute SPE instructions.
 178
 179          This option is only useful if you have a processor that supports
 180          SPE (e500, otherwise known as 85xx series), but does not have any
 181          effect on a non-spe cpu (it does, however add code to the kernel).
 182
 183          If in doubt, say Y here.
 184
 185config TAU
 186        bool "Thermal Management Support"
 187        depends on 6xx && !8260 && !83xx
 188        help
 189          G3 and G4 processors have an on-chip temperature sensor called the
 190          'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
 191          temperature within 2-4 degrees Celsius. This option shows the current
 192          on-die temperature in /proc/cpuinfo if the cpu supports it.
 193
 194          Unfortunately, on some chip revisions, this sensor is very inaccurate
 195          and in some cases, does not work at all, so don't assume the cpu
 196          temp is actually what /proc/cpuinfo says it is.
 197
 198config TAU_INT
 199        bool "Interrupt driven TAU driver (DANGEROUS)"
 200        depends on TAU
 201        ---help---
 202          The TAU supports an interrupt driven mode which causes an interrupt
 203          whenever the temperature goes out of range. This is the fastest way
 204          to get notified the temp has exceeded a range. With this option off,
 205          a timer is used to re-check the temperature periodically.
 206
 207          However, on some cpus it appears that the TAU interrupt hardware
 208          is buggy and can cause a situation which would lead unexplained hard
 209          lockups.
 210
 211          Unless you are extending the TAU driver, or enjoy kernel/hardware
 212          debugging, leave this option off.
 213
 214config TAU_AVERAGE
 215        bool "Average high and low temp"
 216        depends on TAU
 217        ---help---
 218          The TAU hardware can compare the temperature to an upper and lower
 219          bound.  The default behavior is to show both the upper and lower
 220          bound in /proc/cpuinfo. If the range is large, the temperature is
 221          either changing a lot, or the TAU hardware is broken (likely on some
 222          G4's). If the range is small (around 4 degrees), the temperature is
 223          relatively stable.  If you say Y here, a single temperature value,
 224          halfway between the upper and lower bounds, will be reported in
 225          /proc/cpuinfo.
 226
 227          If in doubt, say N here.
 228
 229config MATH_EMULATION
 230        bool "Math emulation"
 231        depends on 4xx || 8xx || E200 || E500
 232        ---help---
 233          Some PowerPC chips designed for embedded applications do not have
 234          a floating-point unit and therefore do not implement the
 235          floating-point instructions in the PowerPC instruction set.  If you
 236          say Y here, the kernel will include code to emulate a floating-point
 237          unit, which will allow programs that use floating-point
 238          instructions to run.
 239
 240          If you have an Apple machine or an IBM RS/6000 or pSeries machine,
 241          or any machine with a 6xx, 7xx or 7xxx series processor, say N
 242          here.  Saying Y here will not hurt performance (on any machine) but
 243          will increase the size of the kernel.
 244
 245config KEXEC
 246        bool "kexec system call (EXPERIMENTAL)"
 247        depends on EXPERIMENTAL
 248        help
 249          kexec is a system call that implements the ability to shutdown your
 250          current kernel, and to start another kernel.  It is like a reboot
 251          but it is independent of the system firmware.   And like a reboot
 252          you can start any kernel with it, not just Linux.
 253
 254          The name comes from the similarity to the exec system call.
 255
 256          It is an ongoing process to be certain the hardware in a machine
 257          is properly shutdown, so do not be surprised if this code does not
 258          initially work for you.  It may help to enable device hotplugging
 259          support.  As of this writing the exact hardware interface is
 260          strongly in flux, so no good recommendation can be made.
 261
 262          In the GameCube implementation, kexec allows you to load and
 263          run DOL files, including kernel and homebrew DOLs.
 264
 265source "drivers/cpufreq/Kconfig"
 266
 267config PPC601_SYNC_FIX
 268        bool "Workarounds for PPC601 bugs"
 269        depends on 6xx && PPC_PREP
 270        help
 271          Some versions of the PPC601 (the first PowerPC chip) have bugs which
 272          mean that extra synchronization instructions are required near
 273          certain instructions, typically those that make major changes to the
 274          CPU state.  These extra instructions reduce performance slightly.
 275          If you say N here, these extra instructions will not be included,
 276          resulting in a kernel which will run faster but may not run at all
 277          on some systems with the PPC601 chip.
 278
 279          If in doubt, say Y here.
 280
 281source arch/ppc/platforms/4xx/Kconfig
 282source arch/ppc/platforms/85xx/Kconfig
 283
 284config PPC_STD_MMU
 285        bool
 286        depends on 6xx
 287        default y
 288
 289config NOT_COHERENT_CACHE
 290        bool
 291        depends on 4xx || 8xx || E200
 292        default y
 293
 294endmenu
 295
 296menu "Platform options"
 297
 298config FADS
 299        bool
 300
 301choice
 302        prompt "8xx Machine Type"
 303        depends on 8xx
 304        default RPXLITE
 305
 306config RPXLITE
 307        bool "RPX-Lite"
 308        ---help---
 309          Single-board computers based around the PowerPC MPC8xx chips and
 310          intended for embedded applications.  The following types are
 311          supported:
 312
 313          RPX-Lite:
 314          Embedded Planet RPX Lite. PC104 form-factor SBC based on the MPC823.
 315
 316          RPX-Classic:
 317          Embedded Planet RPX Classic Low-fat. Credit-card-size SBC based on
 318          the MPC 860
 319
 320          BSE-IP:
 321          Bright Star Engineering ip-Engine.
 322
 323          TQM823L:
 324          TQM850L:
 325          TQM855L:
 326          TQM860L:
 327          MPC8xx based family of mini modules, half credit card size,
 328          up to 64 MB of RAM, 8 MB Flash, (Fast) Ethernet, 2 x serial ports,
 329          2 x CAN bus interface, ...
 330          Manufacturer: TQ Components, www.tq-group.de
 331          Date of Release: October (?) 1999
 332          End of Life: not yet :-)
 333          URL:
 334          - module: <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>
 335          - starter kit: <http://www.denx.de/PDF/STK8xxLHWM201.pdf>
 336          - images: <http://www.denx.de/embedded-ppc-en.html>
 337
 338          FPS850L:
 339          FingerPrint Sensor System (based on TQM850L)
 340          Manufacturer: IKENDI AG, <http://www.ikendi.com/>
 341          Date of Release: November 1999
 342          End of life: end 2000 ?
 343          URL: see TQM850L
 344
 345          IVMS8:
 346          MPC860 based board used in the "Integrated Voice Mail System",
 347          Small Version (8 voice channels)
 348          Manufacturer: Speech Design, <http://www.speech-design.de/>
 349          Date of Release: December 2000 (?)
 350          End of life: -
 351          URL: <http://www.speech-design.de/>
 352
 353          IVML24:
 354          MPC860 based board used in the "Integrated Voice Mail System",
 355          Large Version (24 voice channels)
 356          Manufacturer: Speech Design, <http://www.speech-design.de/>
 357          Date of Release: March 2001  (?)
 358          End of life: -
 359          URL: <http://www.speech-design.de/>
 360
 361          HERMES:
 362          Hermes-Pro ISDN/LAN router with integrated 8 x hub
 363          Manufacturer: Multidata Gesellschaft fur Datentechnik und Informatik
 364          <http://www.multidata.de/>
 365          Date of Release: 2000 (?)
 366          End of life: -
 367          URL: <http://www.multidata.de/english/products/hpro.htm>
 368
 369          IP860:
 370          VMEBus IP (Industry Pack) carrier board with MPC860
 371          Manufacturer: MicroSys GmbH, <http://www.microsys.de/>
 372          Date of Release: ?
 373          End of life: -
 374          URL: <http://www.microsys.de/html/ip860.html>
 375
 376          PCU_E:
 377          PCU = Peripheral Controller Unit, Extended
 378          Manufacturer: Siemens AG, ICN (Information and Communication Networks)
 379                <http://www.siemens.de/page/1,3771,224315-1-999_2_226207-0,00.html>
 380          Date of Release: April 2001
 381          End of life: August 2001
 382          URL: n. a.
 383
 384config RPXCLASSIC
 385        bool "RPX-Classic"
 386        help
 387          The RPX-Classic is a single-board computer based on the Motorola
 388          MPC860.  It features 16MB of DRAM and a variable amount of flash,
 389          I2C EEPROM, thermal monitoring, a PCMCIA slot, a DIP switch and two
 390          LEDs.  Variants with Ethernet ports exist.  Say Y here to support it
 391          directly.
 392
 393config BSEIP
 394        bool "BSE-IP"
 395        help
 396          Say Y here to support the Bright Star Engineering ipEngine SBC.
 397          This is a credit-card-sized device featuring a MPC823 processor,
 398          26MB DRAM, 4MB flash, Ethernet, a 16K-gate FPGA, USB, an LCD/video
 399          controller, and two RS232 ports.
 400
 401config MPC8XXFADS
 402        bool "FADS"
 403        select FADS
 404
 405config MPC86XADS
 406        bool "MPC86XADS"
 407        help
 408          MPC86x Application Development System by Freescale Semiconductor.
 409          The MPC86xADS is meant to serve as a platform for s/w and h/w
 410          development around the MPC86X processor families.
 411        select FADS
 412
 413config MPC885ADS
 414        bool "MPC885ADS"
 415        help
 416          Freescale Semiconductor MPC885 Application Development System (ADS).
 417          Also known as DUET.
 418          The MPC885ADS is meant to serve as a platform for s/w and h/w
 419          development around the MPC885 processor family.
 420
 421config TQM823L
 422        bool "TQM823L"
 423        help
 424          Say Y here to support the TQM823L, one of an MPC8xx-based family of
 425          mini SBCs (half credit-card size) from TQ Components first released
 426          in late 1999.  Technical references are at
 427          <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
 428          <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
 429          <http://www.denx.de/embedded-ppc-en.html>.
 430
 431config TQM850L
 432        bool "TQM850L"
 433        help
 434          Say Y here to support the TQM850L, one of an MPC8xx-based family of
 435          mini SBCs (half credit-card size) from TQ Components first released
 436          in late 1999.  Technical references are at
 437          <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
 438          <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
 439          <http://www.denx.de/embedded-ppc-en.html>.
 440
 441config TQM855L
 442        bool "TQM855L"
 443        help
 444          Say Y here to support the TQM855L, one of an MPC8xx-based family of
 445          mini SBCs (half credit-card size) from TQ Components first released
 446          in late 1999.  Technical references are at
 447          <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
 448          <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
 449          <http://www.denx.de/embedded-ppc-en.html>.
 450
 451config TQM860L
 452        bool "TQM860L"
 453        help
 454          Say Y here to support the TQM860L, one of an MPC8xx-based family of
 455          mini SBCs (half credit-card size) from TQ Components first released
 456          in late 1999.  Technical references are at
 457          <http://www.denx.de/PDF/TQM8xxLHWM201.pdf>, and
 458          <http://www.denx.de/PDF/STK8xxLHWM201.pdf>, and an image at
 459          <http://www.denx.de/embedded-ppc-en.html>.
 460
 461config FPS850L
 462        bool "FPS850L"
 463
 464config IVMS8
 465        bool "IVMS8"
 466        help
 467          Say Y here to support the Integrated Voice-Mail Small 8-channel SBC
 468          from Speech Design, released March 2001.  The manufacturer's website
 469          is at <http://www.speech-design.de/>.
 470
 471config IVML24
 472        bool "IVML24"
 473        help
 474          Say Y here to support the Integrated Voice-Mail Large 24-channel SBC
 475          from Speech Design, released March 2001.  The manufacturer's website
 476          is at <http://www.speech-design.de/>.
 477
 478config HERMES_PRO
 479        bool "HERMES"
 480
 481config IP860
 482        bool "IP860"
 483
 484config LWMON
 485        bool "LWMON"
 486
 487config PCU_E
 488        bool "PCU_E"
 489
 490config CCM
 491        bool "CCM"
 492
 493config LANTEC
 494        bool "LANTEC"
 495
 496config MBX
 497        bool "MBX"
 498        help
 499          MBX is a line of Motorola single-board computer based around the
 500          MPC821 and MPC860 processors, and intended for embedded-controller
 501          applications.  Say Y here to support these boards directly.
 502
 503config WINCEPT
 504        bool "WinCept"
 505        help
 506          The Wincept 100/110 is a Motorola single-board computer based on the
 507          MPC821 PowerPC, introduced in 1998 and designed to be used in
 508          thin-client machines.  Say Y to support it directly.
 509
 510endchoice
 511
 512menu "Freescale Ethernet driver platform-specific options"
 513        depends on FS_ENET
 514
 515        config MPC8xx_SECOND_ETH
 516        bool "Second Ethernet channel"
 517        depends on (MPC885ADS || MPC86XADS)
 518        default y
 519        help
 520          This enables support for second Ethernet on MPC885ADS and MPC86xADS boards.
 521          The latter will use SCC1, for 885ADS you can select it below.
 522
 523        choice
 524                prompt "Second Ethernet channel"
 525                depends on MPC8xx_SECOND_ETH
 526                default MPC8xx_SECOND_ETH_FEC2
 527
 528                config MPC8xx_SECOND_ETH_FEC2
 529                bool "FEC2"
 530                depends on MPC885ADS
 531                help
 532                  Enable FEC2 to serve as 2-nd Ethernet channel. Note that SMC2
 533                  (often 2-nd UART) will not work if this is enabled.
 534
 535                config MPC8xx_SECOND_ETH_SCC1
 536                bool "SCC1"
 537                depends on MPC86XADS
 538                select MPC8xx_SCC_ENET_FIXED
 539                help
 540                  Enable SCC1 to serve as 2-nd Ethernet channel. Note that SMC1
 541                  (often 1-nd UART) will not work if this is enabled.
 542
 543                config MPC8xx_SECOND_ETH_SCC3
 544                bool "SCC3"
 545                depends on MPC885ADS
 546                help
 547                  Enable SCC3 to serve as 2-nd Ethernet channel. Note that SMC1
 548                  (often 1-nd UART) will not work if this is enabled.
 549
 550        endchoice
 551
 552        config MPC8xx_SCC_ENET_FIXED
 553        depends on MPC8xx_SECOND_ETH_SCC
 554        default n
 555        bool "Use fixed MII-less mode for SCC Ethernet"
 556
 557endmenu
 558
 559choice
 560        prompt "Machine Type"
 561        depends on 6xx
 562        default PPC_PREP
 563        ---help---
 564          Linux currently supports several different kinds of PowerPC-based
 565          machines: Apple Power Macintoshes and clones (such as the Motorola
 566          Starmax series), PReP (PowerPC Reference Platform) machines (such
 567          as the Motorola PowerStacks, Motorola cPCI/VME embedded systems,
 568          and some IBM RS/6000 systems), CHRP (Common Hardware Reference
 569          Platform) machines (including all of the recent IBM RS/6000 and
 570          pSeries machines), and several embedded PowerPC systems containing
 571          4xx, 6xx, 7xx, 8xx, 74xx, and 82xx processors.  Currently, the
 572          default option is to build a kernel which works on PReP.
 573
 574          Note that support for Apple and CHRP machines is now only available
 575          with ARCH=powerpc, and has been removed from this menu.  If you
 576          wish to build a kernel for an Apple or CHRP machine, exit this
 577          configuration process and re-run it with ARCH=powerpc.
 578
 579          Select PReP if configuring for a PReP machine.
 580
 581config PPC_PREP
 582        bool "PReP"
 583
 584config KATANA
 585        bool "Artesyn-Katana"
 586        help
 587          Select KATANA if configuring an Artesyn KATANA 750i or 3750
 588          cPCI board.
 589
 590config WILLOW
 591        bool "Cogent-Willow"
 592
 593config CPCI690
 594        bool "Force-CPCI690"
 595        help
 596          Select CPCI690 if configuring a Force CPCI690 cPCI board.
 597
 598config POWERPMC250
 599        bool "Force-PowerPMC250"
 600
 601config CHESTNUT
 602        bool "IBM 750FX Eval board or 750GX Eval board"
 603        help
 604          Select CHESTNUT if configuring an IBM 750FX Eval Board or a
 605          IBM 750GX Eval board.
 606
 607config SPRUCE
 608        bool "IBM-Spruce"
 609        select PPC_INDIRECT_PCI
 610
 611config HDPU
 612        bool "Sky-HDPU"
 613        help
 614          Select HDPU if configuring a Sky Computers Compute Blade.
 615
 616config HDPU_FEATURES
 617        depends on HDPU
 618        tristate "HDPU-Features"
 619        help
 620          Select to enable HDPU enhanced features.
 621
 622config EV64260
 623        bool "Marvell-EV64260BP"
 624        help
 625          Select EV64260 if configuring a Marvell (formerly Galileo)
 626          EV64260BP Evaluation platform.
 627
 628config LOPEC
 629        bool "Motorola-LoPEC"
 630        select PPC_I8259
 631
 632config MVME5100
 633        bool "Motorola-MVME5100"
 634        select PPC_INDIRECT_PCI
 635
 636config PPLUS
 637        bool "Motorola-PowerPlus"
 638        select PPC_I8259
 639        select PPC_INDIRECT_PCI
 640
 641config PRPMC750
 642        bool "Motorola-PrPMC750"
 643        select PPC_INDIRECT_PCI
 644
 645config PRPMC800
 646        bool "Motorola-PrPMC800"
 647        select PPC_INDIRECT_PCI
 648
 649config SANDPOINT
 650        bool "Motorola-Sandpoint"
 651        select PPC_I8259
 652        help
 653          Select SANDPOINT if configuring for a Motorola Sandpoint X3
 654          (any flavor).
 655
 656config RADSTONE_PPC7D
 657        bool "Radstone Technology PPC7D board"
 658        select PPC_I8259
 659
 660config PAL4
 661        bool "SBS-Palomar4"
 662
 663config EST8260
 664        bool "EST8260"
 665        ---help---
 666          The EST8260 is a single-board computer manufactured by Wind River
 667          Systems, Inc. (formerly Embedded Support Tools Corp.) and based on
 668          the MPC8260.  Wind River Systems has a website at
 669          <http://www.windriver.com/>, but the EST8260 cannot be found on it
 670          and has probably been discontinued or rebadged.
 671
 672config SBC82xx
 673        bool "SBC82xx"
 674        ---help---
 675          SBC PowerQUICC II, single-board computer with MPC82xx CPU
 676          Manufacturer: Wind River Systems, Inc.
 677          Date of Release: May 2003
 678          End of Life: -
 679          URL: <http://www.windriver.com/>
 680
 681config SBS8260
 682        bool "SBS8260"
 683
 684config RPX8260
 685        bool "RPXSUPER"
 686
 687config TQM8260
 688        bool "TQM8260"
 689        ---help---
 690          MPC8260 based module, little larger than credit card,
 691          up to 128 MB global + 64 MB local RAM, 32 MB Flash,
 692          32 kB EEPROM, 256 kB L@ Cache, 10baseT + 100baseT Ethernet,
 693          2 x serial ports, ...
 694          Manufacturer: TQ Components, www.tq-group.de
 695          Date of Release: June 2001
 696          End of Life: not yet :-)
 697          URL: <http://www.denx.de/PDF/TQM82xx_SPEC_Rev005.pdf>
 698
 699config ADS8272
 700        bool "ADS8272"
 701
 702config PQ2FADS
 703        bool "Freescale-PQ2FADS"
 704        help
 705          Select PQ2FADS if you wish to configure for a Freescale
 706          PQ2FADS board (-VR or -ZU).
 707
 708config LITE5200
 709        bool "Freescale LITE5200 / (IceCube)"
 710        select PPC_MPC52xx
 711        help
 712          Support for the LITE5200 dev board for the MPC5200 from Freescale.
 713          This is for the LITE5200 version 2.0 board. Don't know if it changes
 714          much but it's only been tested on this board version. I think this
 715          board is also known as IceCube.
 716
 717config LITE5200B
 718        bool "Freescale LITE5200B"
 719        depends on LITE5200
 720        help
 721          Support for the LITE5200B dev board for the MPC5200 from Freescale.
 722          This is the new board with 2 PCI slots.
 723
 724config MPC834x_SYS
 725        bool "Freescale MPC834x SYS"
 726        help
 727          This option enables support for the MPC 834x SYS evaluation board.
 728
 729          Be aware that PCI buses can only function when SYS board is plugged
 730          into the PIB (Platform IO Board) board from Freescale which provide
 731          3 PCI slots.  The PIBs PCI initialization is the bootloader's
 732          responsibility.
 733
 734config EV64360
 735        bool "Marvell-EV64360BP"
 736        help
 737          Select EV64360 if configuring a Marvell EV64360BP Evaluation
 738          platform.
 739endchoice
 740
 741config PQ2ADS
 742        bool
 743        depends on ADS8272
 744        default y
 745
 746config TQM8xxL
 747        bool
 748        depends on 8xx && (TQM823L || TQM850L || FPS850L || TQM855L || TQM860L)
 749        default y
 750
 751config EMBEDDEDBOOT
 752        bool
 753        depends on 8xx || 8260
 754        default y
 755
 756config PPC_MPC52xx
 757        bool
 758
 759config 8260
 760        bool "CPM2 Support" if WILLOW
 761        depends on 6xx
 762        default y if TQM8260 || RPX8260 || EST8260 || SBS8260 || SBC82xx || PQ2FADS
 763        help
 764          The MPC8260 is a typical embedded CPU made by Motorola.  Selecting
 765          this option means that you wish to build a kernel for a machine with
 766          an 8260 class CPU.
 767
 768config 8272
 769        bool
 770        depends on 6xx
 771        default y if ADS8272
 772        select 8260
 773        help
 774          The MPC8272 CPM has a different internal dpram setup than other CPM2
 775          devices
 776
 777config 83xx
 778        bool
 779        default y if MPC834x_SYS
 780
 781config MPC834x
 782        bool
 783        default y if MPC834x_SYS
 784
 785config PPC_83xx
 786        bool
 787        default y if 83xx
 788
 789config CPM1
 790        bool
 791        depends on 8xx
 792        default y
 793        help
 794          The CPM1 (Communications Processor Module) is a coprocessor on
 795          embedded CPUs made by Motorola.  Selecting this option means that
 796          you wish to build a kernel for a machine with a CPM1 coprocessor
 797          on it (8xx, 827x, 8560).
 798
 799config CPM2
 800        bool
 801        depends on 8260 || MPC8560 || MPC8555
 802        select PPC_LIB_RHEAP
 803        default y
 804        help
 805          The CPM2 (Communications Processor Module) is a coprocessor on
 806          embedded CPUs made by Motorola.  Selecting this option means that
 807          you wish to build a kernel for a machine with a CPM2 coprocessor
 808          on it (826x, 827x, 8560).
 809
 810config PPC_GEN550
 811        bool
 812        depends on SANDPOINT || SPRUCE || PPLUS || \
 813                PRPMC750 || PRPMC800 || LOPEC || \
 814                (EV64260 && !SERIAL_MPSC) || CHESTNUT || RADSTONE_PPC7D || \
 815                83xx
 816        default y
 817
 818config FORCE
 819        bool
 820        depends on 6xx && POWERPMC250
 821        default y
 822
 823config GT64260
 824        bool
 825        depends on EV64260 || CPCI690
 826        default y
 827
 828config MV64360          # Really MV64360 & MV64460
 829        bool
 830        depends on CHESTNUT || KATANA || RADSTONE_PPC7D || HDPU || EV64360
 831        default y
 832
 833config MV64X60
 834        bool
 835        depends on (GT64260 || MV64360)
 836        select PPC_INDIRECT_PCI
 837        default y
 838
 839config MV643XX_ETH_0
 840        bool
 841        depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360 || HDPU)
 842        default y
 843
 844config MV643XX_ETH_1
 845        bool
 846        depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360)
 847        default y
 848
 849config MV643XX_ETH_2
 850        bool
 851        depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360)
 852        default y
 853
 854menu "Set bridge options"
 855        depends on MV64X60
 856
 857config NOT_COHERENT_CACHE
 858        bool "Turn off Cache Coherency"
 859        default n
 860        help
 861          Some 64x60 bridges lock up when trying to enforce cache coherency.
 862          When this option is selected, cache coherency will be turned off.
 863          Note that this can cause other problems (e.g., stale data being
 864          speculatively loaded via a cached mapping).  Use at your own risk.
 865
 866config MV64X60_BASE
 867        hex "Set bridge base used by firmware"
 868        default "0xf1000000"
 869        help
 870          A firmware can leave the base address of the bridge's registers at
 871          a non-standard location.  If so, set this value to reflect the
 872          address of that non-standard location.
 873
 874config MV64X60_NEW_BASE
 875        hex "Set bridge base used by kernel"
 876        default "0xf1000000"
 877        help
 878          If the current base address of the bridge's registers is not where
 879          you want it, set this value to the address that you want it moved to.
 880
 881endmenu
 882
 883config NONMONARCH_SUPPORT
 884        bool "Enable Non-Monarch Support"
 885        depends on PRPMC800
 886
 887config HARRIER
 888        bool
 889        depends on PRPMC800
 890        default y
 891
 892config EPIC_SERIAL_MODE
 893        bool
 894        depends on 6xx && (LOPEC || SANDPOINT)
 895        default y
 896
 897config MPC10X_BRIDGE
 898        bool
 899        depends on POWERPMC250 || LOPEC || SANDPOINT
 900        select PPC_INDIRECT_PCI
 901        default y
 902
 903config MPC10X_OPENPIC
 904        bool
 905        depends on POWERPMC250 || LOPEC || SANDPOINT
 906        default y
 907
 908config MPC10X_STORE_GATHERING
 909        bool "Enable MPC10x store gathering"
 910        depends on MPC10X_BRIDGE
 911
 912config SANDPOINT_ENABLE_UART1
 913        bool "Enable DUART mode on Sandpoint"
 914        depends on SANDPOINT
 915        help
 916          If this option is enabled then the MPC824x processor will run
 917          in DUART mode instead of UART mode.
 918
 919config HARRIER_STORE_GATHERING
 920        bool "Enable Harrier store gathering"
 921        depends on HARRIER
 922
 923config MVME5100_IPMC761_PRESENT
 924        bool "MVME5100 configured with an IPMC761"
 925        depends on MVME5100
 926        select PPC_I8259
 927
 928config SPRUCE_BAUD_33M
 929        bool "Spruce baud clock support"
 930        depends on SPRUCE
 931
 932config PC_KEYBOARD
 933        bool "PC PS/2 style Keyboard"
 934        depends on 4xx || CPM2
 935
 936config PPCBUG_NVRAM
 937        bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
 938        default y if PPC_PREP
 939
 940config SMP
 941        depends on PPC_STD_MMU
 942        bool "Symmetric multi-processing support"
 943        ---help---
 944          This enables support for systems with more than one CPU. If you have
 945          a system with only one CPU, say N. If you have a system with more
 946          than one CPU, say Y.  Note that the kernel does not currently
 947          support SMP machines with 603/603e/603ev or PPC750 ("G3") processors
 948          since they have inadequate hardware support for multiprocessor
 949          operation.
 950
 951          If you say N here, the kernel will run on single and multiprocessor
 952          machines, but will use only one CPU of a multiprocessor machine. If
 953          you say Y here, the kernel will run on single-processor machines.
 954          On a single-processor machine, the kernel will run faster if you say
 955          N here.
 956
 957          If you don't know what to do here, say N.
 958
 959config IRQ_ALL_CPUS
 960        bool "Distribute interrupts on all CPUs by default"
 961        depends on SMP && !MV64360
 962        help
 963          This option gives the kernel permission to distribute IRQs across
 964          multiple CPUs.  Saying N here will route all IRQs to the first
 965          CPU.  Generally saying Y is safe, although some problems have been
 966          reported with SMP Power Macintoshes with this option enabled.
 967
 968config NR_CPUS
 969        int "Maximum number of CPUs (2-32)"
 970        range 2 32
 971        depends on SMP
 972        default "4"
 973
 974config HIGHMEM
 975        bool "High memory support"
 976
 977config ARCH_POPULATES_NODE_MAP
 978        def_bool y
 979
 980source kernel/Kconfig.hz
 981source kernel/Kconfig.preempt
 982source "mm/Kconfig"
 983
 984source "fs/Kconfig.binfmt"
 985
 986config PREP_RESIDUAL
 987        bool "Support for PReP Residual Data"
 988        depends on PPC_PREP
 989        help
 990          Some PReP systems have residual data passed to the kernel by the
 991          firmware.  This allows detection of memory size, devices present and
 992          other useful pieces of information.  Sometimes this information is
 993          not present or incorrect, in which case it could lead to the machine 
 994          behaving incorrectly.  If this happens, either disable PREP_RESIDUAL
 995          or pass the 'noresidual' option to the kernel.
 996
 997          If you are running a PReP system, say Y here, otherwise say N.
 998
 999config PROC_PREPRESIDUAL
1000        bool "Support for reading of PReP Residual Data in /proc"
1001        depends on PREP_RESIDUAL && PROC_FS
1002        help
1003          Enabling this option will create a /proc/residual file which allows
1004          you to get at the residual data on PReP systems.  You will need a tool
1005          (lsresidual) to parse it.  If you aren't on a PReP system, you don't
1006          want this.
1007
1008config CMDLINE_BOOL
1009        bool "Default bootloader kernel arguments"
1010
1011config CMDLINE
1012        string "Initial kernel command string"
1013        depends on CMDLINE_BOOL
1014        default "console=ttyS0,9600 console=tty0 root=/dev/sda2"
1015        help
1016          On some platforms, there is currently no way for the boot loader to
1017          pass arguments to the kernel. For these platforms, you can supply
1018          some command-line options at build time by entering them here.  In
1019          most cases you will need to specify the root device here.
1020
1021if BROKEN
1022source kernel/power/Kconfig
1023endif
1024
1025config SECCOMP
1026        bool "Enable seccomp to safely compute untrusted bytecode"
1027        depends on PROC_FS
1028        default y
1029        help
1030          This kernel feature is useful for number crunching applications
1031          that may need to compute untrusted bytecode during their
1032          execution. By using pipes or other transports made available to
1033          the process as file descriptors supporting the read/write
1034          syscalls, it's possible to isolate those applications in
1035          their own address space using seccomp. Once seccomp is
1036          enabled via /proc/<pid>/seccomp, it cannot be disabled
1037          and the task is only allowed to execute a few safe syscalls
1038          defined by each seccomp mode.
1039
1040          If unsure, say Y. Only embedded should say N here.
1041
1042endmenu
1043
1044config ISA_DMA_API
1045        bool
1046        default y
1047
1048menu "Bus options"
1049
1050config ISA
1051        bool "Support for ISA-bus hardware"
1052        depends on PPC_PREP
1053        help
1054          Find out whether you have ISA slots on your motherboard.  ISA is the
1055          name of a bus system, i.e. the way the CPU talks to the other stuff
1056          inside your box.  If you have an Apple machine, say N here; if you
1057          have an IBM RS/6000 or pSeries machine or a PReP machine, say Y.  If
1058          you have an embedded board, consult your board documentation.
1059
1060config ZONE_DMA
1061        bool
1062        default y
1063
1064config GENERIC_ISA_DMA
1065        bool
1066        depends on 6xx && !CPM2
1067        default y
1068
1069config PPC_I8259
1070        bool
1071        default y if 85xx || PPC_PREP
1072        default n
1073
1074config PPC_INDIRECT_PCI
1075        bool
1076        depends on PCI
1077        default y if 40x || 44x || 85xx || 83xx || PPC_PREP
1078        default n
1079
1080config EISA
1081        bool
1082        help
1083          The Extended Industry Standard Architecture (EISA) bus is a bus
1084          architecture used on some older intel-based PCs.
1085
1086config SBUS
1087        bool
1088
1089# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
1090config MCA
1091        bool
1092
1093config PCI
1094        bool "PCI support" if 40x || CPM2 || 83xx || 85xx || PPC_MPC52xx
1095        default y if !40x && !CPM2 && !8xx && !83xx && !85xx
1096        default PCI_QSPAN if !4xx && !CPM2 && 8xx
1097        help
1098          Find out whether your system includes a PCI bus. PCI is the name of
1099          a bus system, i.e. the way the CPU talks to the other stuff inside
1100          your box.  If you say Y here, the kernel will include drivers and
1101          infrastructure code to support PCI bus devices.
1102
1103config PCI_DOMAINS
1104        def_bool PCI
1105
1106config PCI_SYSCALL
1107        def_bool PCI
1108
1109config MPC83xx_PCI2
1110        bool "Support for 2nd PCI host controller"
1111        depends on PCI && MPC834x
1112        default y if MPC834x_SYS
1113
1114config PCI_QSPAN
1115        bool "QSpan PCI"
1116        depends on !4xx && !CPM2 && 8xx
1117        select PPC_I8259
1118        help
1119          Say Y here if you have a system based on a Motorola 8xx-series
1120          embedded processor with a QSPAN PCI interface, otherwise say N.
1121
1122config PCI_8260
1123        bool
1124        depends on PCI && 8260
1125        select PPC_INDIRECT_PCI
1126        default y
1127
1128config 8260_PCI9
1129        bool "Enable workaround for MPC826x erratum PCI 9"
1130        depends on PCI_8260 && !ADS8272
1131        default y
1132
1133choice
1134        prompt "IDMA channel for PCI 9 workaround"
1135        depends on 8260_PCI9
1136
1137config 8260_PCI9_IDMA1
1138        bool "IDMA1"
1139
1140config 8260_PCI9_IDMA2
1141        bool "IDMA2"
1142
1143config 8260_PCI9_IDMA3
1144        bool "IDMA3"
1145
1146config 8260_PCI9_IDMA4
1147        bool "IDMA4"
1148
1149endchoice
1150
1151source "drivers/pci/Kconfig"
1152
1153source "drivers/pcmcia/Kconfig"
1154
1155config RAPIDIO
1156        bool "RapidIO support" if MPC8540 || MPC8560
1157        help
1158          If you say Y here, the kernel will include drivers and
1159          infrastructure code to support RapidIO interconnect devices.
1160
1161source "drivers/rapidio/Kconfig"
1162
1163endmenu
1164
1165menu "Advanced setup"
1166
1167config ADVANCED_OPTIONS
1168        bool "Prompt for advanced kernel configuration options"
1169        help
1170          This option will enable prompting for a variety of advanced kernel
1171          configuration options.  These options can cause the kernel to not
1172          work if they are set incorrectly, but can be used to optimize certain
1173          aspects of kernel memory management.
1174
1175          Unless you know what you are doing, say N here.
1176
1177comment "Default settings for advanced configuration options are used"
1178        depends on !ADVANCED_OPTIONS
1179
1180config HIGHMEM_START_BOOL
1181        bool "Set high memory pool address"
1182        depends on ADVANCED_OPTIONS && HIGHMEM
1183        help
1184          This option allows you to set the base address of the kernel virtual
1185          area used to map high memory pages.  This can be useful in
1186          optimizing the layout of kernel virtual memory.
1187
1188          Say N here unless you know what you are doing.
1189
1190config HIGHMEM_START
1191        hex "Virtual start address of high memory pool" if HIGHMEM_START_BOOL
1192        default "0xfe000000"
1193
1194config LOWMEM_SIZE_BOOL
1195        bool "Set maximum low memory"
1196        depends on ADVANCED_OPTIONS
1197        help
1198          This option allows you to set the maximum amount of memory which
1199          will be used as "low memory", that is, memory which the kernel can
1200          access directly, without having to set up a kernel virtual mapping.
1201          This can be useful in optimizing the layout of kernel virtual
1202          memory.
1203
1204          Say N here unless you know what you are doing.
1205
1206config LOWMEM_SIZE
1207        hex "Maximum low memory size (in bytes)" if LOWMEM_SIZE_BOOL
1208        default "0x30000000"
1209
1210config KERNEL_START_BOOL
1211        bool "Set custom kernel base address"
1212        depends on ADVANCED_OPTIONS
1213        help
1214          This option allows you to set the kernel virtual address at which
1215          the kernel will map low memory (the kernel image will be linked at
1216          this address).  This can be useful in optimizing the virtual memory
1217          layout of the system.
1218
1219          Say N here unless you know what you are doing.
1220
1221config KERNEL_START
1222        hex "Virtual address of kernel base" if KERNEL_START_BOOL
1223        default "0xc0000000"
1224
1225config TASK_SIZE_BOOL
1226        bool "Set custom user task size"
1227        depends on ADVANCED_OPTIONS
1228        help
1229          This option allows you to set the amount of virtual address space
1230          allocated to user tasks.  This can be useful in optimizing the
1231          virtual memory layout of the system.
1232
1233          Say N here unless you know what you are doing.
1234
1235config TASK_SIZE
1236        hex "Size of user task space" if TASK_SIZE_BOOL
1237        default "0x80000000"
1238
1239config CONSISTENT_START_BOOL
1240        bool "Set custom consistent memory pool address"
1241        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1242        help
1243          This option allows you to set the base virtual address
1244          of the consistent memory pool.  This pool of virtual
1245          memory is used to make consistent memory allocations.
1246
1247config CONSISTENT_START
1248        hex "Base virtual address of consistent memory pool" if CONSISTENT_START_BOOL
1249        default "0xff100000" if NOT_COHERENT_CACHE
1250
1251config CONSISTENT_SIZE_BOOL
1252        bool "Set custom consistent memory pool size"
1253        depends on ADVANCED_OPTIONS && NOT_COHERENT_CACHE
1254        help
1255          This option allows you to set the size of the
1256          consistent memory pool.  This pool of virtual memory
1257          is used to make consistent memory allocations.
1258
1259config CONSISTENT_SIZE
1260        hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
1261        default "0x00200000" if NOT_COHERENT_CACHE
1262
1263config BOOT_LOAD_BOOL
1264        bool "Set the boot link/load address"
1265        depends on ADVANCED_OPTIONS && !PPC_PREP
1266        help
1267          This option allows you to set the initial load address of the zImage
1268          or zImage.initrd file.  This can be useful if you are on a board
1269          which has a small amount of memory.
1270
1271          Say N here unless you know what you are doing.
1272
1273config BOOT_LOAD
1274        hex "Link/load address for booting" if BOOT_LOAD_BOOL
1275        default "0x00400000" if 40x || 8xx || 8260
1276        default "0x01000000" if 44x
1277        default "0x00800000"
1278
1279config PIN_TLB
1280        bool "Pinned Kernel TLBs (860 ONLY)"
1281        depends on ADVANCED_OPTIONS && 8xx
1282
1283config PPC_LIB_RHEAP
1284        bool
1285
1286endmenu
1287
1288source "net/Kconfig"
1289
1290source "drivers/Kconfig"
1291
1292source "fs/Kconfig"
1293
1294source "arch/ppc/8xx_io/Kconfig"
1295
1296source "arch/ppc/8260_io/Kconfig"
1297
1298
1299menu "IBM 40x options"
1300        depends on 40x
1301
1302config SERIAL_SICC
1303        bool "SICC Serial port"
1304        depends on STB03xxx
1305
1306config UART1_DFLT_CONSOLE
1307        bool
1308        depends on SERIAL_SICC && UART0_TTYS1
1309        default y
1310
1311config SERIAL_SICC_CONSOLE
1312        bool
1313        depends on SERIAL_SICC && UART0_TTYS1
1314        default y
1315
1316endmenu
1317
1318source "lib/Kconfig"
1319
1320source "kernel/Kconfig.instrumentation"
1321
1322source "arch/ppc/Kconfig.debug"
1323
1324source "security/Kconfig"
1325
1326source "crypto/Kconfig"
1327