summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nuttx/Makefile19
-rw-r--r--nuttx/arch/arm/Kconfig3
-rw-r--r--nuttx/arch/sim/Kconfig5
-rw-r--r--nuttx/drivers/lcd/Kconfig157
-rw-r--r--nuttx/drivers/mmcsd/Kconfig73
-rw-r--r--nuttx/drivers/net/Kconfig71
-rw-r--r--nuttx/drivers/power/Kconfig20
-rw-r--r--nuttx/drivers/sensors/Kconfig29
-rw-r--r--nuttx/drivers/serial/Kconfig280
-rw-r--r--nuttx/drivers/usbdev/Kconfig448
-rw-r--r--nuttx/drivers/usbhost/Kconfig88
-rw-r--r--nuttx/sched/Kconfig2
12 files changed, 1186 insertions, 9 deletions
diff --git a/nuttx/Makefile b/nuttx/Makefile
index ab6886ae9..1d26ed580 100644
--- a/nuttx/Makefile
+++ b/nuttx/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/nuttx/arch/arm/Kconfig b/nuttx/arch/arm/Kconfig
index 92520604e..926bee501 100644
--- a/nuttx/arch/arm/Kconfig
+++ b/nuttx/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/nuttx/arch/sim/Kconfig b/nuttx/arch/sim/Kconfig
index 00253d0dc..dce2bc918 100644
--- a/nuttx/arch/sim/Kconfig
+++ b/nuttx/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/nuttx/drivers/lcd/Kconfig b/nuttx/drivers/lcd/Kconfig
index c69e0cac2..af94ac16a 100644
--- a/nuttx/drivers/lcd/Kconfig
+++ b/nuttx/drivers/lcd/Kconfig
@@ -2,6 +2,69 @@
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
+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---
+ 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"
+ default n
+ ---help---
+ 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"
@@ -10,14 +73,98 @@ config LCD_NOKIA6100
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.
-config LCD_P14201
- bool "Rit P1402 series display"
+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---
- 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.
+ 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/nuttx/drivers/mmcsd/Kconfig b/nuttx/drivers/mmcsd/Kconfig
index ae2bf3130..fc682e706 100644
--- a/nuttx/drivers/mmcsd/Kconfig
+++ b/nuttx/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/nuttx/drivers/net/Kconfig b/nuttx/drivers/net/Kconfig
index ae2bf3130..988b96c94 100644
--- a/nuttx/drivers/net/Kconfig
+++ b/nuttx/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/nuttx/drivers/power/Kconfig b/nuttx/drivers/power/Kconfig
index ae2bf3130..b0774fdf6 100644
--- a/nuttx/drivers/power/Kconfig
+++ b/nuttx/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/nuttx/drivers/sensors/Kconfig b/nuttx/drivers/sensors/Kconfig
index ae2bf3130..386cdc3a8 100644
--- a/nuttx/drivers/sensors/Kconfig
+++ b/nuttx/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/nuttx/drivers/serial/Kconfig b/nuttx/drivers/serial/Kconfig
index ae2bf3130..cf4bd5a7b 100644
--- a/nuttx/drivers/serial/Kconfig
+++ b/nuttx/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/nuttx/drivers/usbdev/Kconfig b/nuttx/drivers/usbdev/Kconfig
index ae2bf3130..7fadf8ebe 100644
--- a/nuttx/drivers/usbdev/Kconfig
+++ b/nuttx/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/nuttx/drivers/usbhost/Kconfig b/nuttx/drivers/usbhost/Kconfig
index ae2bf3130..4d37641f8 100644
--- a/nuttx/drivers/usbhost/Kconfig
+++ b/nuttx/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/nuttx/sched/Kconfig b/nuttx/sched/Kconfig
index 9b43ebd53..b5a69a421 100644
--- a/nuttx/sched/Kconfig
+++ b/nuttx/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).