usb: sandbox: Add a USB emulation driver
Add a simple USB keyboard driver for sandbox. It provides a function to 'load' it with input data, which it will then stream through to the normal U-Boot input subsystem. When the input data is exhausted, the keyboard stops providing data. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -229,6 +229,8 @@ struct usb_ctrlrequest {
|
||||
#define USB_DT_PIPE_USAGE 0x24
|
||||
/* From the USB 3.0 spec */
|
||||
#define USB_DT_SS_ENDPOINT_COMP 0x30
|
||||
/* From HID 1.11 spec */
|
||||
#define USB_DT_HID_REPORT 0x22
|
||||
|
||||
/* Conventional codes for class-specific descriptors. The convention is
|
||||
* defined in the USB "Common Class" Spec (3.11). Individual class specs
|
||||
@@ -385,6 +387,24 @@ struct usb_generic_descriptor {
|
||||
__u8 bDescriptorType;
|
||||
};
|
||||
|
||||
struct __packed usb_class_hid_descriptor {
|
||||
u8 bLength;
|
||||
u8 bDescriptorType;
|
||||
u16 bcdCDC;
|
||||
u8 bCountryCode;
|
||||
u8 bNumDescriptors; /* 0x01 */
|
||||
u8 bDescriptorType0;
|
||||
u16 wDescriptorLength0;
|
||||
/* optional descriptors are not supported. */
|
||||
};
|
||||
|
||||
struct __packed usb_class_report_descriptor {
|
||||
u8 bLength; /* dummy */
|
||||
u8 bDescriptorType;
|
||||
u16 wLength;
|
||||
u8 bData[0];
|
||||
};
|
||||
|
||||
/*
|
||||
* Endpoints
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user