aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/vusb.txt
diff options
context:
space:
mode:
authorAndrey Konovalov <andreyknvl@google.com>2019-08-02 19:17:30 +0200
committerGitHub <noreply@github.com>2019-08-02 19:17:30 +0200
commitbac5ccb8fb2e31ff014f0014a1e3fa5731f5d2cc (patch)
tree34ea1c8a07595d0d0ecca23edb6ab28fefddc350 /sys/linux/vusb.txt
parent3faab80738901af37e65a5f1c627004ba189432e (diff)
sys/linux: import HID report descriptor descriptions (#1311)
Remove long items and better specify tags.
Diffstat (limited to 'sys/linux/vusb.txt')
-rw-r--r--sys/linux/vusb.txt45
1 files changed, 20 insertions, 25 deletions
diff --git a/sys/linux/vusb.txt b/sys/linux/vusb.txt
index dc5fee402..ccfbe8dab 100644
--- a/sys/linux/vusb.txt
+++ b/sys/linux/vusb.txt
@@ -105,7 +105,7 @@ type usb_endpoint_descriptor_t[ADDR, ATTRS, EXTRA] {
bEndpointAddress ADDR
bmAttributes ATTRS
- wMaxPacketSize int16
+ wMaxPacketSize flags[usb_max_packet_sizes, int16]
bInterval int8
bRefresh int8
@@ -656,46 +656,41 @@ usb_cdc_mbim_extended_desc {
# USB descriptors requested after the SET_CONFIGURATION request.
# TODO: define recusively to generate proper structures.
+# Linux HID stack doesn't support long items.
hid_descriptor_report {
- items array[hid_report_item]
+ items array[hid_report_item_short]
} [packed]
-hid_report_item_short_012 {
+type hid_report_item_short_012_t[TYPE, TAGS] {
bSize len[data, int8:2]
- bType flags[hid_report_item_types, int8:2]
- bTag flags[hid_report_item_tags, int8:4]
+ bType const[TYPE, int8:2]
+ bTag flags[TAGS, int8:4]
data array[int8, 0:2]
} [packed]
-hid_report_item_short_4 {
+type hid_report_item_short_4_t[TYPE, TAGS] {
bSize const[3, int8:2]
- bType flags[hid_report_item_types, int8:2]
- bTag flags[hid_report_item_tags, int8:4]
+ bType const[TYPE, int8:2]
+ bTag flags[TAGS, int8:4]
data array[int8, 4]
} [packed]
-hid_report_item_short [
- item_012 hid_report_item_short_012
- item_4 hid_report_item_short_4
+type hid_report_item_short_t[TYPE, TAGS] [
+ item_012 hid_report_item_short_012_t[TYPE, TAGS]
+ item_4 hid_report_item_short_4_t[TYPE, TAGS]
] [varlen]
-hid_report_item_long {
- bSize int8:2
- bType int8:2
- bTag const[HID_ITEM_TAG_LONG, int8:4]
- bDataSize len[data, int8]
- bLongItemTag flags[hid_report_item_tags, int8]
- data array[int8, 0:255]
-} [packed]
-
-hid_report_item [
- short hid_report_item_short
- long hid_report_item_long
+hid_report_item_short [
+ main hid_report_item_short_t[HID_ITEM_TYPE_MAIN, hid_report_item_main_tags]
+ global hid_report_item_short_t[HID_ITEM_TYPE_GLOBAL, hid_report_item_global_tags]
+ local hid_report_item_short_t[HID_ITEM_TYPE_LOCAL, hid_report_item_local_tags]
] [varlen]
-hid_report_item_types = HID_ITEM_TYPE_MAIN, HID_ITEM_TYPE_GLOBAL, HID_ITEM_TYPE_LOCAL, HID_ITEM_TYPE_RESERVED
+hid_report_item_main_tags = HID_MAIN_ITEM_TAG_INPUT, HID_MAIN_ITEM_TAG_OUTPUT, HID_MAIN_ITEM_TAG_FEATURE, HID_MAIN_ITEM_TAG_BEGIN_COLLECTION, HID_MAIN_ITEM_TAG_END_COLLECTION
+hid_report_item_global_tags = HID_GLOBAL_ITEM_TAG_USAGE_PAGE, HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM, HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM, HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM, HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM, HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT, HID_GLOBAL_ITEM_TAG_UNIT, HID_GLOBAL_ITEM_TAG_REPORT_SIZE, HID_GLOBAL_ITEM_TAG_REPORT_ID, HID_GLOBAL_ITEM_TAG_REPORT_COUNT, HID_GLOBAL_ITEM_TAG_PUSH, HID_GLOBAL_ITEM_TAG_POP
+hid_report_item_local_tags = HID_LOCAL_ITEM_TAG_USAGE, HID_LOCAL_ITEM_TAG_USAGE_MINIMUM, HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM, HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX, HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM, HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM, HID_LOCAL_ITEM_TAG_STRING_INDEX, HID_LOCAL_ITEM_TAG_STRING_MINIMUM, HID_LOCAL_ITEM_TAG_STRING_MAXIMUM, HID_LOCAL_ITEM_TAG_DELIMITER
-hid_report_item_tags = HID_ITEM_TAG_LONG, HID_MAIN_ITEM_TAG_INPUT, HID_MAIN_ITEM_TAG_OUTPUT, HID_MAIN_ITEM_TAG_FEATURE, HID_MAIN_ITEM_TAG_BEGIN_COLLECTION, HID_MAIN_ITEM_TAG_END_COLLECTION, HID_GLOBAL_ITEM_TAG_USAGE_PAGE, HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM, HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM, HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM, HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM, HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT, HID_GLOBAL_ITEM_TAG_UNIT, HID_GLOBAL_ITEM_TAG_REPORT_SIZE, HID_GLOBAL_ITEM_TAG_REPORT_ID, HID_GLOBAL_ITEM_TAG_REPORT_COUNT, HID_GLOBAL_ITEM_TAG_PUSH, HID_GLOBAL_ITEM_TAG_POP, HID_LOCAL_ITEM_TAG_USAGE, HID_LOCAL_ITEM_TAG_USAGE_MINIMUM, HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM, HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX, HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM, HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM, HID_LOCAL_ITEM_TAG_STRING_INDEX, HID_LOCAL_ITEM_TAG_STRING_MINIMUM, HID_LOCAL_ITEM_TAG_STRING_MAXIMUM, HID_LOCAL_ITEM_TAG_DELIMITER
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
usb_hub_descriptor_hs {
bDescLength len[parent, int8]