diff --git a/Makefile b/Makefile index ab6886ae93..1d26ed5802 100644 --- a/Makefile +++ b/Makefile @@ -523,6 +523,22 @@ pass2dep: context $(MAKE) -C $$dir TOPDIR="$(TOPDIR)" EXTRADEFINES=$(KDEFINE) depend; \ done +# Configuration targets +# +# These targets depend on the kconfig-frontends packages. To use these, you +# must first download and install the kconfig-frontends package from this +# location: http://ymorin.is-a-geek.org/projects/kconfig-frontends. See +# misc/tools/README.txt for additional information. + +config: + @APPSDIR=${CONFIG_APPS_DIR} conf Kconfig + +oldconfig: + @APPSDIR=${CONFIG_APPS_DIR} conf --oldconfig Kconfig + +menuconfig: + @APPSDIR=${CONFIG_APPS_DIR} mconf Kconfig + # export # # The export target will package the NuttX libraries and header files into @@ -604,6 +620,3 @@ ifneq ($(APPDIR),) { echo "Copy of _SAVED_APPS_config failed" ; exit 1 ; } endif -menuconfig: - @APPSDIR=${CONFIG_APPS_DIR} mconf Kconfig - diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 92520604e9..926bee501e 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -3,6 +3,7 @@ # see misc/tools/kconfig-language.txt. # +if ARCH_ARM choice prompt "ARM chip selection" default ARCH_CHIP_STM32 @@ -103,3 +104,5 @@ source arch/arm/src/lpc31xx/Kconfig source arch/arm/src/sam3u/Kconfig source arch/arm/src/stm32/Kconfig source arch/arm/src/str71x/Kconfig + +endif diff --git a/arch/sim/Kconfig b/arch/sim/Kconfig index 00253d0dc9..dce2bc9185 100644 --- a/arch/sim/Kconfig +++ b/arch/sim/Kconfig @@ -24,4 +24,9 @@ config ARCH_BOARD_WIN32 THIS PORT NOT SUPPORTED. endchoice + +config ARCH_BOARD + string + default "sim" if ARCH_BOARD_SIM + endif diff --git a/drivers/lcd/Kconfig b/drivers/lcd/Kconfig index c69e0cac26..af94ac16a3 100644 --- a/drivers/lcd/Kconfig +++ b/drivers/lcd/Kconfig @@ -2,14 +2,24 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # - -config LCD_NOKIA6100 - bool "Nokia 6100 display support" - default n +config LCD_MAXCONTRAST + int "LCD maximum contrast" + default 63 if NOKIA6100_S1D15G10 + default 127 if NOKIA6100_PCF8833 + default 255 if LCD_P14201 + default 63 ---help--- - nokia6100.c. Supports the Nokia 6100 display with either the Philips - PCF883 or the Epson S1D15G10 display controller. This LCD is used - with the Olimex LPC1766-STK (but has not been fully integrated). + must be 63 with the Epson controller and 127 with + the Phillips controller. + +config LCD_MAXPOWER + int "LCD maximum power" + default 1 + ---help--- + Maximum value of backlight setting. The backlight + control is managed outside of the 6100 driver so this value has no + meaning to the driver. Board-specific logic may place restrictions on + this value. config LCD_P14201 bool "Rit P1402 series display" @@ -18,6 +28,143 @@ config LCD_P14201 p14201.c. Driver for RiT P14201 series display with SD1329 IC controller. This OLED is used with older versions of the TI/Luminary LM3S8962 Evaluation Kit. +if LCD_P14201 +config P14201_NINTERFACES + int "Number of physical P14201 devices" + default 1 + range 1,1 + ---help--- + Specifies the number of physical P14201 + devices that will be supported. + +config P14201_SPIMODE + int "SPI mode" + default 2 + range 0,3 + ---help--- + Controls the SPI mode + +config P14201_FREQUENCY + int "SPI frequency" + default 1000000 + ---help--- + Define to use a different bus frequency,FIXME DEFAULT VALUE OK? + +config P14201_FRAMEBUFFER + bool "Enable P14201 GDDRAM cache" + default y + ---help--- + If defined, accesses will be performed + using an in-memory copy of the OLEDs GDDRAM. This cost of this + buffer is 128 * 96 / 2 = 6Kb. If this is defined, then the driver + will be fully functional. If not, then it will have the following + limitations: + + Reading graphics memory cannot be supported, and + + All pixel writes must be aligned to byte boundaries. + The latter limitation effectively reduces the 128x96 disply to 64x96. +endif + +config LCD_NOKIA6100 + bool "Nokia 6100 display support" + default n + ---help--- + nokia6100.c. Supports the Nokia 6100 display with either the Philips + PCF883 or the Epson S1D15G10 display controller. This LCD is used + with the Olimex LPC1766-STK (but has not been fully integrated). +if LCD_NOKIA6100 +config NOKIA6100_NINTERFACES + int "Number of physical NOKIA6100 devices" + default 1 + range 1,1 + ---help--- + Specifies the number of physical Nokia + 6100 devices that will be supported. + +choice NOKIA6100_CONTROLLER + prompt "Controller Setup" + default NOKIA6100_S1D15G10 +config NOKIA6100_S1D15G10 + bool "S1D15G10 controller" + ---help--- + Selects the Epson S1D15G10 display controller + +config NOKIA6100_PCF8833 + bool "PCF8833 controller" + ---help--- + Selects the Phillips PCF8833 display controller +endchoice + +config NOKIA6100_SPIMODE + int "SPI mode" + default 0 + range 0,3 + ---help--- + Controls the SPI mode + +config NOKIA6100_FREQUENCY + int "SPI frequency" + default 1000000 + ---help--- + Define to use a different bus frequency + +config NOKIA6100_BLINIT + bool "Back light initial" + default n + ---help--- + Initial backlight setting + The following may need to be tuned for your hardware: + +config NOKIA6100_BPP + int "Display bits per pixel" + default 8 + ---help--- + Device supports 8, 12, and 16 bits per pixel. + +config NOKIA6100_INVERT + int "Display inversion" + default 1 + range 0,1 + ---help--- + Display inversion, 0 or 1, Default: 1 + +config NOKIA6100_MY + int "Display row direction" + default 0 + range 0,1 + ---help--- + Display row direction, 0 or 1, Default: 0 + +config NOKIA6100_MX + int "Display column direction" + default 1 + range 0,1 + ---help--- + Display column direction, 0 or 1, Default: 1 + +config NOKIA6100_V + int "Display address direction" + default 0 + range 0,1 + ---help--- + Display address direction, 0 or 1, Default: 0 + +config NOKIA6100_ML + int "Display scan direction" + default 0 + range 0,1 + ---help--- + Display scan direction, 0 or 1, Default: 0 + +config NOKIA6100_RGBORD + int "Display RGB order" + default 0 + range 0,1 + ---help--- + Display RGB order, 0 or 1, Default: 0 + Required LCD driver settings: +endif config LCD_UG9664HSWAG01 bool "9664HSWAG01 OLED Display Module" diff --git a/drivers/mmcsd/Kconfig b/drivers/mmcsd/Kconfig index ae2bf31307..fc682e7068 100644 --- a/drivers/mmcsd/Kconfig +++ b/drivers/mmcsd/Kconfig @@ -2,3 +2,76 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # +config MMCSD_NSLOTS + int "Number of MMC/SD slots" + default 1 + ---help--- + Number of MMC/SD slots supported by the + driver. Default is one. + +config MMCSD_READONLY + bool "Disable MMC/SD write access" + default n + ---help--- + Provide read-only access. Default is + Read/Write + +config MMCSD_MULTIBLOCK_DISABLE + bool "Disable MMC/SD multiblock transfer" + default n + ---help--- + Use only the single block transfer method. + This setting is used to work around buggy SDIO drivers that cannot handle + multiple block transfers. + +config MMCSD_MMCSUPPORT + bool "MMC cards support" + default y + ---help--- + Enable support for MMC cards + +config MMCSD_HAVECARDDETECT + bool "MMC/SD card detection" + default y + ---help--- + SDIO driver card detection is + 100% accurate + +config MMCSD_SPI + bool "MMC/SD spi transfer support" + default y + +config MMCSD_SPICLOCK + int "MMC/SD maximum SPI clock" + default 20000000 + depends on MMCSD_SPI + ---help--- + Maximum SPI clock to drive MMC/SD card. + Default is 20MHz. + +config MMCSD_SDIO + bool "MMC/SD sdio transfer support" + default y + +if MMCSD_SDIO +config SDIO_DMA + bool "SDIO dma support" + default n + ---help--- + SDIO driver supports DMA + +config SDIO_MUXBUS + bool "SDIO bus share support" + default n + ---help--- + Set this SDIO interface if the SDIO interface + or hardware resources are shared with other drivers. + +config SDIO_WIDTH_D1_ONLY + bool "SDIO 1-bit transfer" + default n + ---help--- + Select 1-bit transfer mode. Default: + 4-bit transfer mode. +endif + diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index ae2bf31307..988b96c948 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -2,3 +2,74 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # +config NET_DM90x0 + bool "Davicom dm9000/dm9010 support" + default n + ---help--- + References: Davicom data sheets (DM9000-DS-F03-041906.pdf, + DM9010-DS-F01-103006.pdf) and looking at lots of other DM90x0 + drivers. + +config NET_CS89x0 + bool "CS89x0 support" + default n + depends on EXPERIMENTAL + ---help--- + Under construction -- do not use + +config ENC28J60 + bool "Microchip ENC28J60 support" + default n + select SPI + ---help--- + References: + ENC28J60 Data Sheet, Stand-Alone Ethernet Controller with SPI Interface, + DS39662C, 2008 Microchip Technology Inc. +if ENC28J60 +config ENC28J60_NINTERFACES + int "Number of physical ENC28J60" + default 1 + range 1,1 + ---help--- + Specifies the number of physical ENC28J60 + devices that will be supported. + +config ENC28J60_SPIMODE + int "SPI mode" + default 2 + ---help--- + Controls the SPI mode + +config ENC28J60_FREQUENCY + int "SPI frequency" + default 20000000 + ---help--- + Define to use a different bus frequency + +config ENC28J60_STATS + bool "Network statistics support" + default n + ---help--- + Collect network statistics + +config ENC28J60_HALFDUPPLEX + bool "Enable half dupplex" + default n + ---help--- + Default is full duplex +endif + +config NET_E1000 + bool "E1000 support" + default n + +config NET_SLIP + bool "SLIP (serial line) support" + default n + ---help--- + Reference: RFC 1055 + +config NET_VNET + bool "VNET support" + default n + diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig index ae2bf31307..b0774fdf66 100644 --- a/drivers/power/Kconfig +++ b/drivers/power/Kconfig @@ -2,3 +2,23 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # +config BATTERY + bool "Battery support" + default n + +config MAX1704X + bool "MAX1704X Battery charger support" + default n + select I2C + select I2C_MAX1704X + depends on BATTERY + ---help--- + The MAX17040/MAX17041 are ultra-compact, low-cost, host-side fuel-gauge + systems for lithium-ion (Li+) batteries in handheld and portable equipment. + The MAX17040 is configured to operate with a single lithium cell and the + MAX17041 is configured for a dual-cell 2S pack. + +config I2C_MAX1704X + bool + default y if MAX1704X + diff --git a/drivers/sensors/Kconfig b/drivers/sensors/Kconfig index ae2bf31307..386cdc3a81 100644 --- a/drivers/sensors/Kconfig +++ b/drivers/sensors/Kconfig @@ -2,3 +2,32 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # +config LIS331DL + bool "ST LIS331DL device support" + default n + select I2C + +config I2C_LM75 + bool + default y if LM75 + +config LM75 + bool "STMicro LM-75 Temperature Sensor support" + default n + select I2C + select I2C_LM75 + +config DEBUG_LM75 + bool "Enable LM-75 debug" + default n + depends on LM75 + +config QENCODER + bool "Qencoder" + default n + +config DEBUG_QENCODER + bool "Enable Qencoder Debug" + default n + depends on QENCODER + diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index ae2bf31307..cf4bd5a7b0 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -2,3 +2,283 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # + +config LOWLEVEL_CONSOLE + bool "Low-level console support" + default y + depends on ARCH_LOWPUTC + +config 16550_UART + bool "16550 UART Chip support" + default n + +if 16550_UART +menu "16550 UARTs" + +config 16550_UART0 + bool "16550 UART0" + default n + +if 16550_UART0 +menu "UART0 configuration" + +config 16550_UART0_BASE + hex "16550 UART0 base address" + +config 16550_UART0_CLOCK + int "16550 UART0 clock" + +config 16550_UART0_IRQ + int "16550 UART0 IRQ number" + +config 16550_UART0_PARITY + int "16550 UART0 parity" + default 0 + ---help--- + 16550 UART0 parity. 0=None, 1=Odd, 2=Even. Default: None + +config 16550_UART0_BITS + int "16550 UART0 number of bits" + default 8 + ---help--- + 16550 UART0 number of bits. Default: 8 + +config 16550_UART0_2STOP + bool "16550 UART0 two stop bits" + default n + ---help--- + 16550 UART0 two stop bits. Default: 1 + +config 16550_UART0_RXBUFSIZE + int "16550 UART0 Rx buffer size" + default 256 + ---help--- + 16550 UART0 Rx buffer size. Default: 256 + +config 16550_UART0_TXBUFSIZE + int "16550 UART0 Tx buffer size" + default 256 + ---help--- + 16550 UART0 Tx buffer size. Default: 256 + +endmenu +endif + +config 16550_UART1 + bool "16550 UART1" + default n + +if 16550_UART1 +menu "UART1 configuration" + +config 16550_UART1_BASE + hex "16550 UART1 base address" + +config 16550_UART1_CLOCK + int "16550 UART1 clock" + +config 16550_UART1_IRQ + int "16550 UART1 IRQ number" + +config 16550_UART1_PARITY + int "16550 UART1 parity" + default 0 + ---help--- + 16550 UART1 parity. 0=None, 1=Odd, 2=Even. Default: None + +config 16550_UART1_BITS + int "16550 UART1 number of bits" + default 8 + ---help--- + 16550 UART1 number of bits. Default: 8 + +config 16550_UART1_2STOP + bool "16550 UART1 two stop bits" + default n + ---help--- + 16550 UART1 two stop bits. Default: 1 + +config 16550_UART1_RXBUFSIZE + int "16550 UART1 Rx buffer size" + default 256 + ---help--- + 16550 UART1 Rx buffer size. Default: 256 + +config 16550_UART1_TXBUFSIZE + int "16550 UART1 Tx buffer size" + default 256 + ---help--- + 16550 UART1 Tx buffer size. Default: 256 + +endmenu +endif + +config 16550_UART2 + bool "16550 UART2" + default n + +if 16550_UART2 +menu "UART2 configuration" + +config 16550_UART2_BASE + hex "16550 UART2 base address" + +config 16550_UART2_CLOCK + int "16550 UART2 clock" + +config 16550_UART2_IRQ + int "16550 UART2 IRQ number" + +config 16550_UART2_PARITY + int "16550 UART2 parity" + default 0 + ---help--- + 16550 UART2 parity. 0=None, 1=Odd, 2=Even. Default: None + +config 16550_UART2_BITS + int "16550 UART2 number of bits" + default 8 + ---help--- + 16550 UART2 number of bits. Default: 8 + +config 16550_UART2_2STOP + bool "16550 UART2 two stop bits" + default n + ---help--- + 16550 UART2 two stop bits. Default: 1 + +config 16550_UART2_RXBUFSIZE + int "16550 UART2 Rx buffer size" + default 256 + ---help--- + 16550 UART2 Rx buffer size. Default: 256 + +config 16550_UART2_TXBUFSIZE + int "16550 UART2 Tx buffer size" + default 256 + ---help--- + 16550 UART2 Tx buffer size. Default: 256 + +endmenu +endif + +config 16550_UART3 + bool "16550 UART3" + default n + +if 16550_UART3 +menu "UART3 configuration" + +config 16550_UART3_BASE + hex "16550 UART3 base address" + +config 16550_UART3_CLOCK + int "16550 UART3 clock" + +config 16550_UART3_IRQ + int "16550 UART3 IRQ number" + +config 16550_UART3_PARITY + int "16550 UART3 parity" + default 0 + ---help--- + 16550 UART3 parity. 0=None, 1=Odd, 2=Even. Default: None + +config 16550_UART3_BITS + int "16550 UART3 number of bits" + default 8 + ---help--- + 16550 UART3 number of bits. Default: 8 + +config 16550_UART3_2STOP + bool "16550 UART3 two stop bits" + default n + ---help--- + 16550 UART3 two stop bits. Default: 1 + +config 16550_UART3_RXBUFSIZE + int "16550 UART3 Rx buffer size" + default 256 + ---help--- + 16550 UART3 Rx buffer size. Default: 256 + +config 16550_UART3_TXBUFSIZE + int "16550 UART3 Tx buffer size" + default 256 + ---help--- + 16550 UART3 Tx buffer size. Default: 256 + +endmenu +endif + +choice + prompt "16550 Serial Console" + default NO_SERIAL_CONSOLE + +config UART0_SERIAL_CONSOLE + bool "16550 UART0 serial console" + depends on 16550_UART0 + +config UART1_SERIAL_CONSOLE + bool "16550 UART1 serial console" + depends on 16550_UART1 + +config UART2_SERIAL_CONSOLE + bool "16550 UART2 serial console" + depends on 16550_UART2 + +config UART3_SERIAL_CONSOLE + bool "16550 UART3 serial console" + depends on 16550_UART3 + +config NO_SERIAL_CONSOLE + bool "No 16550 serial console" + +endchoice + +config 16550_SUPRESS_CONFIG + bool "Suppress 16550 configuration" + default n + ---help--- + This option is useful, for example, if you are using a bootloader + that configures the 16550_UART. In that case, you may want to + just leave the existing console configuration in place. Default: n + +config 16550_REGINCR + int "Address increment between 16550 registers" + default 1 + ---help--- + The address increment between 16550 registers. Options are 1, 2, or 4. + Default: 1 + +config 16550_REGWIDTH + int "Bit width of 16550 registers" + default 8 + ---help--- + The bit width of registers. Options are 8, 16, or 32. Default: 8 + +config 16550_ADDRWIDTH + int "Address width of 16550 registers" + default 8 + ---help--- + The bit width of registers. Options are 8, 16, or 32. Default: 8 + +endmenu +endif + +config STANDARD_SERIAL + bool "" + default y if !LOWLEVEL_CONSOLE && !16550_UART + +if STANDARD_SERIAL +config CONFIG_SERIAL_NPOLLWAITERS + int "Low-level console support" + default 2 + depends on !DISABLE_POLL + ---help--- + Maximum number of threads than can be waiting for POLL events. + Default: 2 + +endif + + diff --git a/drivers/usbdev/Kconfig b/drivers/usbdev/Kconfig index ae2bf31307..7fadf8ebe9 100644 --- a/drivers/usbdev/Kconfig +++ b/drivers/usbdev/Kconfig @@ -2,3 +2,451 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # +menuconfig USBDEV_COMPOSITE + bool "USB composite device support" + default n + ---help--- + Enables USB composite device support +if USBDEV_COMPOSITE +#config COMPOSITE_IAD +# bool "" +# default n +# ---help--- +# If one of the members of the composite has multiple interfaces +# (such as CDC/ACM), then an Interface Association Descriptor (IAD) +# will be necessary. Default: IAD will be used automatically if +# needed. It should not be necessary to set this. + +config COMPOSITE_EP0MAXPACKET + int "Max packet size for endpoint 0" + default 64 + ---help--- + Max packet size for endpoint 0 + +config COMPOSITE_VENDORID + hex "Composite vendor ID" + default 0 + +config COMPOSITE_VENDORSTR + string "Composite vendor ID" + default "Nuttx" + ---help--- + The vendor ID code/string + +config COMPOSITE_PRODUCTID + hex "Composite product id" + default 0 + +config COMPOSITE_PRODUCTSTR + string "Composite product string" + default "Composite device" + ---help--- + The product ID code/string + +config COMPOSITE_SERIALSTR + string "Composite serial string" + default "001" + ---help--- + Device serial number string + +config COMPOSITE_CONFIGSTR + string "Configuration string" + default "Nuttx COMPOSITE config" + ---help--- + Configuration string + +config COMPOSITE_VERSIONNO + string "Composite version number" + default "" + ---help--- + Interface version number. +endif + +config USBDEV_ISOCHRONOUS + bool "Enable isochronous" + default n + ---help--- + Build in extra support for isochronous endpoints + +config USBDEV_DUALSPEED + bool "Enable high and full speed" + default n + ---help--- + Hardware handles high and full speed + operation (USB 2.0) + +choice USBDEV_POWERED + prompt "Select USB device powered" + default USBDEV_SELFPOWERED +config USBDEV_SELFPOWERED + bool "Self powerd" + ---help--- + Will cause USB features to indicate + that the device is self-powered + +config USBDEV_BUSPOWERED + bool "Bus powerd" + ---help--- + Will cause USB features to indicate + that the device is self-powered +endchoice +config USBDEV_MAXPOWER + int "Maximum power consumption in mA" + default 100 + depends on USBDEV_BUSPOWERED + ---help--- + Maximum power consumption in mA + +config USBDEV_TRACE + bool "Enable USB tracing for debug" + default n + ---help--- + Enables USB tracing for debug + +config USBDEV_TRACE_NRECORDS + int "Number of trace entries to remember" + default 32 + depends on USBDEV_TRACE + ---help--- + Number of trace entries to remember + +menuconfig PL2303 + bool "Emulates the Prolific PL2303 serial/USB converter" + default n + ---help--- + This logic emulates the Prolific PL2303 serial/USB converter +if PL2303 +config PL2303_EPINTIN + int "Logical endpoint numbers" + default 1 + +config PL2303_EPBULKOUT + int "Endpoint Bulkout" + default 2 + +config PL2303_EPBULKIN + int "Endpoint Bulkin" + default 3 + +config PL2303_EP0MAXPACKET + int "Packet and request buffer sizes" + default 64 + +config PL2303_NWRREQS + int "Number of read requests that can be in flight" + default 4 + ---help--- + The number of read requests that can be in flight + +config PL2303_NRDREQS + int "Number of write requests that can be in flight" + default 4 + ---help--- + The number of write/read requests that can be in flight + +config PL2303_RXBUFSIZE + int "Receive buffer size" + default 256 + ---help--- + Size of the serial receive/transmit buffers + +config PL2303_TXBUFSIZE + bool "Transmit buffer size" + default 256 + ---help--- + Size of the serial receive/transmit buffers + +config PL2303_VENDORID + hex "Vendor ID" + default 0x067b + +config PL2303_PRODUCTID + hex "Product ID" + default 0x2303 + +config PL2303_VENDORSTR + string "Vendor string" + default "NuttX" + +config PL2303_PRODUCTSTR + string "Product string" + default "USBdev Serial" +endif + +menuconfig CDCACM + bool "USB Modem (CDC ACM) support" + default n + ---help--- + Enables USB Modem (CDC ACM) support +if CDCACM +config CDCACM_COMPOSITE + bool "CDCACM composite support" + default n + depends on USBDEV_COMPOSITE + ---help--- + Configure the CDC serial driver as part of a composite driver + (only if CONFIG_USBDEV_COMPOSITE is also defined) + +config CDCACM_IFNOBASE + int "Offset the CDC/ACM interface numbers" + default 0 + depends on CDCACM_COMPOSITE + ---help--- + If the CDC driver is part of a composite device, then this may need to + be defined to offset the CDC/ACM interface numbers so that they are + unique and contiguous. When used with the Mass Storage driver, the + correct value for this offset is zero. + +config CDCACM_STRBASE + int "Offset the CDC/ACM string numbers" + default 0 + depends on CDCACM_COMPOSITE + ---help--- + If the CDC driver is part of a composite device, then this may need to + be defined to offset the CDC/ACM string numbers so that they are + unique and contiguous. When used with the Mass Storage driver, the + correct value for this offset is four (this value actuallly only needs + to be defined if names are provided for the Notification interface, + config CDCACM_NOTIFSTR, or the data interface, CONFIG_CDCACM_DATAIFSTR). + +config CDCACM_EP0MAXPACKET + int "Endpoint 0 max packet size" + default 64 + ---help--- + Endpoint 0 max packet size. Default 64. + +config CDCACM_EPINTIN + int "Hardware endpoint that supports interrupt IN operation" + default 2 + ---help--- + The logical 7-bit address of a hardware endpoint that supports + interrupt IN operation. Default 2. + +config CDCACM_EPINTIN_FSSIZE + int "Endpoint in full speed size" + default 64 + ---help--- + Max package size for the interrupt IN endpoint if full speed mode. + Default 64. + +config CDCACM_EPINTIN_HSSIZE + int "Endpoint in high speed size" + default 64 + ---help--- + Max package size for the interrupt IN endpoint if high speed mode. + Default 64. + +config CDCACM_EPBULKOUT + int "Endpoint bulk out" + default 0 + ---help--- + The logical 7-bit address of a hardware endpoint that supports + bulk OUT operation + +config CDCACM_EPBULKOUT_FSSIZE + int "Endpoint bulk out full speed size" + default 64 + ---help--- + Max package size for the bulk OUT endpoint if full speed mode. + Default 64. + +config CDCACM_EPBULKOUT_HSSIZE + int "Endpoint bulk out high speed size" + default 512 + ---help--- + Max package size for the bulk OUT endpoint if high speed mode. + Default 512. + +config CDCACM_EPBULKIN + int "Endpoint bulk in" + default 0 + ---help--- + The logical 7-bit address of a hardware endpoint that supports + bulk IN operation + +config CDCACM_EPBULKIN_FSSIZE + int "Endpoint bulk in full speed size" + default 64 + ---help--- + Max package size for the bulk IN endpoint if full speed mode. + Default 64. + +config CDCACM_EPBULKIN_HSSIZE + int "Endpoint bulk in high speed size" + default 512 + ---help--- + Max package size for the bulk IN endpoint if high speed mode. + Default 512. + +config CDCACM_NWRREQS + int "Number of read requests that can be in flight" + default 4 + ---help--- + The number of read requests that can be in flight + +config CDCACM_NRDREQS + int "Number of write requests that can be in flight" + default 4 + ---help--- + The number of write/read requests that can be in flight + +config CDCACM_RXBUFSIZE + int "Receive buffer size" + default 256 + ---help--- + Size of the serial receive/transmit buffers + +config CDCACM_TXBUFSIZE + bool "Transmit buffer size" + default 256 + ---help--- + Size of the serial receive/transmit buffers + +config CDCACM_VENDORID + hex "Vendor ID" + default 0x0525 + ---help--- + The vendor ID code/string. Default 0x0525 and "NuttX" + 0x0525 is the Netchip vendor and should not be used in any + products. This default VID was selected for compatibility with + the Linux CDC ACM default VID. + +config CDCACM_PRODUCTID + hex "Product ID" + default 0xa4a7 + ---help--- + The product ID code/string. Default 0xa4a7 and "CDC/ACM Serial" + 0xa4a7 was selected for compatibility with the Linux CDC ACM + default PID. + +config CDCACM_VENDORSTR + string "Vendor string" + default "NuttX" + +config CDCACM_PRODUCTSTR + string "Product string" + default "USBdev Serial" +endif + +menuconfig USBMSC + bool "USB Mass storage class device" + default n + ---help--- + References: + "Universal Serial Bus Mass Storage Class, Specification Overview," + Revision 1.2, USB Implementer's Forum, June 23, 2003. + + "Universal Serial Bus Mass Storage Class, Bulk-Only Transport," + Revision 1.0, USB Implementer's Forum, September 31, 1999. + + "SCSI Primary Commands - 3 (SPC-3)," American National Standard + for Information Technology, May 4, 2005 + + "SCSI Primary Commands - 4 (SPC-4)," American National Standard + for Information Technology, July 19, 2008 + + "SCSI Block Commands -2 (SBC-2)," American National Standard + for Information Technology, November 13, 2004 + + "SCSI Multimedia Commands - 3 (MMC-3)," American National Standard + for Information Technology, November 12, 2001 + +if USBMSC +config USBMSC_COMPOSITE + bool "Mass storage composite support" + default n + depends on USBDEV_COMPOSITE + ---help--- + Configure the mass storage driver as part of a composite driver + (only if CONFIG_USBDEV_COMPOSITE is also defined) + +config USBMSC_IFNOBASE + int "Offset the mass storage interface number" + default 2 + depends on USBMSC_COMPOSITE + ---help--- + If the CDC driver is part of a composite device, then this may need to + be defined to offset the mass storage interface number so that it is + unique and contiguous. When used with the CDC/ACM driver, the + correct value for this offset is two (because of the two CDC/ACM + interfaces that will precede it). + +config USBMSC_STRBASE + int "Offset the mass storage string numbers" + default 2 + depends on USBMSC_COMPOSITE + ---help--- + If the CDC driver is part of a composite device, then this may need to + be defined to offset the mass storage string numbers so that they are + unique and contiguous. When used with the CDC/ACM driver, the + correct value for this offset is four (or perhaps 5 or 6, depending + on if CONFIG_CDCACM_NOTIFSTR or CONFIG_CDCACM_DATAIFSTR are defined). + +config USBMSC_EP0MAXPACKET + bool "Max packet size for endpoint 0" + default 64 + ---help--- + Max packet size for endpoint 0 + +config USBMSC_EPBULKOUT + int "Endpoint bulk out" + default 0 + ---help--- + The logical 7-bit address of a hardware endpoints that support + bulk OUT and IN operations + +config USBMSC_EPBULKIN + int "Endpoint bulk in" + default 0 + ---help--- + The logical 7-bit address of a hardware endpoints that support + bulk OUT and IN operations + +config USBMSC_NWRREQS + int "The number of write requests that can be in flight" + default 4 + ---help--- + The number of write/read requests that can be in flight +config USBMSC_NRDREQS + int "The number of read requests that can be in flight" + default 4 + ---help--- + The number of write/read requests that can be in flight + +config USBMSC_BULKINREQLEN + int "Bulk in request size" + default 512 + +config USBMSC_BULKOUTREQLEN + int "Bulk out request size" + default 512 + ---help--- + The size of the buffer in each write/read request. This + value needs to be at least as large as the endpoint + maxpacket and ideally as large as a block device sector. + +config USBMSC_VENDORID + hex "Mass stroage Vendor ID" + default 0x00 + +config USBMSC_VENDORSTR + string "Mass stroage vendor string" + default "Nuttx" + ---help--- + The vendor ID code/string + +config USBMSC_PRODUCTID + hex "Mass stroage Product ID" + default 0x00 + +config USBMSC_PRODUCTSTR + string "Mass stroage product string" + default "Mass stroage" + +config USBMSC_REMOVABLE + bool "Mass stroage remove able" + default n + ---help--- + Select if the media is removable + USB Composite Device Configuration +endif diff --git a/drivers/usbhost/Kconfig b/drivers/usbhost/Kconfig index ae2bf31307..4d37641f8d 100644 --- a/drivers/usbhost/Kconfig +++ b/drivers/usbhost/Kconfig @@ -2,3 +2,91 @@ # For a description of the syntax of this configuration file, # see misc/tools/kconfig-language.txt. # +config USBHOST_NPREALLOC + int "Number of pre-allocated class instances" + default 4 + ---help--- + Number of pre-allocated class instances + +config USBHOST_BULK_DISABLE + bool "Disable bulk endpoint support" + default n + ---help--- + On some architectures, selecting this setting will reduce driver size + by disabling bulk endpoint support + +config USBHOST_INT_DISABLE + bool "Disable interrupt endpoint support" + default n + ---help--- + On some architectures, selecting this setting will reduce driver size + by disabling interrupt endpoint support + +config USBHOST_ISOC_DISABLE + bool "Disable isochronous endpoint support" + default n + ---help--- + On some architectures, selecting this setting will reduce driver size + by disabling isochronous endpoint support + +config USBHOST_HIDKBD + bool "HID keyboad class support" + default n + depends on !USBHOST_INT_DISABLE && SCHED_WORKQUEUE && !DISABLE_SIGNALS + +if USBHOST_HIDKBD +config HIDKBD_POLLUSEC + bool "" + default n + ---help--- + Device poll rate in microseconds. Default: 100 milliseconds. + +config HIDKBD_DEFPRIO + bool "" + default n + ---help--- + Priority of the polling thread. Default: 50. + +config HIDKBD_STACKSIZE + bool "" + default n + ---help--- + Stack size for polling thread. Default: 1024 + +config HIDKBD_BUFSIZE + bool "" + default n + ---help--- + Scancode buffer size. Default: 64. + +config HIDKBD_NPOLLWAITERS + bool "" + default n + ---help--- + If the poll() method is enabled, this defines the maximum number + of threads that can be waiting for keyboard events. Default: 2. + +config HIDKBD_RAWSCANCODES + bool "" + default n + ---help--- + If set to y no conversion will be made on the raw keyboard scan + codes. Default: ASCII conversion. + +config HIDKBD_ALLSCANCODES + bool "" + default n + ---help--- + If set to y all 231 possible scancodes will be converted to + something. Default: 104 key US keyboard. + +config HIDKBD_NODEBOUNCE + bool "" + default n + ---help--- + If set to y normal debouncing is disabled. Default: + Debounce enabled (No repeat keys). + USB host mass storage class driver. Requires CONFIG_USBHOST=y, + config USBHOST_BULK_DISABLE=n, CONFIG_NFILE_DESCRIPTORS > 0, + and CONFIG_SCHED_WORKQUEUE=y +endif diff --git a/sched/Kconfig b/sched/Kconfig index 9b43ebd53d..b5a69a4210 100644 --- a/sched/Kconfig +++ b/sched/Kconfig @@ -285,7 +285,7 @@ config CUSTOM_STACK have hardware stacks (such as the 8051 family). config STACK_POINTER - hex "" + hex "The initial stack pointer" ---help--- The initial stack pointer (arm7tdmi only).