0001 # SPDX-License-Identifier: GPL-2.0
0002 menu "Platform support"
0003
0004 source "arch/powerpc/platforms/powernv/Kconfig"
0005 source "arch/powerpc/platforms/pseries/Kconfig"
0006 source "arch/powerpc/platforms/chrp/Kconfig"
0007 source "arch/powerpc/platforms/512x/Kconfig"
0008 source "arch/powerpc/platforms/52xx/Kconfig"
0009 source "arch/powerpc/platforms/powermac/Kconfig"
0010 source "arch/powerpc/platforms/maple/Kconfig"
0011 source "arch/powerpc/platforms/pasemi/Kconfig"
0012 source "arch/powerpc/platforms/ps3/Kconfig"
0013 source "arch/powerpc/platforms/cell/Kconfig"
0014 source "arch/powerpc/platforms/8xx/Kconfig"
0015 source "arch/powerpc/platforms/82xx/Kconfig"
0016 source "arch/powerpc/platforms/83xx/Kconfig"
0017 source "arch/powerpc/platforms/85xx/Kconfig"
0018 source "arch/powerpc/platforms/86xx/Kconfig"
0019 source "arch/powerpc/platforms/embedded6xx/Kconfig"
0020 source "arch/powerpc/platforms/44x/Kconfig"
0021 source "arch/powerpc/platforms/40x/Kconfig"
0022 source "arch/powerpc/platforms/amigaone/Kconfig"
0023 source "arch/powerpc/platforms/book3s/Kconfig"
0024 source "arch/powerpc/platforms/microwatt/Kconfig"
0025
0026 config KVM_GUEST
0027 bool "KVM Guest support"
0028 select EPAPR_PARAVIRT
0029 help
0030 This option enables various optimizations for running under the KVM
0031 hypervisor. Overhead for the kernel when not running inside KVM should
0032 be minimal.
0033
0034 In case of doubt, say Y
0035
0036 config EPAPR_PARAVIRT
0037 bool "ePAPR para-virtualization support"
0038 help
0039 Enables ePAPR para-virtualization support for guests.
0040
0041 In case of doubt, say Y
0042
0043 config PPC_HASH_MMU_NATIVE
0044 bool
0045 depends on PPC_BOOK3S
0046 help
0047 Support for running natively on the hardware, i.e. without
0048 a hypervisor. This option is not user-selectable but should
0049 be selected by all platforms that need it.
0050
0051 config PPC_OF_BOOT_TRAMPOLINE
0052 bool "Support booting from Open Firmware or yaboot"
0053 depends on PPC_BOOK3S_32 || PPC64
0054 select RELOCATABLE if PPC64
0055 default y
0056 help
0057 Support from booting from Open Firmware or yaboot using an
0058 Open Firmware client interface. This enables the kernel to
0059 communicate with open firmware to retrieve system information
0060 such as the device tree.
0061
0062 In case of doubt, say Y
0063
0064 config PPC_DT_CPU_FTRS
0065 bool "Device-tree based CPU feature discovery & setup"
0066 depends on PPC_BOOK3S_64
0067 default y
0068 help
0069 This enables code to use a new device tree binding for describing CPU
0070 compatibility and features. Saying Y here will attempt to use the new
0071 binding if the firmware provides it. Currently only the skiboot
0072 firmware provides this binding.
0073 If you're not sure say Y.
0074
0075 config UDBG_RTAS_CONSOLE
0076 bool "RTAS based debug console"
0077 depends on PPC_RTAS
0078
0079 config PPC_SMP_MUXED_IPI
0080 bool
0081 help
0082 Select this option if your platform supports SMP and your
0083 interrupt controller provides less than 4 interrupts to each
0084 cpu. This will enable the generic code to multiplex the 4
0085 messages on to one ipi.
0086
0087 config IPIC
0088 bool
0089
0090 config MPIC
0091 bool
0092
0093 config MPIC_TIMER
0094 bool "MPIC Global Timer"
0095 depends on MPIC && FSL_SOC
0096 help
0097 The MPIC global timer is a hardware timer inside the
0098 Freescale PIC complying with OpenPIC standard. When the
0099 specified interval times out, the hardware timer generates
0100 an interrupt. The driver currently is only tested on fsl
0101 chip, but it can potentially support other global timers
0102 complying with the OpenPIC standard.
0103
0104 config FSL_MPIC_TIMER_WAKEUP
0105 tristate "Freescale MPIC global timer wakeup driver"
0106 depends on FSL_SOC && MPIC_TIMER && PM
0107 help
0108 The driver provides a way to wake up the system by MPIC
0109 timer.
0110 e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"
0111
0112 config PPC_EPAPR_HV_PIC
0113 bool
0114 select EPAPR_PARAVIRT
0115
0116 config MPIC_WEIRD
0117 bool
0118
0119 config MPIC_MSGR
0120 bool "MPIC message register support"
0121 depends on MPIC
0122 help
0123 Enables support for the MPIC message registers. These
0124 registers are used for inter-processor communication.
0125
0126 config PPC_I8259
0127 bool
0128
0129 config U3_DART
0130 bool
0131 depends on PPC64
0132
0133 config PPC_RTAS
0134 bool
0135
0136 config RTAS_ERROR_LOGGING
0137 bool
0138 depends on PPC_RTAS
0139
0140 config PPC_RTAS_DAEMON
0141 bool
0142 depends on PPC_RTAS
0143
0144 config RTAS_PROC
0145 bool "Proc interface to RTAS"
0146 depends on PPC_RTAS && PROC_FS
0147 default y
0148
0149 config RTAS_FLASH
0150 tristate "Firmware flash interface"
0151 depends on PPC64 && RTAS_PROC
0152
0153 config MMIO_NVRAM
0154 bool
0155
0156 config MPIC_U3_HT_IRQS
0157 bool
0158
0159 config MPIC_BROKEN_REGREAD
0160 bool
0161 depends on MPIC
0162 help
0163 This option enables a MPIC driver workaround for some chips
0164 that have a bug that causes some interrupt source information
0165 to not read back properly. It is safe to use on other chips as
0166 well, but enabling it uses about 8KB of memory to keep copies
0167 of the register contents in software.
0168
0169 config EEH
0170 bool
0171 depends on (PPC_POWERNV || PPC_PSERIES) && PCI
0172 default y
0173
0174 config PPC_MPC106
0175 bool
0176
0177 config PPC_970_NAP
0178 bool
0179
0180 config PPC_P7_NAP
0181 bool
0182
0183 config PPC_BOOK3S_IDLE
0184 def_bool y
0185 depends on (PPC_970_NAP || PPC_P7_NAP)
0186
0187 config PPC_INDIRECT_PIO
0188 bool
0189 select GENERIC_IOMAP
0190
0191 config PPC_INDIRECT_MMIO
0192 bool
0193
0194 config PPC_IO_WORKAROUNDS
0195 bool
0196
0197 source "drivers/cpufreq/Kconfig"
0198
0199 menu "CPUIdle driver"
0200
0201 source "drivers/cpuidle/Kconfig"
0202
0203 endmenu
0204
0205 config TAU
0206 bool "On-chip CPU temperature sensor support"
0207 depends on PPC_BOOK3S_32
0208 help
0209 G3 and G4 processors have an on-chip temperature sensor called the
0210 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
0211 temperature within 2-4 degrees Celsius. This option shows the current
0212 on-die temperature in /proc/cpuinfo if the cpu supports it.
0213
0214 Unfortunately, this sensor is very inaccurate when uncalibrated, so
0215 don't assume the cpu temp is actually what /proc/cpuinfo says it is.
0216
0217 config TAU_INT
0218 bool "Interrupt driven TAU driver (EXPERIMENTAL)"
0219 depends on TAU
0220 help
0221 The TAU supports an interrupt driven mode which causes an interrupt
0222 whenever the temperature goes out of range. This is the fastest way
0223 to get notified the temp has exceeded a range. With this option off,
0224 a timer is used to re-check the temperature periodically.
0225
0226 If in doubt, say N here.
0227
0228 config TAU_AVERAGE
0229 bool "Average high and low temp"
0230 depends on TAU
0231 help
0232 The TAU hardware can compare the temperature to an upper and lower
0233 bound. The default behavior is to show both the upper and lower
0234 bound in /proc/cpuinfo. If the range is large, the temperature is
0235 either changing a lot, or the TAU hardware is broken (likely on some
0236 G4's). If the range is small (around 4 degrees), the temperature is
0237 relatively stable. If you say Y here, a single temperature value,
0238 halfway between the upper and lower bounds, will be reported in
0239 /proc/cpuinfo.
0240
0241 If in doubt, say N here.
0242
0243 config QE_GPIO
0244 bool "QE GPIO support"
0245 depends on QUICC_ENGINE
0246 select GPIOLIB
0247 help
0248 Say Y here if you're going to use hardware that connects to the
0249 QE GPIOs.
0250
0251 config CPM2
0252 bool "Enable support for the CPM2 (Communications Processor Module)"
0253 depends on (FSL_SOC_BOOKE && PPC32) || 8260
0254 select CPM
0255 select HAVE_PCI
0256 select GPIOLIB
0257 help
0258 The CPM2 (Communications Processor Module) is a coprocessor on
0259 embedded CPUs made by Freescale. Selecting this option means that
0260 you wish to build a kernel for a machine with a CPM2 coprocessor
0261 on it (826x, 827x, 8560).
0262
0263 config FSL_ULI1575
0264 bool
0265 select GENERIC_ISA_DMA
0266 help
0267 Supports for the ULI1575 PCIe south bridge that exists on some
0268 Freescale reference boards. The boards all use the ULI in pretty
0269 much the same way.
0270
0271 config CPM
0272 bool
0273 select GENERIC_ALLOCATOR
0274
0275 config OF_RTC
0276 bool
0277 help
0278 Uses information from the OF or flattened device tree to instantiate
0279 platform devices for direct mapped RTC chips like the DS1742 or DS1743.
0280
0281 config GEN_RTC
0282 bool "Use the platform RTC operations from user space"
0283 select RTC_CLASS
0284 select RTC_DRV_GENERIC
0285 help
0286 This option provides backwards compatibility with the old gen_rtc.ko
0287 module that was traditionally used for old PowerPC machines.
0288 Platforms should migrate to enabling the RTC_DRV_GENERIC by hand
0289 replacing their get_rtc_time/set_rtc_time callbacks with
0290 a proper RTC device driver.
0291
0292 config MCU_MPC8349EMITX
0293 bool "MPC8349E-mITX MCU driver"
0294 depends on I2C=y && PPC_83xx
0295 select GPIOLIB
0296 help
0297 Say Y here to enable soft power-off functionality on the Freescale
0298 boards with the MPC8349E-mITX-compatible MCU chips. This driver will
0299 also register MCU GPIOs with the generic GPIO API, so you'll able
0300 to use MCU pins as GPIOs.
0301
0302 endmenu