README ^^^^^^ This directory contains various device drivers -- both block and character drivers as well as other more specialized drivers. Files in this directory: ^^^^^^^^^^^^^^^^^^^^^^^ can.c An unfinished CAN driver. dev_null.c and dev_zero.c These files provide the standard /dev/null and /dev/zero devices. See include/nuttx/fs.h for functions that should be called if you want to register these devices (devnull_register() and devzero_register()). loop.c 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.h. ramdisk.c 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/ramdisk.h. Subdirectories of this directory: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bch/ 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.h for registration information. lcd/ Drivers for parallel and serial LCD and OLED type devices. These drivers support interfaces as defined in include/nuttx/lcd.h mmcsd/ 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. mtd/ Memory Technology Device (MTD) drivers. Some simple drivers for memory technologies like FLASH, EEPROM, NVRAM, etc. See include/nuttx/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). net/ Network interface drivers. See also include/nuttx/net.h pipes/ FIFO and named pipe drivers. Standard interfaces are declared in include/unistd.h serial/ Front-ends 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 include/nuttx/serial.h usbdev/ USB device drivers. See include/nuttx/usb*.h