参考:/drivers/base/Kconfig
[Y] Support for uevent helper
( ) path to uevent helper
[Y] Maintain a devtmpfs filesystem to mount at /dev
[Y] Automount devtmpfs at /dev, after the kernel mounted the rootfs
[Y] Select only drivers that don't need compile-time external firmware
[Y] Prevent firmware from being built
{Y} Userspace firmware loading support
[Y] Include in-kernel firmware blobs in kernel binary
( ) External firmware blobs to build into the kernel binary
[N] Fallback user-helper invocation for firmware loading
[Y] Allow device coredump
[N] Driver Core verbose debug messages
[N] Managed device resources verbose debug messages
[N] Test driver remove calls during probe (UNSTABLE)
Build kernel module to test asynchronous driver probing
[N] Enable verbose DMA_FENCE_TRACE messages
[Y] DMA Contiguous Memory Allocator
***Default contiguous memory area size:***
(24) Size in Mega Bytes
(C) Selected region size
(8) Maximum PAGE_SIZE order of alignment for contiguous buffers
参考:/drivers/bus/Kconfig
总线设备.此类设备仅出现在ARM平台。下列是勾选的:
OMAP INTERCONNECT DRIVER
OMAP OCP2SCP DRIVER
Simple Power-Managed Bus Driver
连接器是一种新的用户态与内核态的通信方式,它使用起来非常方便。本质上,连接器是一种netlink,它的netlink协议号为 NETLINK_CONNECTOR,与一般的 netlink 相比,它提供了更容易的使用接口,使用起来更方便。
The Connector driver makes it easy to connect various agents using a netlink based network. One must register a callback and an identifier. When the driver receives a special netlink message with the appropriate identifier, the appropriate callback will be called.
详细参考/drivers/mtd/Kconfig。
MTD子系统是一个闪存转换层。其主要目的是提供一个介于闪存硬件驱动程序与高级应用程序之间的抽象层,以简化闪存设备的驱动。注意:MTD常用于嵌入式系统,而我们常见的U盘/MMC卡/SD卡/CF卡等移动存储设备以及固态硬盘(SSD),虽然也叫"flash",但它们并不是使用MTD技术的存储器。仅在你需要使用主设备号为31的MTD块设备(/dev/romX、/dev/rromX、/dev/flashX、/dev/rflashX),或者主设备号为90的MTD字符设备(/dev/mtdX、/dev/mtdrX)时选"Y",否则选"N"。
Memory Technology Devices are flash, RAM and similar chips, often used for solid state file systems on embedded devices. This option will provide the generic support for MTD drivers to register themselves with the kernel and for potential users of MTD devices to enumerate the devices which are present and obtain a handle on them. It will also allow you to select individual drivers for particular hardware and users of MTD devices. If unsure, say N.
参考:/drivers/mtd/Kconfig。
Device Tree基础架构与Open Firmware支持,主要用于嵌入式环境。不确定的选"N"。内核中若有其它选项依赖于它,则会自动选中此项。
This option enables the device tree infrastructure. It is automatically selected by platforms that need it or can be enabled manually for unit tests, overlays or compile-coverage.
参考:/drivers/parport/Kconfig。
25针并口(LPT接口)支持,古董级的打印机或扫描仪可能使用这种接口。目前已被淘汰。
If you want to use devices connected to your machine’s parallel port (the connector at the computer with 25 holes), e.g. printer, ZIP drive, PLIP link (Parallel Line Internet Protocol is mainly used to create a mini network by connecting the parallel ports of two local machines) etc., then you need to say Y here; please read
For extensive information about drivers for many devices attaching to the parallel port see http://www.torque.net/linux-pp.html on the WWW. It is possible to share a single parallel port among several devices and it is safe to compile all the corresponding drivers into the kernel. To compile parallel port support as a module, choose M here: the module will be called parport. If you have more than one parallel port and want to specify which port and IRQ to be used by this driver at module load time, take a look at
If unsure, say Y.
块设备,必选。
参考:/drivers/block/Kconfig。
Say Y here to get to see options for various different block device drivers. This option alone does not add any kernel code.
If you say N, all options in this submenu will be skipped and disabled; only do this if you know what you are doing.
下列是勾选的:
Loopback device support
(8) Number of loop devices to pre-create at init time
RAM block device support
(16) Default number of RAM disks
(65536) Default RAM disk size (kbytes)
Virtio block driver
NVM Express是专门针对PCI-E接口高性能固态硬盘的标准规范。有了这一标准,操作系统厂商只需要编写一种驱动,就可以支持不同厂商的不同PCI-E SSD设备,以解决过去PCI-E SSD产品形态与规格五花八门,缺乏通用性和互用性的问题。如果你有一块较新的PCIE固态硬盘,那么很大可能就是NVMe接口。
The NVM Express driver is for solid state drives directly connected to the PCI or PCI Express bus. If you know you don’t have one of these, it is safe to answer N. To compile this driver as a module, choose M here: the module will be called nvme.
This provides support for the NVMe over Fabrics protocol using the FC transport.This allows you to use remote block devices exported using the NVMe protocol set.
To configure a NVMe over Fabrics controller use the nvme-cli tool from https://github.com/linux-nvme/nvme-cli. If unsure, say N.
This enabled target side support for the NVMe protocol, that is it allows the Linux kernel to implement NVMe subsystems and controllers and export Linux block devices as NVMe namespaces. You need to select at least one of the transports below to make this functionality useful.
To configure the NVMe target you probably want to use the nvmetcli tool from http://git.infradead.org/users/hch/nvmetcli.git.
其他设备。以下是勾选的:
Analog Devices Digital Potentiometers
support I2C bus connection
Integrated Circuits ICS932S401
Medfield Avago APDS9802 ALS Sensor module
Intersil ISL29003 ambient light sensor
[Y] Generic on-chip SRAM driver
PCI Endpoint Test driver
I2C EEPROMs / RAMs / ROMs from most vendors
-Y- EEPROM 93CX6 support
已被废弃的IDE硬盘和ATAPI光驱等接口的驱动(已被CONFIG_ATA取代)。
如果有SCSI(小型计算机系统接口)设备,例如硬盘、软驱、光驱、打印机以及扫描仪等,就需要勾选。
参考:/drivers/scsi/support。
If you want to use a SCSI hard disk, SCSI tape drive, SCSI CD-ROM or any other SCSI device under Linux, say Y and make sure that you know the name of your SCSI host adapter (the card inside your computer that “speaks” the SCSI protocol, also called SCSI controller), because you will be asked for it.
You also need to say Y here if you have a device which speaks the SCSI protocol. Examples of this include the parallel port version of the IOMEGA ZIP drive, USB storage devices, Fibre Channel, and FireWire storage.
To compile this driver as a module, choose M here and read
However, do not compile this as a module if your root file system (the one containing the directory /) is located on a SCSI device.
下列为勾选的子项:
{M} SCSI device support
[Y] legacy /proc/scsi/ support
SCSI disk support
SCSI CDROM support
[Y] SCSI low-level drivers --->
SATA与PATA(IDE)设备。桌面级PC以及低端服务器的硬盘基本都是此种接口。
参考:/drivers/ata/Kconfig。
If you want to use an ATA hard disk, ATA tape drive, ATA CD-ROM or any other ATA device under Linux, say Y and make sure that you know the name of your ATA host adapter (the card inside your computer that “speaks” the ATA protocol, also called ATA controller), because you will be asked for it.
NOTE: ATA enables basic SCSI support; however, ‘SCSI disk support’, ‘SCSI tape support’, or ‘SCSI CDROM support’ may also be needed, depending on your hardware configuration.
多设备支持(RAID和LVM)。RAID和LVM的功能是使用多个物理设备组建成一个单独的逻辑设备。
参考:drivers/md/Kconfig。
Support multiple physical spindles through a single logical device. Required for RAID and logical volume management.
通用TCM存储引擎与ConfigFS虚拟文件系统(/sys/kernel/config)支持,看不懂就说明你不需要。
参考:drivers/target/Kconfig。
Say Y or M here to enable the TCM Storage Engine and ConfigFS enabled control path for target_core_mod. This includes built-in TCM RAMDISK subsystem logic for virtual LUN 0 access.
Fusion MPT(Message Passing Technology) 是 LSI Logic 公司为了更容易实现SCSI和光纤通道而提出的技术,支持Ultra320 SCSI/光纤通道/SAS。
参考:drivers/message/fusion/Kconfig。
Say Y here to get to see options for Fusion Message Passing Technology (MPT) drivers.This option alone does not add any kernel code.
If you say N, all options in this submenu will be skipped and disabled.
火线(IEEE 1394)是苹果公司开发的串行接口,类似于USB,但PC上并不常见,算得上是个没有未来的技术了。
参考:drivers/firewire/Kconfig。
网络设备。除非你不想连接任何网络,否则必选"Y"。
参考:drivers/net/Kconfig。
You can say N here if you don’t intend to connect your Linux box to any other computer at all.
You’ll have to say Y if your computer contains a network card that you want to use under Linux. If you are going to run SLIP or PPP over telephone line or null modem cable you need say Y here. Connecting two machines with parallel ports using PLIP needs this, as well as AX.25/KISS for sending Internet traffic over amateur radio links.
See also “The Linux Network Administrator’s Guide” by Olaf Kirch and Terry Dawson. Available at http://www.tldp.org/guides.html. If unsure, say Y.
下列为勾选的:
[Y] Network core driver support
Dummy net driver support
MAC-VLAN support
Virtual eXtensible Local Area Network (VXLAN)
Virtual ethernet pair device
Virtio network driver
[Y] Ethernet driver support --->
-Y- MDIO bus device drivers ----
-Y- PHY Device support and infrastructure --->
USB Network Adapters --->
[Y] Wireless LAN --->
Open-channel SSD 是一种遵守NVMe规范且不使用FTL技术的固态硬盘。目前此种SSD由于过于前卫还非常罕见,但是非常有前途。
参考:drivers/lightnvm/Kconfig。
输入设备。
参考:drivers/input/Kconfig。
下列为勾选项:
-Y- Generic input layer (needed for keyboard, mouse, ...)
Export input device LEDs in sysfs
{M} Polled input device skeleton
*{M} Matrix keymap support library
Joystick interface
Event interface
[Y] Keyboards --->
[Y] Mice --->
[Y] Touchscreens --->
[Y] Miscellaneous devices --->
字符设备。
下列为勾选项:
[Y] Enable TTY
[Y] Virtual terminal
[Y] Enable character translations in console
[Y] Support for console on virtual terminal
-Y- Support for binding and unbinding console drivers
[Y] Unix98 PTY support
[Y] Legacy (BSD) PTY support
(256) Maximum number of legacy PTY in use
[Y] /dev/mem virtual device support
*Serial drivers --->
8250/16550 and compatible serial support
Support for OMAP internal UART (8250 based driver)
[Y] Replace ttyO with ttyS
Devicetree based probing for 8250 ports
Broadcom BCM63xx/BCM33xx UART support
Virtio console
Hardware Random Number Generator Core support --->
[Y] /dev/port character device
I2C与SMBus支持,I2C(读着"I-squared-C")是用于单片机(又称"微控制器")的低速串行总线协议,它为微控制器(Microcontroller)与各种不同的低速设备通信提供了一种廉价的总线(因为只需要使用两个引脚,称为"2线"),因此广泛的应用于嵌入式环境.SMBus(System Management Bus)差不多相当于是I2C的子集,最初的目的是为了管理智能电池,现在常用于硬件监控(电压/风扇转速/温度/电池等)以及内存模块的配置(使用I2C EEPROM),因此所有PC主板都依赖于SMBus协议。系统硬件监控工具lm_sensors和i2c-tools依赖于此模块,硬件传感器和"Video For Linux"也需要该模块的支持。详情参见"Documentation/i2c/summary"文档及整个"i2c"文件夹。不确定的选"Y"。
参考:/drivers/i2c/Kconfig。
I2C (pronounce: I-squared-C) is a slow serial bus protocol used in many micro controller applications and developed by Philips. SMBus, or System Management Bus is a subset of the I2C protocol. More information is contained in the directory
Both I2C and SMBus are supported here. You will need this for hardware sensors support, and also for Video For Linux support.If you want I2C support, you should say Y here and also to the specific driver for your bus adapter(s) below.
This I2C support can also be built as a module. If so, the module will be called i2c-core.
串行外设接口(Serial Peripheral Interface)是一种标准的四线同步双向串行总线,SPI类似于I2C,但比I2C的"2线"稍微复杂一些,SPI需要4个引脚(“4线”),不但传输速率比I2C更高,还能实现全双工通信。大多数SPI设备不支持动态设备检测,有些甚至是只读或者只写的。SPI常用于微控制器(Microcontroller)与外围设备(RTC、传感器、EEPROM、FLASH、解/编码器、模数转换器、数字信号处理器)之间的通信,MMC和SD卡也可以通过SPI协议访问,而MMC接口的DataFlash卡则必须通过SPI才能访问。仅用于嵌入式环境,PC平台上没有这样的设备。
参考:drivers/spi/Kconfig。
The “Serial Peripheral Interface” is a low level synchronous protocol. Chips that support SPI can have data transfer rates up to several tens of Mbit/sec. Chips are addressed with a controller and a chipselect. Most SPI slaves don’t support dynamic device discovery; some are even write-only or read-only.
SPI is widely used by microcontrollers to talk with sensors, eeprom and flash memory, codecs and various other controller chips, analog to digital (and d-to-a) converters, and more. MMC and SD cards can be accessed using SPI protocol; and for DataFlash cards used in MMC sockets, SPI must always be used.
SPI is one of a family of similar protocols using a four wire interface (select, clock, data in, data out) including Microwire (half duplex), SSP, SSI, and PSP. This driver framework should work with most such devices and controllers.
重要的子项:
User mode SPI device driver support
系统电源管理接口(SPMI, System Power Management Interface)是一种连接PMIC(Power Management Integrated Circuits)的双线串行接口,仅用于嵌入式环境。
参考:drivers/spmi/Kconfig。
SPMI (System Power Management Interface) is a two-wire serial interface between baseband and application processors and Power Management Integrated Circuits (PMIC).
高速同步串行接口(High speed synchronous Serial Interface)是移动产业处理器接口(MIPI)联盟的高速同步接口工作组发布的一项技术规范。MIPI(Mobile Industry Processor Interface)是2003年由ARM、Nokia、ST、TI等公司成立的一个联盟,目的是把手机内部的接口(如摄像头、显示屏接口、射频/基带接口等)标准化,从而减少手机设计的复杂程度和增加设计灵活性。MIPI联盟下面有不同的工作组,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI,显示接口DSI,射频接口DigRF,麦克风/扬声器接口SLIMbus等。统一接口标准的好处是手机厂商根据需要可以从市面上灵活选择不同的芯片和模组,更改设计和功能时更加快捷方便。目前,MIPI联盟的董事成员包括英特尔、摩托罗拉、诺基亚、三星、意法半导体、德州仪器。
参考:drivers/hsi/Kconfig。
The “High speed synchronous Serial Interface” is synchronous serial interface used mainly to connect application engines and cellular modems.
秒脉冲(Pulse Per Second)驱动用来控制电流脉冲速率,可用于计时。PPS的精度可以到纳秒级,而且没有累积误差。这通常是GPS天线的一项功能,用于获取GPS卫星的授时。
参考:drivers/pps/Kconfig。
PPS (Pulse Per Second) is a special pulse provided by some GPS antennae. Userland can use it to get a high-precision time reference.
Some antennae’s PPS signals are connected with the CD (Carrier Detect) pin of the serial line they use to communicate with the host. In this case use the SERIAL_LINE client support. Some antennae’s PPS signals are connected with some special host inputs so you have to enable the corresponding client support.
To compile this driver as a module, choose M here: the module will be called pps_core.ko.
精密时间协议(Precision Time Protocol)是IEEE 1588定义的一种基于以太网的高精度时间同步协议。PTP采用硬件与软件结合设计,可以提供比纯软件方式的NTP(网络时间协议)高的多的精度(微秒级)。与GPS授时相比,在提供和GPS相同的精度情况下,PTP不需要为每个设备安装GPS那样昂贵的组件,只需要一个高精度的本地时钟和提供高精度时钟戳的部件,成本较低。一般的PC和服务器上没有PTP硬件。
参考:drivers/ptp/Kconfig。
The IEEE 1588 standard defines a method to precisely synchronize distributed clocks over Ethernet networks. The standard defines a Precision Time Protocol (PTP), which can be used to achieve synchronization within a few dozen microseconds. In addition, with the help of special hardware time stamping units, it can be possible to achieve synchronization to within a few hundred nanoseconds.
This driver adds support for PTP clocks as character devices. If you want to use a PTP clock, then you should also enable at least one clock driver as well.
To compile this driver as a module, choose M here: the module will be called ptp.
Pin控制器。其下的各选项请根据实际硬件状况选择(皆为低功耗或嵌入式平台)。一般由其他项选中。
参考:drivers/pinctrl/Kconfig。
每个芯片都会有至少一个引脚(PIN),像CPU或者芯片组这种复杂的芯片,其引脚会有成百上千个,这些PIN就是芯片与外部沟通的渠道,每个PIN都会有它特定的功能。GPIO(General Purpose I/O)就是芯片上的一种通用功能的引脚,其功能可由使用者通过编程的方式自定义(所谓"可编程引脚"),比如使用两条PIN就可以组成I2C,使用4条PIN就可以组成SPI。嵌入式系统经常需要控制结构简单但数量众多的外部设备(比如LED的亮与灭),使用传统的串口或者并口就太"大炮打蚊子",而GPIO则非常适合用于控制此类数量众多的简单设备。GPIO在嵌入式设备中使用广泛,但PC平台的芯片组南桥大多也集成有GPIO引脚(但只有BIOS才知道如何使用他们),以支持某些特殊的定制硬件。详情参见"Documentation/gpio/gpio.txt"文档,不确定的选"N"。一般由其他项选中。
参考:drivers/gpio/Kconfig。
This enables GPIO support through the generic GPIO library. You only need to enable this, if you also want to enable one or more of the GPIO drivers below.
If unsure, say N.
Dallas公司发明的单总线是比I2C更简单的总线,仅使用一个引脚(1-wire),使用Master-Slave结构,用于连接慢速的单引脚设备,比如iButton和热传感器。主要用于嵌入式系统。
参考:drivers/w1/Kconfig。
Dallas’ 1-wire bus is useful to connect slow 1-pin devices such as iButtons and thermal sensors.
If you want W1 support, you should say Y here.
This W1 support can also be built as a module. If so, the module will be called wire.
自适应电压调节(Adaptive Voltage Scaling)技术能够动态的对设备工作电压进行精细的调整,拥有比DVFS更佳的电力利用效率,是一种降低功耗与优化性能并举的电源与性能管理技术。AVS在OMAP设备上也被称为"SmartReflex",目前仅用于嵌入式领域。
参考:drivers/power/avs/Kconfig。
AVS is a power management technique which finely controls the operating voltage of a device in order to optimize (i.e. reduce) its power consumption. At a given operating point the voltage is adapted depending on static factors (chip manufacturing process) and dynamic factors (temperature depending performance). AVS is also called SmartReflex on OMAP devices.
Say Y here to enable Adaptive Voltage Scaling class support.
允许通过操作板载的主电源,关闭或重启整个系统。仅用于嵌入式系统。
参考:drivers/power/reset/Kconfig。
Provides a number of drivers which either reset a complete board or shut it down, by manipulating the main power supply on the board.
Say Y here to enable board reset and power off
允许用户空间程序通过sysfs/uevent接口对电源(电池、交流电、USB)进行监控。主要用于笔记本与嵌入式设备。
参考:drivers/power/supply/Kconfig。
Say Y here to enable power supply class support. This allows power supply (batteries, AC, USB) monitoring by userspace via sysfs and uevent (if available) and/or APM kernel interface (if selected below).
当前主板大多都有一个监控硬件温度/电压/风扇转速等状况的设备,请按照主板实际使用的芯片选择相应的子项。如果你不知道究竟需要使用哪个驱动,可以使用Superiotool和sensors-detect工具进行检测。另外,某些子项可能还需要CONFIG_I2C的支持。更多详情参见"Documentation/hwmon/userspace-tools"文档。
参考:drivers/hwmon/Kconfig。
Hardware monitoring devices let you monitor the hardware health of a system. Most modern motherboards include such a device. It can include temperature sensors, voltage sensors, fan speed sensors and various additional features such as the ability to control the speed of the fans. If you want this support you should say Y here and also to the specific driver(s) for your sensors chip(s) below.
To find out which specific driver(s) you need, use the sensors-detect script from the lm_sensors package. Read
This support can also be built as a module. If so, the module will be called hwmon.
下列为勾选项:
GPIO fan
Hwmon driver that uses channels specified via iio maps
National Semiconductor LM90 and compatibles
National Semiconductor LM95245 and compatibles
NTC thermistor support from Murata
PWM fan
Texas Instruments INA219 and compatibles
Texas Instruments TMP102
为ACPI规范中定义的"thermal"(发热控制)提供一个通用的sysfs接口,以方便与诸如温度传感器和风扇之类的设备通信。由于目前所有PC和服务器都已支持ACPI,并且发热控制也越来越重要,所以建议选"Y"。详情参见"Documentation/thermal/sysfs-api.txt"文档。
参考:drivers/thermal/Kconfig。
Generic Thermal Sysfs driver offers a generic mechanism for thermal management. Usually it’s made up of one or more thermal zone and cooling device. Each thermal zone contains its own temperature, trip points, cooling devices.
All platforms with ACPI thermal support can use this driver.If you want this support, you should say Y or M here.
选"Y"并选中下面相应的驱动之后,再创建一个主/次设备号为10/130的字符设备"/dev/watchdog",即可拥有一只看门狗。其工作原理是:当/dev/watchdog设备被打开后,如果喂狗守护进程超过60秒没有喂狗(写入"/dev/watchdog"),那么底层的看门狗硬件将会触发整个机器硬重启(相当于按下面板上的"RESET"按钮)。这对于提高服务器的在线率来说意义重大。详情参见"Documentation/watchdog/watchdog-api.txt"文档。
参考:drivers/watchdog/Kconfig。
If you say Y here (and to one of the following options) and create a character special file /dev/watchdog with major number 10 and minor number 130 using mknod (“man mknod”), you will get a watchdog, i.e.: subsequently opening the file and then failing to write to it for longer than 1 minute will result in rebooting the machine. This could be useful for a networked machine that needs to come back on-line as fast as possible after a lock-up. There’s both a watchdog implementation entirely in software (which can sometimes fail to reboot the machine) and a driver for hardware watchdog boards, which are more robust and can also keep track of the temperature inside your computer. For details, read
The watchdog is usually used together with the watchdog daemon which is available from ftp://ibiblio.org/pub/Linux/system/daemons/watchdog/. This daemon can also monitor NFS connections and can reboot the machine when the process table is full.
If unsure, say N.
SSB(Sonics Silicon Backplane)是一种仅在嵌入式环境中使用的总线。
参考:drivers/ssb/Kconfig。
Support for the Sonics Silicon Backplane bus. You only need to enable this option, if you are configuring a kernel for an embedded system with this bus.
It will be auto-selected if needed in other environments.
The module will be called ssb.
If unsure, say N.
Broadcom特有的AMBA(Advanced Microcontroller Bus Architecture)总线支持,仅用于嵌入式环境。
参考:drivers/bcma/Kconfig。
Bus driver for Broadcom specific Advanced Microcontroller Bus Architecture.
参考:drivers/bcma/Kconfig。
Some cheap devices have serial flash connected to the ChipCommon instead of independent SPI controller. It requires using a separated driver that implements ChipCommon specific interface communication.
Enabling this symbol will let bcma recognize serial flash and register it as platform device.
参考:drivers/bcma/Kconfig。
Driver for the Broadcom GBIT MAC COMMON core attached to Broadcom specific Advanced Microcontroller Bus.
If unsure, say N
参考:drivers/bcma/Kconfig。
Driver to provide access to the GPIO pins of the bcma bus.
If unsure, say N
参考:drivers/bcma/Kconfig。
This turns on additional debugging messages.
If unsure, say N
MFD(多功能设备)的含义是"在单个芯片上集成多个功能(GPIO、触摸屏、键盘、电流调节、电源管理…)"。此种芯片通常通过一个或多个IRQ线和低速数据总线(SPI/I2C/GPIO)与主CPU进行通信。对于主系统来说,它们通过数据总线显示为一个单独的MFD设备。但透过MFD框架,又可以拥有多个相互独立的子设备(子功能)。
参考:drivers/mfd/Kconfig。
通用的电压与电流调节器框架,除了提供通用的电压与电流调节接口外,还能通过sysfs向用户空间提供电压与电流的状态信息。目的在于通过动态调节电压和电流,降低能耗,延长电池寿命。主要用于嵌入式环境。一般由其他项选中。
参考:drivers/regulator/Kconfig。
Generic Voltage and Current Regulator support.
This framework is designed to provide a generic interface to voltage and current regulators within the Linux kernel. It’s intended to provide voltage and current control to client or consumer drivers and also provide status information to user space applications through a sysfs interface.
The intention is to allow systems to dynamically control regulator output in order to save power and prolong battery life. This applies to both voltage regulators (where voltage output is controllable) and current sinks (where current output is controllable).
This framework safely compiles out if not selected so that client drivers can still be used in systems with no software controllable regulators.
If unsure, say no.
参考:drivers/media/rc/Kconfig。
Enable support for Remote Controllers on Linux. This is needed in order to support several video capture adapters, standalone IR receivers/transmitters, and RF receivers.
Enable this option if you have a video capture board even if you don’t need IR, as otherwise, you may not be able to compile the driver for your adapter.
Say Y when you have a TV or an IR device.
多媒体设备:摄像头、视频采集、模拟电视、数字电视、机顶盒、收音机、遥控器、数字视频广播(DVB)…内核多媒体子系统由LinuxTV项目负责维护。
参考:drivers/media/Kconfig。
If you want to use Webcams, Video grabber devices and/or TV devices enable this option and other options below. Additional info and docs are available on the web at https://linuxtv.org
图形设备/显卡支持,对于不需要使用图形界面的服务器环境来说,必须的最小选项集取决于平台(BIOS/UEFI)和引导程序(GRUB/LILO/GRUB4DOS)的设置(全选"N"则屏幕将无任何显示)。
参考:drivers/gpu。
声卡支持。
参考:sound/Kconfig
If you have a sound card in your computer, i.e. if it can say more than an occasional beep, say Y. Be sure to have all the information about your sound card and its configuration down (I/O port, interrupt and DMA channel), because you will be asked for it.You want to read the Sound-HOWTO, available from http://www.tldp.org/docs.html#howto.
General information about the modular sound system is contained in the files
The file
If you have a PnP sound card and you want to configure it at boot time using the ISA PnP tools (read http://www.roestock.demon.co.uk/isapnptools/), then you need to compile the sound card support as a module and load that module after the PnP configuration is finished.
To do this, choose M here and read
HID(人机接口设备)是一种定义计算机如何与人类交互的规范,常与USB或蓝牙搭配使用,常见的设备有:键盘、鼠标、触摸板、游戏杆、遥控器、蓝牙耳机、游戏手柄、手写板等等。不过HID设备不一定要有人机接口,只要符合HID规范,就是HID设备。
参考:drivers/hid/Kconfig
A human interface device (HID) is a type of computer device that interacts directly with and takes input from humans. The term “HID” most commonly used to refer to the USB-HID specification, but other devices (such as, but not strictly limited to, Bluetooth) are designed using HID specification (this involves certain keyboards, mice, tablets, etc). This option adds the HID bus to the kernel, together with generic HID layer code. The HID devices are added and removed from the HID bus by the transport-layer drivers, such as usbhid (USB_HID) and hidp (BT_HIDP).
For docs and specs, see http://www.usb.org/developers/hidpage/
If unsure, say Y.
通用串行总线(Universal Serial Bus)的目标是统一电脑的外设接口,目前几乎找不到没有USB接口的电脑,而且各种智能设备也大多带有USB接口。不要犹豫,选"Y"。
参考:drivers/usb/Kconfig。
This option adds core support for Universal Serial Bus (USB). You will also need drivers from the following menu to make use of it.
下列为勾选项:
Support for Host-side USB
[Y] PCI based USB host interface
[Y] USB announce new devices
[Y] Enable USB persist by default
xHCI HCD (USB 3.0) support
EHCI HCD (USB 2.0) support
OHCI HCD (USB 1.1) support
USB Modem (CDC ACM) support
USB Mass Storage support
UWB(Ultra Wideband)是一种高带宽,低能耗,点对点,抗干扰性能强的无载波通信技术。UWB在较宽的频谱(3.1-10.6GHz)上,使用极低的功率(约为蓝牙的1/20),以时间间隔极短(小于1ns)的脉冲信号进行通信。UWB主要应用于室内通信(2米范围内实现480Mbps速率,10米范围内实现110Mbps速率),例如作为WUSB(Wireless USB)协议的传输层。如果你有UWB无线控制器,可以选"Y",不确定的选"N"。详见"Documentation/usb/WUSB-Design-overview.txt"文档。
参考:/drivers/uwb/Kconfig。
UWB is a high-bandwidth, low-power, point-to-point radio technology using a wide spectrum (3.1-10.6GHz). It is optimized for in-room use (480Mbps at 2 meters, 110Mbps at 10m). It serves as the transport layer for other protocols, such as Wireless USB (WUSB).
The topology is peer to peer; however, higher level protocols (such as WUSB) might impose a master/slave relationship.
Say Y here if your computer has UWB radio controllers (USB or PCI) based. You will need to enable the radio controllers below. It is ok to select all of them, no harm done.
For more help check the UWB and WUSB related files in
To compile the UWB stack as a module, choose M here.
MMC(MultiMediaCard)/SD(Secure Digital)/SDIO(Secure Digital I/O)主机控制器。[提示]虽然许多笔记本上有SD卡插槽,但其实它们大多使用的是CONFIG_USB_STORAGE驱动,而不是这里的驱动。
参考:/drivers/mmc/Kconfig。
This selects MultiMediaCard, Secure Digital and Secure Digital I/O support.
If you want MMC/SD/SDIO support, you should say Y here and also to your specific host controller driver.
Sony记忆棒是一种Sony专用的存储设备。
参考:drivers/memstick/Kconfig。
Sony MemoryStick is a proprietary storage/extension card protocol.
If you want MemoryStick support, you should say Y here and also to the specific driver for your MemoryStick interface.
发光二级管(LED)支持.[提示]标准键盘上的LED灯不在此列(由input子系统控制)。
参考:drivers/leds/Kconfig。
Say Y to enable Linux LED support. This allows control of supported LEDs from both userspace and optionally, by kernel events (triggers).
下列为勾选项:
LED Class Support
LED Support for GPIO connected LEDs
PWM driven LED Support
LED driver for TLC59108 and TLC59116 controllers
无障碍(Accessibility)支持。各种帮助残疾人使用计算机的软硬件技术,例如:盲文设备、语音合成、键盘映射等等。
参考:drivers/accessibility/Kconfig。
Accessibility handles all special kinds of hardware devices or software adapters which help people with disabilities (e.g. blindness) to use computers.
That includes braille devices, speech synthesis, keyboard remapping, etc.
Say Y here to get to see options for accessibility.This option alone does not add any kernel code.
If you say N, all options in this submenu will be skipped and disabled.
If unsure, say N.
InfiniBand是一种低延迟/高带宽数据中心互联架构,采用远程直接内存存取(RDMA)实现高性能处理器间通信(IPC),同时对虚拟化技术也提供了良好的支持。主要用于服务器集群与高性能计算(HPC)领域。
参考:drivers/infiniband/Kconfig。
Core support for InfiniBand (IB). Make sure to also select any protocols you wish to use as well as drivers for your InfiniBand hardware.
在电磁环境比较恶劣的情况下,一些大规模集成电路常常会受到干扰,特别是像RAM这种利用双稳态进行存储的器件,往往会在强干扰下发生翻转,使原来存储的"0"变为"1",或者"1"变为"0",造成严重的后果(例如控制程序跑飞,关键数据出错)。随着芯片集成度的增加,发生错误的可能性也在增大,这已经成为一个不能忽视的问题。错误检测与纠正(EDAC)技术的目标就是发现并报告甚至纠正在计算机系统中发生的错误,这些错误是由CPU或芯片组报告的底层错误(内存错误/缓存错误/PCI错误/温度过高等等),建议选"Y"。如果这些代码报告了一个错误,请到http://bluesmoke.sourceforge.net/和http://buttersideup.com/edacwiki查看更多信息。详见"Documentation/edac.txt"文档。
参考:drivers/edac/Kconfig。
EDAC is a subsystem along with hardware-specific drivers designed to report hardware errors. These are low-level errors that are reported in the CPU or supporting chipset or other subsystems: memory errors, cache errors, PCI errors, thermal throttling, etc…
If unsure, select ‘Y’.
The mailing list for the EDAC project is [email protected].
下列为勾选项:
[Y] EDAC legacy sysfs
Texas Instruments DDR3 ECC Controller
通用RTC(实时时钟)类支持。所有的PC机主板都包含一个电池动力的实时时钟芯片,以便在断电后仍然能够继续保持时间,RTC通常与CMOS集成在一起,因此BIOS可以从中读取当前时间(精度一般是秒级)。选中此项后你就可以在操作系统中使用一个或多个RTC设备(你还必须从下面启用一个或多个RTC接口)。[注意]Clock与Timer没有任何关系,Timer是定时器(用于计量时长),Clock是时钟(用于记录当前的时刻"年-月-日 时:分:秒")。
参考:drivers/rtc/Kconfig。
Generic RTC class support. If you say yes here, you will be allowed to plug one or more RTCs to your system. You will probably want to enable one or more of the interfaces below.
下列为主要勾选项:
[Y] Set system time from RTC on startup and resume
[Y] Set the RTC time based on NTP synchronization
[Y] RTC debug support
[Y] RTC non volatile storage support
[Y] /sys/class/rtc/rtcN (sysfs)
[Y] /proc/driver/rtc (procfs for rtcN)
[Y] /dev/rtcN (character devices)
Dallas/Maxim DS1307/37/38/39/40/41, ST M41T00, EPSON RX-8025, ISL12057
TI Palmas RTC driver
TI TPS6586X RTC driver
TI TPS65910 RTC driver
EFI RTC
TI OMAP Real Time Clock
DMA引擎(DMA Engine)可以看做是传统DMA控制器(DMA controller)的新生。在DMA引擎的协助下,CPU只需初始化一个传输动作,其余的动作就可以由DMA引擎独立完成(完成后以中断的方式通知CPU),这对于高速传输大量数据以及"分散-收集"操作大有益处,可以节约大量的CPU资源(有时也可节约大量的内存操作)。
目前,DMA引擎有两个用途:(1)卸载高速网络栈中的内存COPY操作,(2)加速CONFIG_MD_RAID456驱动中的RAID操作。"DMA引擎"只是一个统称,在不同场合对应着不同的技术,例如Intel I/OAT(PC平台)和AHB(嵌入式)。
参考:drivers/dma/Kconfig。
DMA engines can do asynchronous data transfers without involving the host CPU. Currently, this framework can be used to offload memory copies in the network stack and RAID operations in the MD driver. This menu only presents DMA Device drivers supported by the configured arch, it may be empty in some cases.
以下为勾选项:
-Y- Explicit Synchronization Framework
辅助显示设备。例如基于KS0108控制器的Crystalfontz CFAG12864B单色液晶屏(分辨率:128x64)。仅用于嵌入式系统。
参考:drivers/auxdisplay/Kconfig。
Say Y here to get to see options for auxiliary display drivers. This option alone does not add any kernel code.
If you say N, all options in this submenu will be skipped and disabled.
UIO(Userspace I/O)是运行在用户空间的I/O技术,它为开发用户空间的驱动提供了一个简单的架构(/dev/uioN)。使用uio的设备一般都属于嵌入式系统,不确定的选"N"。[提示]lsuio工具可以列出所有UIO的模块和其映射的内存地址。
参考:drivers/uio/Kconfig。
Enable this to allow the userspace driver core code to be built. This code allows userspace programs easy access to kernel interrupts and memory locations, allowing some drivers to be written in userspace. Note that a small kernel driver is also required for interrupt handling to work properly.
If you don’t know what to do here, say N.
VFIO是一套无特权用户空间I/O驱动框架,需要有IOMMU虚拟化硬件支持(AMD-Vi/Intel VT-d)。此选项仅用于宿主机内核,VFIO的目标是在IOMMU硬件的帮助下,取代CONFIG_UIO和CONFIG_KVM_DEVICE_ASSIGNMENT。VFIO主要用于编写高效的用户态驱动,以及在虚拟化环境的属主机中高效的实现设备直通(passthrough)且无须root特权,可用于详见"Documentation/vfio.txt"文档。[提示]QEMU 1.3以上版本才能利用VFIO特性。不玩KVM虚拟化的选"N"。
参考:drivers/vfio/Kconfig。
VFIO provides a framework for secure userspace device drivers. See Documentation/vfio.txt for more details.
If you don’t know what to do here, say N.
这个选项仅对PowerPC架构有意义。
参考:drivers/virt/Kconfig。
Say Y here to get to see options for device drivers that support virtualization environments.
If you say N, all options in this submenu will be skipped and disabled.
仅可用于客户机内核的Virtio驱动。Virtio的目标是为各种半虚拟化的虚拟机管理程序(特别是KVM)提供一组通用的模拟设备,目前已实现:network/block/balloon/console/hw_random,未来还会实现更多。下列驱动仅可用在基于lguest或QEMU的半虚拟化客户机中(一般是KVM或XEN)。
参考:drivers/virtio/Kconfig。
This option is selected by any driver which implements the virtio bus, such as
CONFIG_VIRTIO_PCI,
CONFIG_VIRTIO_MMIO,
CONFIG_RPMSG,
CONFIG_S390_GUEST.
下列为勾选项:
PCI driver for virtio devices
Platform bus driver for memory mapped virtio devices
仅在将此Linux内核作为微软Hyper-V虚拟机的来宾操作系统运行时,才需要开启这里的选项。
参考:/drivers/hv/Kconfig。
Select this option to run Linux as a Hyper-V client operating system.
尚在开发中或尚未完成的,目前尚不完善的驱动,切勿用于生产环境。仅供测试人员或者开发者试用。
参考:drivers/staging/Kconfig。
This option allows you to select a number of drivers that are not of the “normal” Linux kernel quality level. These drivers are placed here in order to get a wider audience to make use of them. Please note that these drivers are under heavy development, may or may not work, and may contain userspace interfaces that most likely will be changed in the near future.
Using any of these drivers will taint your kernel which might affect support options from both the community, and various commercial support organizations.
If you wish to work on these drivers, to help improve them, or to report problems you have with them, please see the driver_name.README file in the drivers/staging/ directory to see what needs to be worked on, and who to contact.
If in doubt, say N here.
参考:drivers/platform/goldfish/Kconfig
Say Y here to get to see options for the Goldfish virtual platform.This option alone does not add any kernel code. Unless you are building for the Android Goldfish emulator say N here.
专用于Google公司的Chromebook笔记本/Chromebox迷你机的设备驱动。
参考:drivers/platform/chrome/Kconfig。
Say Y here to get to see options for platform support for various Chromebooks and Chromeboxes. This option alone does not add any kernel code.
If you say N, all options in this submenu will be skipped and disabled.
Common Clock Framework —>
CCF(Common Clock Framework)是从3.4内核开始引入的新时钟框架,用于取代原有的"Clock Framework"。详见"Documentation/clk.txt"文档。
参考:drivers/clk/Kconfig。
The common clock framework is a single definition of struct clk, useful across many platforms, as well as an implementation of the clock API in include/linux/clk.h. Architectures utilizing the common struct clk should select this option.
下列为勾选项:
Clock driver for TI Palmas devices
硬件自旋锁驱动。目前仅出现在嵌入式处理器上,自旋锁是保护共享资源的一种锁机制,与互斥锁比较类似,都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,在任何时刻,最多只能有一个持有者。也就是说,在任何时刻最多只能有一个执行单元获得锁。但是两者在调度机制上略有不同,对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。但是自旋锁不会引起申请者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直在循环中"忙等"(占用CPU但无事可做),直到该自旋锁被释放。"自旋"一词就是因此而得名。自旋锁的使用非常方便,但仅适用于需要极短时间锁定的场合(例如1毫秒),以避免消耗太多的CPU空等时间。
参考:drivers/hwspinlock/Kconfig。
下列为勾选项:
OMAP Hardware Spinlock device
"时钟源"驱动,主要面向嵌入式设备。
参考:drivers/clocksource/Kconfig。
下列为勾选项:
[Y] Enable ARM architected timer event stream generation by default
Mailbox硬件支持。这里的"Mailbox"是一个框架,通过消息队列和中断驱动信号,控制芯片上的多个处理器之间的通信。仅用于嵌入式环境。
参考:drivers/mailbox/Kconfig。
Mailbox is a framework to control hardware communication between on-chip processors through queued messages and interrupt driven signals. Say Y if your platform supports hardware mailboxes.
下列为勾选项:
*{Y} OMAP2+ Mailbox framework support
(256) Mailbox kfifo default buffer size (bytes)
IOMMU硬件主要出现在带有I/O虚拟化技术的硬件上,例如带有AMD-Vi或VT-d技术的芯片。IOMMU主要作用:(1)内存地址转换(例如DMA地址转换,scatter-gather),(2)中断重映射,(3)对设备读取和写入的进行权限检查。这对于提高虚拟化性能和安全性,以及在64位系统上更好的使用32位设备,意义重大。[提示]此选项仅对宿主机有意义,如果此内核要作为来宾操作系统运行,请选"N"。
参考:drivers/iommu/Kconfig。
Say Y here if you want to compile device drivers for IO Memory Management Units into the kernel. These devices usually allow to remap DMA requests and/or remap interrupts from other devices on the system.
下列为勾选项:
[Y] OMAP IOMMU Support
[Y] Export OMAP IOMMU internals in DebugFS
现代的SoC芯片一般都会以AMP(非对称多处理器)方式集成多个不同的处理器(例如OMAP5432就在单个芯片上集成了2个Cortex-A15处理器,2个Cortex-M4处理器,1个C64x DSP),这样就可在不同的处理器上分别运行多个不同的操作系统实例(例如,在2个Cortex-A9处理器上以SMP(对称多处理器)方式运行Linux,在2个Cortex-M3和1个C64x上分别运行不同的实时操作系统)。而Remoteproc驱动对此种场合下的处理器间通信非常有用,详见"Documentation/remoteproc.txt"和"Documentation/rpmsg.txt"文档。目前仅对嵌入式系统有意义,不确定的选"N"。
参考:drivers/remoteproc/Kconfig。
下列为勾选项:
Support for Remote Processor subsystem
OMAP remoteproc support
TI PRUSS remoteproc support
此项和上面的Remoteproc紧密相关。
参考:drivers/rpmsg/Kconfig。
下列为勾选项:
Virtio RPMSG bus driver
rpmsg Remote Procedure Call driver
PRU RPMsg Communication driver
专用于单片机的设备驱动,皆为嵌入式系统。
下列为勾选项:
[Y] TI SOC drivers support
DVFS(动态电压与频率调整)可以根据系统负载动态调节设备的运行频率和电压(对于同一芯片,频率越高,需要的电压也越高),从而达到节能目的。此选项提供了一个类似CPUfreq(CONFIG_CPU_FREQ)的通用DVFS框架(devfreq)。目前DVFS技术进在嵌入式设备(例如Exynos4/Exynos5)上普遍存在,不确定的选"N"。
参考:drivers/devfreq/Kconfig。
A device may have a list of frequencies and voltages available. devfreq, a generic DVFS framework can be registered for a device in order to let the governor provided to devfreq choose an operating frequency based on the device driver’s policy.
Each device may have its own governor and policy. Devfreq can reevaluate the device state periodically and/or based on the notification to “nb”, a notifier block, of devfreq.
Like some CPUs with CPUfreq, a device may have multiple clocks. However, because the clock frequencies of a single device are determined by the single device’s state, an instance of devfreq is attached to a single device and returns a “representative” clock frequency of the device, which is also attached to a device by 1-to-1. The device registering devfreq takes the responsibility to “interpret” the representative frequency and to set its every clock accordingly with the “target” callback given to devfreq.
When OPP is used with the devfreq device, it is recommended to register devfreq’s nb to the OPP’s notifier head. If OPP is used with the devfreq device, you may use OPP helper functions defined in devfreq.h.
extcon(外部连接器类)允许用户空间通过sysfs和uevent监控外部连接器,同时也支持多状态外部连接器(也就是拥有多个连接线缆的外部连接器)。例如,一端连接到主机USB端口的多状态外部连接器,一端可以同时连接一条HDMI线缆和一个AC适配器。30针的PDMI连接器也是多状态外部连接器的常见例子。不确定的选"N"。
参考:drivers/extcon/Kconfig。
Say Y here to enable external connector class (extcon) support. This allows monitoring external connectors by userspace via sysfs and uevent and supports external connectors with multiple states; i.e., an extcon that may have multiple cables attached. For example, an external connector of a device may be used to connect an HDMI cable and a AC adaptor, and to host USB ports. Many of 30-pin connectors including PDMI are also good examples.
下列为勾选项:
Palmas USB EXTCON support
USB GPIO extcon support
内存控制器驱动。这里所说的"内存控制器"仅指嵌入式SoC系统中的各种控制器,不确定的选"N"。
参考:drivers/memory/Kconfig。
IIO子系统为各种不同总线(i2c、spi等)的嵌入式传感器驱动提供了一个统一的框架。例如:(1)模数转换器,(2)加速度传感器,(3)陀螺仪,(4)惯性测量仪,(5)电容-数字转换器,(6)压力/温度/光线传感器等等。主要用于工业领域和嵌入式领域,不确定的选"N"。
参考:Industrial I/O support rivers。
The industrial I/O subsystem provides a unified framework for drivers for many different types of embedded sensors using a number of different physical interfaces (i2c, spi, etc).
下列为主要勾选项:
-Y- Enable buffer support within IIO
-Y- Industrial I/O buffering based on kfifo
-Y- Enable IIO configuration via configfs
-Y- Enable triggered sampling support
Enable software triggers support
PCI-E非透明桥是一个点对点PCI-E总线,用于连接两条对等的PCI-E总线。例如英特尔 Atom S1200处理器, Xeon C5500/C3500 嵌入式处理器等。具体支持的设备号(PCI_DEVICE_ID)可以查看"drivers/ntb/ntb_hw.h"文件或NTB驱动数据库,不确定的选"N"。
参考:drivers/ntb/Kconfig。
The PCI-E Non-transparent bridge hardware is a point-to-point PCI-E busconnecting 2 systems. When configured, writes to the device’s PCImapped memory will be mirrored to a buffer on the remote system. Thentb Linux driver uses this point-to-point communication as a method totransfer data from one system to the other.
If unsure, say N.
VME(VersaModule Eurocard)总线是一种通用的计算机总线,主要用于工业控制/军用系统/航空航天/交通运输/医疗等嵌入式领域。而VME桥则是其他总线(例如PCI/PCI-E)到VME总线之间的转换芯片,不确定的选"N"。
参考:drivers/vme/Kconfig。
If you say Y here you get support for the VME bridge Framework.
PWM(脉宽调制)是将模拟信号转换为脉波的一种技术,在计算机领域,这项技术常被用于控制风扇转速和背光显示器的亮度。很多微型处理器内部都包含有PWM控制器,此选项为所有PWM控制器驱动提供了一个统一的框架,不确定的选"N"。
参考:drivers/pwm/Kconfig。
Generic Pulse-Width Modulation (PWM) support.
In Pulse-Width Modulation, a variation of the width of pulses in a rectangular pulse signal is used as a means to alter the average power of the signal. Applications include efficient power delivery and voltage regulation. In computer systems, PWMs are commonly used to control fans or the brightness of display backlights.
This framework provides a generic interface to PWM devices within the Linux kernel. On the driver side it provides an API to register and unregister a PWM chip, an abstraction of a PWM controller, that supports one or more PWM devices. Client drivers can request PWM devices and use the generic framework to configure as well as enable and disable them.
This generic framework replaces the legacy PWM framework which allows only a single driver implementing the required API. Not all legacy implementations have been ported to the framework yet. The framework provides an API that is backward compatible with the legacy framework so that existing client drivers continue to work as expected.
If unsure, say no.
下列为勾选项:
Freescale FlexTimer Module (FTM) PWM support
ECAP PWM support
EHRPWM PWM support
参考:/drivers/irqchip/Kconfig。
没有选择项。
IndustryPack是工业控制领域常用的一种总线,不确定的选"N"。
参考:drivers/ipack/Kconfig。
This option provides support for the IndustryPack framework. There are IndustryPack carrier boards, which interface another bus (such as PCI) to an IndustryPack bus, and IndustryPack modules, that are hosted on these buses. While IndustryPack modules can provide a large variety of functionality, they are most often found in industrial control applications.
Say N if unsure.
为GPIO总线或者芯片内置的重启控制器提供通用支持,仅用于嵌入式设备。不确定的选"N"。
参考:drivers/reset/Kconfig。
Generic Reset Controller support.
This framework is designed to abstract reset handling of devices via GPIOs or SoC-internal reset controller modules.
If unsure, say no.
下列为勾选项:
TI SYSCON Reset Driver
FMC(FPGA Mezzanine Carrier)是一个定义如何将FPGA夹层卡(FPGA Mezzanine Card)连接到主机电路板的接口标准,仅用于嵌入式环境。
参考:drivers/fmc/Kconfig。
FMC (FPGA Mezzanine Carrier) is a mechanical and electrical standard for mezzanine cards that plug into a carrier board. This kernel subsystem supports the matching between carrier and mezzanine based on identifiers stored in the internal I2C EEPROM, as well as having carrier-independent drivers.
The framework was born outside of the kernel and at this time the off-tree code base is more complete. Code and documentation is at git://ohwr.org/fmc-projects/fmc-bus.git .
PHY子系统。
参考:drivers/phy/Kconfig。
下列为勾选项:
-Y- PHY Core
“power capping"的意思是允许用户把设备的总功耗限定在指定的范围内,此选项允许内核子系统将"power capping"的设置以sysfs的方式导出到用户空间,不确定的选"N”。
参考:drivers/powercap/Kconfig。
The power capping sysfs interface allows kernel subsystems to expose power capping settings to user space in a consistent way. Usually, it consists of multiple control types that determine which settings may be exposed and power zones representing parts of the system that can be subject to power capping.
If you want this code to be compiled in, say Y here.
MCB(MEN Chameleon Bus)是专用于德国MEN Mikro Elektronik公司的FPGA设备的总线,MEN Mikro Elektronik公司的嵌入式计算主要是为航空/航海/铁路及陆地车辆的应用,以及自动化/电力/能源和医疗用途。不确定的选"N"。
参考:drivers/mcb/Kconfig。
The MCB (MEN Chameleon Bus) is a Bus specific to MEN Mikroelektronik FPGA based devices. It is used to identify MCB based IP-Cores within an FPGA and provide the necessary framework for instantiating drivers for these devices.
If build as a module, the module is called mcb.ko
专用于ARM架构的CPU性能监控框架。
参考:drivers/perf/Kconfig。
下列为勾选项:
[Y] ARM PMU framework
RAS(可靠、可用、可维护)是一个计算机硬件术语,可靠性描述系统能够持续正确工作多长时间,可用性描述系统能够正确工作的时间百分比,可维护性描述系统从错误恢复到正常需要多长时间。具有高等级RAS的硬件会有一系列额外的技术保障数据的可靠性与正确性。
参考:drivers/ras/Kconfig。
Reliability, availability and serviceability (RAS) is a computer hardware engineering term. Computers designed with higher levels of RAS have a multitude of features that protect data integrity and help them stay available for long periods of time without failure.
Reliability can be defined as the probability that the system will produce correct outputs up to some given time. Reliability is enhanced by features that help to avoid, detect and repair hardware faults.
Availability is the probability a system is operational at a given time, i.e. the amount of time a device is actually operating as the percentage of total time it should be operating.
Serviceability or maintainability is the simplicity and speed with which a system can be repaired or maintained; if the time to repair a failed system increases, then availability will decrease.
Note that Reliability and Availability are distinct concepts: Reliability is a measure of the ability of a system to function correctly, including avoiding data corruption, whereas Availability measures how often it is available for use, even though it may not be functioning correctly. For example, a server may run forever and so have ideal availability, but may be unreliable, with frequent data corruption.
安卓平台专用驱动。
参考:drivers/android/Kconfig。
Enable support for various drivers needed on the Android platform。
NVDIMM(非易失性内存)支持。
参考:drivers/nvdimm/Kconfig。
Generic support for non-volatile memory devices including ACPI-6-NFIT defined resources. On platforms that define an NFIT, or otherwise can discover NVDIMM resources, a libnvdimm bus is registered to advertise PMEM (persistent memory) namespaces (/dev/pmemX) and BLK (sliding mmio window(s)) namespaces (/dev/ndblkX.Y). A PMEM namespace refers to a memory resource that may span multiple DIMMs and support DAX (see CONFIG_DAX). A BLK namespace refers to an NVDIMM control region which exposes an mmio register set for windowed access mode to non-volatile memory.
参考:drivers/dax/Kconfig。
NVMEM(非易失性存储器)设备支持,包括:EEPROM、EFUSES……不确定的选"N"。
参考:drivers/nvmem/Kconfig。
Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES…
This framework is designed to provide a generic interface to NVMEM from both the Linux Kernel and the userspace.
This driver can also be built as a module. If so, the module will be called nvmem_core.
If unsure, say no.
仅供调试使用。
参考:drivers/hwtracing/stm/Kconfig。
A System Trace Module (STM) is a device exporting data in System Trace Protocol (STP) format as defined by MIPI STP standards.
Examples of such devices are Intel® Trace Hub and Coresight STM.
Say Y here to enable System Trace Module device support.
仅供调试使用。
参考:drivers/hwtracing/intel_th/Kconfig。
Intel® Trace Hub (TH) is a set of hardware blocks (subdevices) that produce, switch and output trace data from multiple hardware and software sources over several types of trace output ports encoded in System Trace Protocol (MIPI STPv2) and is intended to perform full system debugging.
This option enables intel_th bus and common code used by TH subdevices to interact with each other and hardware and for platform glue layers to drive Intel TH devices.
Say Y here to enable Intel® Trace Hub controller support.
FPGA配置框架支持,仅用于嵌入式系统。
参考:drivers/fpga/Kconfig。
Say Y here if you want support for configuring FPGAs from the kernel. The FPGA framework adds a FPGA manager class and FPGA manager drivers.
参考:drivers/fsi/Kconfig。
FSI - the FRU Support Interface - is a simple bus for low-level access to POWER-based hardware.
针对移动端的安全威胁产生的可信执行环境技术。
参考:drivers/tee/Kconfig。
This implements a generic interface towards a Trusted Execution Environment (TEE).
*TEE drivers --->
OP-TEE