diff options
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/Kconfig | 67 | ||||
-rw-r--r-- | drivers/usb/gadget/g_dnl.c | 6 |
2 files changed, 70 insertions, 3 deletions
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index f4698f4..a35a1c7 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -33,3 +33,70 @@ menuconfig USB_GADGET a USB peripheral device. Configure one hardware driver for your peripheral/device side bus controller, and a "gadget driver" for your peripheral protocol. + +if USB_GADGET + +config USB_GADGET_ATMEL_USBA + bool "Atmel USBA" + select USB_GADGET_DUALSPEED + help + USBA is the integrated high-speed USB Device controller on + the AT32AP700x, some AT91SAM9 and AT91CAP9 processors from Atmel. + +config USB_GADGET_DWC2_OTG + bool "DesignWare USB2.0 HS OTG controller (gadget mode)" + select USB_GADGET_DUALSPEED + help + The Designware USB2.0 high-speed gadget controller + integrated into many SoCs. Select this option if you want the + driver to operate in Peripheral mode. This option requires + USB_GADGET to be enabled. + +config CI_UDC + bool "ChipIdea device controller" + select USB_GADGET_DUALSPEED + help + Say Y here to enable device controller functionality of the + ChipIdea driver. + +config USB_GADGET_VBUS_DRAW + int "Maximum VBUS Power usage (2-500 mA)" + range 2 500 + default 2 + help + Some devices need to draw power from USB when they are + configured, perhaps to operate circuitry or to recharge + batteries. This is in addition to any local power supply, + such as an AC adapter or batteries. + + Enter the maximum power your device draws through USB, in + milliAmperes. The permitted range of values is 2 - 500 mA; + 0 mA would be legal, but can make some hosts misbehave. + + This value will be used except for system-specific gadget + drivers that have more specific information. + +# Selected by UDC drivers that support high-speed operation. +config USB_GADGET_DUALSPEED + bool + +config USB_GADGET_DOWNLOAD + bool "Enable USB download gadget" + help + Composite USB download gadget support (g_dnl) for download functions. + This code works on top of composite gadget. + +if USB_GADGET_DOWNLOAD + +config G_DNL_MANUFACTURER + string "Vendor name of USB device" + +config G_DNL_VENDOR_NUM + hex "Vendor ID of USB device" + +config G_DNL_PRODUCT_NUM + hex "Product ID of USB device" + +endif # USB_GADGET_DOWNLOAD + +endif # USB_GADGET diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c index 2fa6da4..45a484c 100644 --- a/drivers/usb/gadget/g_dnl.c +++ b/drivers/usb/gadget/g_dnl.c @@ -27,7 +27,7 @@ * CONFIG_G_DNL_VENDOR_NUM * CONFIG_G_DNL_PRODUCT_NUM * CONFIG_G_DNL_MANUFACTURER - * at e.g. ./include/configs/<board>.h + * at e.g. ./configs/<board>_defconfig */ #define STRING_MANUFACTURER 25 @@ -58,8 +58,8 @@ static struct usb_device_descriptor device_desc = { .bDescriptorType = USB_DT_DEVICE, .bcdUSB = __constant_cpu_to_le16(0x0200), - .bDeviceClass = USB_CLASS_COMM, - .bDeviceSubClass = 0x02, /*0x02:CDC-modem , 0x00:CDC-serial*/ + .bDeviceClass = USB_CLASS_PER_INTERFACE, + .bDeviceSubClass = 0, /*0x02:CDC-modem , 0x00:CDC-serial*/ .idVendor = __constant_cpu_to_le16(CONFIG_G_DNL_VENDOR_NUM), .idProduct = __constant_cpu_to_le16(CONFIG_G_DNL_PRODUCT_NUM), |