# # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # config DISABLE_POLL bool "Disable driver poll interfaces" default n ---help--- The sizes of drivers can be reduced if the poll() method is not supported. If you do not use poll() or select(), then you can select DISABLE_POLL to reduce the code footprint by a small amount. config DEV_NULL bool "Enable /dev/null" default y config DEV_ZERO bool "Enable /dev/zero" default n config ARCH_HAVE_RNG bool config DEV_RANDOM bool "Enable /dev/random" default n depends on ARCH_HAVE_RNG config LOOP bool "Enable loop device" default n ---help--- Supports the standard loop device that can be used to export a file (or character device) as a block device. See losetup() and loteardown() in include/nuttx/fs/fs.h. menu "Buffering" config DRVR_WRITEBUFFER bool "Enable write buffer support" default n ---help--- Enable generic write buffering support that can be used by a variety of drivers. if DRVR_WRITEBUFFER config DRVR_WRDELAY int "Write flush delay" default 350 ---help--- If there is no write activity for this configured amount of time, then the contents will be automatically flushed to the media. This reduces the likelihood that data will be stuck in the write buffer at the time of power down. endif # DRVR_WRITEBUFFER config DRVR_READAHEAD bool "Enable read-ahead buffer support" default n ---help--- Enable generic read-ahead buffering support that can be used by a variety of drivers. if DRVR_WRITEBUFFER || DRVR_READAHEAD config DRVR_READBYTES bool "Support byte read method" default y if MTD_BYTE_WRITE default n if !MTD_BYTE_WRITE config DRVR_REMOVABLE bool "Support removable media" default n config DRVR_INVALIDATE bool "Support cache invalidation" default n endif # DRVR_WRITEBUFFER || DRVR_READAHEAD endmenu # Buffering config RAMDISK bool "RAM Disk Support" default n ---help--- Can be used to set up a block of memory or (read-only) FLASH as a block driver that can be mounted as a files system. See include/nuttx/fs/ramdisk.h. menuconfig CAN bool "CAN Driver Support" default n ---help--- This selection enables building of the "upper-half" CAN driver. See include/nuttx/can.h for further CAN driver information. if CAN config CAN_EXTID bool "CAN extended IDs" default n ---help--- Enables support for the 29-bit extended ID. Default Standard 11-bit IDs. config CAN_FIFOSIZE int "CAN driver I/O buffer size" default 8 ---help--- The size of the circular buffer of CAN messages. Default: 8 config CAN_NPENDINGRTR int "Number of pending RTRs" default 4 ---help--- The size of the list of pending RTR requests. Default: 4 config CAN_LOOPBACK bool "CAN loopback mode" default n ---help--- A CAN driver may or may not support a loopback mode for testing. If the driver does support loopback mode, the setting will enable it. (If the driver does not, this setting will have no effect). endif # CAN config ARCH_HAVE_PWM_PULSECOUNT bool default n menuconfig PWM bool "PWM Driver Support" default n ---help--- This selection enables building of the "upper-half" PWM driver. See include/nuttx/pwm.h for further PWM driver information. if PWM config PWM_PULSECOUNT bool "PWM Pulse Count Support" default n depends on ARCH_HAVE_PWM_PULSECOUNT ---help--- Some hardware will support generation of a fixed number of pulses. This might be used, for example to support a stepper motor. If the hardware will support a fixed pulse count, then this configuration should be set to enable the capability. endif # PWM config ARCH_HAVE_I2CRESET bool default n menuconfig I2C bool "I2C Driver Support" default n ---help--- This selection enables building of the "upper-half" I2C driver. See include/nuttx/i2c.h for further I2C driver information. if I2C config I2C_SLAVE bool "I2C Slave" default n config I2C_TRANSFER bool "Support the I2C transfer() method" default n config I2C_WRITEREAD bool "Support the I2C writeread() method" default n config I2C_POLLED bool "Polled I2C (no interrupts)" default n config I2C_TRACE bool "Enable I2C trace debug" default n config I2C_NTRACE int "Number of I2C trace records" default 32 depends on I2C_TRACE config I2C_RESET bool "Support up_i2creset" default n depends on ARCH_HAVE_I2CRESET endif # I2C menuconfig SPI bool "SPI Driver Support" default n ---help--- This selection enables selection of common SPI options. This option should be enabled by all platforms that support SPI interfaces. See include/nuttx/spi/spi.h for further SPI driver information. if SPI source drivers/spi/Kconfig endif menuconfig I2S bool "I2S Driver Support" default n ---help--- This selection enables selection of common I2S options. This option should be enabled by all platforms that support I2S interfaces. See include/nuttx/audio/i2s.h for further I2S driver information. if I2S endif # I2S menuconfig RTC bool "RTC Driver Support" default n ---help--- This selection enables configuration of a real time clock (RTCdriver. See include/nuttx/rtc.h for further watchdog timer driver information. Most RTC drivers are MCU specific and may require other specific settings. if RTC config RTC_DATETIME bool "Date/Time RTC Support" default n ---help--- There are two general types of RTC: (1) A simple battery backed counter that keeps the time when power is down, and (2) a full date / time RTC the provides the date and time information, often in BCD format. If RTC_DATETIME is selected, it specifies this second kind of RTC. In this case, the RTC is used to "seed" the normal NuttX timer and the NuttX system timer provides for higher resolution time. if !RTC_DATETIME config RTC_HIRES bool "Hi-Res RTC Support" default n ---help--- If RTC_DATETIME not selected, then the simple, battery backed counter is used. There are two different implementations of such simple counters based on the time resolution of the counter: The typical RTC keeps time to resolution of 1 second, usually supporting a 32-bit time_t value. In this case, the RTC is used to "seed" the normal NuttX timer and the NuttX timer provides for higherresoution time. If RTC_HIRES is enabled in the NuttX configuration, then the RTC provides higher resolution time and completely replaces the system timer for purpose of date and time. config RTC_FREQUENCY int "Hi-Res RTC frequency" default 1 depends on RTC_HIRES ---help--- If RTC_HIRES is defined, then the frequency of the high resolution RTC must be provided. If RTC_HIRES is not defined, RTC_FREQUENCY is assumed to be one Hz. endif # !RTC_DATETIME config RTC_ALARM bool "RTC Alarm Support" default n ---help--- Enable if the RTC hardware supports setting of an alarm. A callback function will be executed when the alarm goes off. endif # RTC menuconfig WATCHDOG bool "Watchdog Timer Support" default n ---help--- This selection enables building of the "upper-half" watchdog timer driver. See include/nuttx/watchdog.h for further watchdog timer driver information. if WATCHDOG config WATCHDOG_DEVPATH string "Watchdog Device Path" default "/dev/watchdog0" endif # WATCHDOG menuconfig TIMER bool "Timer Support" default n ---help--- This selection enables building of the "upper-half" timer driver. See include/nuttx/timer.h for further timer driver information. menuconfig ANALOG bool "Analog Device(ADC/DAC) Support" default n ---help--- This directory holds implementations of analog device drivers. This includes drivers for Analog to Digital Conversion (ADC) as well as drivers for Digital to Analog Conversion (DAC). See include/nuttx/analog/*.h for registration information. if ANALOG source drivers/analog/Kconfig endif # ANALOG menuconfig AUDIO_DEVICES bool "Audio Device Support" default n ---help--- Enable support for audio device drivers. This includes drivers for MP3, WMA and Ogg Vorbis encoding, decoding, as well as drivers for interfacing with external DSP chips to perform custom audio functions. NOTE: All of these drivers depend on support from the audio subsystem enabled with the AUDIO selection. if AUDIO_DEVICES source drivers/audio/Kconfig endif # AUDIO_DEVICES menuconfig VIDEO_DEVICES bool "Video Device Support" default n ---help--- Enable support for video device drivers. if VIDEO_DEVICES source drivers/video/Kconfig endif # VIDEO_DEVICES menuconfig BCH bool "Block-to-Character (BCH) Support" default n ---help--- Contains logic that may be used to convert a block driver into a character driver. This is the complementary conversion as that performed by loop.c. See include/nuttx/fs/fs.h for registration information. if BCH source drivers/bch/Kconfig endif # BCH menuconfig INPUT bool "Input Device Support" default n ---help--- This directory holds implementations of input device drivers. This includes such things as touchscreen and keypad drivers. See include/nuttx/input/*.h for registration information. if INPUT source drivers/input/Kconfig endif # INPUT menuconfig LCD bool "LCD Driver Support" default n select NX_LCDDRIVER ---help--- Drivers for parallel and serial LCD and OLED type devices. These drivers support interfaces as defined in include/nuttx/lcd/lcd.h This selection is necessary to enable support for LCD drivers in drivers/lcd as well as for board-specific LCD drivers in the configs/ subdirectories. if LCD source drivers/lcd/Kconfig endif # LCD menuconfig MMCSD bool "MMC/SD Driver Support" default n ---help--- Support for MMC/SD block drivers. MMC/SD block drivers based on SPI and SDIO/MCI interfaces are supported. See include/nuttx/mmcsd.h and include/nuttx/sdio.h for further information. if MMCSD source drivers/mmcsd/Kconfig endif # MMCSD menuconfig MTD bool "Memory Technology Device (MTD) Support" default n ---help--- Memory Technology Device (MTD) drivers. Some simple drivers for memory technologies like FLASH, EEPROM, NVRAM, etc. See include/nuttx/mtd/mtd.h (Note: This is a simple memory interface and should not be confused with the "real" MTD developed at infradead.org. This logic is unrelated; I just used the name MTD because I am not aware of any other common way to refer to this class of devices). if MTD source drivers/mtd/Kconfig endif # MTD menuconfig EEPROM bool "EEPROM support" default n ---help--- This directory holds implementations of EEPROM drivers. if EEPROM source drivers/eeprom/Kconfig endif menuconfig NETDEVICES bool "Network Device/PHY Support" default n if !ARCH_HAVE_PHY default y if ARCH_HAVE_PHY depends on NET ---help--- Network interface driver and PHY selections. This options enables selection of drivers for external Ethernet MAC chips. The majority of MCUs, however, have built-in, internal Ethernet MAC peripherals and that Ethernet support is selected in the MCU-specific configuration menus. Most Ethernet MAC drivers, whether internal or external, will require configuration of an external PHY device. That external PHY device is also selected via this menu. if NETDEVICES source drivers/net/Kconfig endif # NETDEVICES menuconfig PIPES bool "FIFO and named pipe drivers" default n ---help--- FIFO and named pipe drivers. Standard interfaces are declared in include/unistd.h if PIPES source drivers/pipes/Kconfig endif # PIPES config PM bool "Power management (PM) driver interfaces" default n ---help--- Power management (PM) driver interfaces. These interfaces are used to manage power usage of a platform by monitoring driver activity and by placing drivers into reduce power usage modes when the drivers are not active. menuconfig POWER bool "Power Management Support" default n ---help--- Enable building of power-related devices (battery monitors, chargers, etc). if POWER source drivers/power/Kconfig endif # POWER menuconfig SENSORS bool "Sensor Device Support" default n ---help--- Drivers for various sensors if SENSORS source drivers/sensors/Kconfig endif # SENSORS menuconfig SERCOMM_CONSOLE bool "Osmocom-bb Sercomm Driver Support" default n ---help--- Sercomm is the transport used by osmocom-bb that runs on top of serial. See http://bb.osmocom.org/trac/wiki/nuttx-bb/run for detailed the usage of nuttx with sercomm. drivers/sercomm is only built if SERCOMM_CONSOLE in the NuttX configuration file. If you attempt to build this driver without osmocom-bb, you will get compilation errors because of header files that are needed from the osmocom-bb. if SERCOMM_CONSOLE source drivers/sercomm/Kconfig endif # SERCOMM_CONSOLE menuconfig SERIAL bool "Serial Driver Support" default y ---help--- Front-end character drivers for chip-specific UARTs. This provide some TTY-like functionality and are commonly used (but not required for) the NuttX system console. See also include/nuttx/serial/serial.h if SERIAL source drivers/serial/Kconfig endif # SERIAL menuconfig USBDEV bool "USB Device Driver Support" default n ---help--- USB device drivers. See also include/nuttx/usb/usbdev.h if USBDEV source drivers/usbdev/Kconfig endif # USBDEV menuconfig USBHOST bool "USB Host Driver Support" default n ---help--- USB host drivers. See also include/nuttx/usb/usbhost.h if USBHOST source drivers/usbhost/Kconfig endif # USBHOST menuconfig WIRELESS bool "Wireless Device Support" default n ---help--- Drivers for various wireless devices. if WIRELESS source drivers/wireless/Kconfig endif # WIRELESS comment "System Logging Device Options" source drivers/syslog/Kconfig