diff options
Diffstat (limited to 'tools')
4 files changed, 124 insertions, 8 deletions
diff --git a/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c b/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c index 87216a0c4a8b..af4b0508be77 100644 --- a/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c +++ b/tools/usb/ffs-aio-example/multibuff/device_app/aio_multibuff.c | |||
@@ -1,3 +1,30 @@ | |||
1 | /* | ||
2 | * This is free and unencumbered software released into the public domain. | ||
3 | * | ||
4 | * Anyone is free to copy, modify, publish, use, compile, sell, or | ||
5 | * distribute this software, either in source code form or as a compiled | ||
6 | * binary, for any purpose, commercial or non-commercial, and by any | ||
7 | * means. | ||
8 | * | ||
9 | * In jurisdictions that recognize copyright laws, the author or authors | ||
10 | * of this software dedicate any and all copyright interest in the | ||
11 | * software to the public domain. We make this dedication for the benefit | ||
12 | * of the public at large and to the detriment of our heirs and | ||
13 | * successors. We intend this dedication to be an overt act of | ||
14 | * relinquishment in perpetuity of all present and future rights to this | ||
15 | * software under copyright law. | ||
16 | * | ||
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
18 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
20 | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
21 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
22 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
23 | * OTHER DEALINGS IN THE SOFTWARE. | ||
24 | * | ||
25 | * For more information, please refer to <http://unlicense.org/> | ||
26 | */ | ||
27 | |||
1 | #define _BSD_SOURCE /* for endian.h */ | 28 | #define _BSD_SOURCE /* for endian.h */ |
2 | 29 | ||
3 | #include <endian.h> | 30 | #include <endian.h> |
@@ -27,7 +54,9 @@ | |||
27 | /******************** Descriptors and Strings *******************************/ | 54 | /******************** Descriptors and Strings *******************************/ |
28 | 55 | ||
29 | static const struct { | 56 | static const struct { |
30 | struct usb_functionfs_descs_head header; | 57 | struct usb_functionfs_descs_head_v2 header; |
58 | __le32 fs_count; | ||
59 | __le32 hs_count; | ||
31 | struct { | 60 | struct { |
32 | struct usb_interface_descriptor intf; | 61 | struct usb_interface_descriptor intf; |
33 | struct usb_endpoint_descriptor_no_audio bulk_sink; | 62 | struct usb_endpoint_descriptor_no_audio bulk_sink; |
@@ -35,11 +64,12 @@ static const struct { | |||
35 | } __attribute__ ((__packed__)) fs_descs, hs_descs; | 64 | } __attribute__ ((__packed__)) fs_descs, hs_descs; |
36 | } __attribute__ ((__packed__)) descriptors = { | 65 | } __attribute__ ((__packed__)) descriptors = { |
37 | .header = { | 66 | .header = { |
38 | .magic = htole32(FUNCTIONFS_DESCRIPTORS_MAGIC), | 67 | .magic = htole32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), |
68 | .flags = htole32(FUNCTIONFS_HAS_FS_DESC | | ||
69 | FUNCTIONFS_HAS_HS_DESC), | ||
39 | .length = htole32(sizeof(descriptors)), | 70 | .length = htole32(sizeof(descriptors)), |
40 | .fs_count = 3, | ||
41 | .hs_count = 3, | ||
42 | }, | 71 | }, |
72 | .fs_count = htole32(3), | ||
43 | .fs_descs = { | 73 | .fs_descs = { |
44 | .intf = { | 74 | .intf = { |
45 | .bLength = sizeof(descriptors.fs_descs.intf), | 75 | .bLength = sizeof(descriptors.fs_descs.intf), |
@@ -61,6 +91,7 @@ static const struct { | |||
61 | .bmAttributes = USB_ENDPOINT_XFER_BULK, | 91 | .bmAttributes = USB_ENDPOINT_XFER_BULK, |
62 | }, | 92 | }, |
63 | }, | 93 | }, |
94 | .hs_count = htole32(3), | ||
64 | .hs_descs = { | 95 | .hs_descs = { |
65 | .intf = { | 96 | .intf = { |
66 | .bLength = sizeof(descriptors.hs_descs.intf), | 97 | .bLength = sizeof(descriptors.hs_descs.intf), |
diff --git a/tools/usb/ffs-aio-example/multibuff/host_app/test.c b/tools/usb/ffs-aio-example/multibuff/host_app/test.c index b0ad8747d03f..daa3abe6bebd 100644 --- a/tools/usb/ffs-aio-example/multibuff/host_app/test.c +++ b/tools/usb/ffs-aio-example/multibuff/host_app/test.c | |||
@@ -1,3 +1,30 @@ | |||
1 | /* | ||
2 | * This is free and unencumbered software released into the public domain. | ||
3 | * | ||
4 | * Anyone is free to copy, modify, publish, use, compile, sell, or | ||
5 | * distribute this software, either in source code form or as a compiled | ||
6 | * binary, for any purpose, commercial or non-commercial, and by any | ||
7 | * means. | ||
8 | * | ||
9 | * In jurisdictions that recognize copyright laws, the author or authors | ||
10 | * of this software dedicate any and all copyright interest in the | ||
11 | * software to the public domain. We make this dedication for the benefit | ||
12 | * of the public at large and to the detriment of our heirs and | ||
13 | * successors. We intend this dedication to be an overt act of | ||
14 | * relinquishment in perpetuity of all present and future rights to this | ||
15 | * software under copyright law. | ||
16 | * | ||
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
18 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
20 | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
21 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
22 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
23 | * OTHER DEALINGS IN THE SOFTWARE. | ||
24 | * | ||
25 | * For more information, please refer to <http://unlicense.org/> | ||
26 | */ | ||
27 | |||
1 | #include <libusb.h> | 28 | #include <libusb.h> |
2 | #include <stdio.h> | 29 | #include <stdio.h> |
3 | #include <string.h> | 30 | #include <string.h> |
diff --git a/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c b/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c index f558664a3317..adc310a6d489 100644 --- a/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c +++ b/tools/usb/ffs-aio-example/simple/device_app/aio_simple.c | |||
@@ -1,3 +1,30 @@ | |||
1 | /* | ||
2 | * This is free and unencumbered software released into the public domain. | ||
3 | * | ||
4 | * Anyone is free to copy, modify, publish, use, compile, sell, or | ||
5 | * distribute this software, either in source code form or as a compiled | ||
6 | * binary, for any purpose, commercial or non-commercial, and by any | ||
7 | * means. | ||
8 | * | ||
9 | * In jurisdictions that recognize copyright laws, the author or authors | ||
10 | * of this software dedicate any and all copyright interest in the | ||
11 | * software to the public domain. We make this dedication for the benefit | ||
12 | * of the public at large and to the detriment of our heirs and | ||
13 | * successors. We intend this dedication to be an overt act of | ||
14 | * relinquishment in perpetuity of all present and future rights to this | ||
15 | * software under copyright law. | ||
16 | * | ||
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
18 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
20 | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
21 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
22 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
23 | * OTHER DEALINGS IN THE SOFTWARE. | ||
24 | * | ||
25 | * For more information, please refer to <http://unlicense.org/> | ||
26 | */ | ||
27 | |||
1 | #define _BSD_SOURCE /* for endian.h */ | 28 | #define _BSD_SOURCE /* for endian.h */ |
2 | 29 | ||
3 | #include <endian.h> | 30 | #include <endian.h> |
@@ -25,7 +52,9 @@ | |||
25 | /******************** Descriptors and Strings *******************************/ | 52 | /******************** Descriptors and Strings *******************************/ |
26 | 53 | ||
27 | static const struct { | 54 | static const struct { |
28 | struct usb_functionfs_descs_head header; | 55 | struct usb_functionfs_descs_head_v2 header; |
56 | __le32 fs_count; | ||
57 | __le32 hs_count; | ||
29 | struct { | 58 | struct { |
30 | struct usb_interface_descriptor intf; | 59 | struct usb_interface_descriptor intf; |
31 | struct usb_endpoint_descriptor_no_audio bulk_sink; | 60 | struct usb_endpoint_descriptor_no_audio bulk_sink; |
@@ -33,11 +62,12 @@ static const struct { | |||
33 | } __attribute__ ((__packed__)) fs_descs, hs_descs; | 62 | } __attribute__ ((__packed__)) fs_descs, hs_descs; |
34 | } __attribute__ ((__packed__)) descriptors = { | 63 | } __attribute__ ((__packed__)) descriptors = { |
35 | .header = { | 64 | .header = { |
36 | .magic = htole32(FUNCTIONFS_DESCRIPTORS_MAGIC), | 65 | .magic = htole32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), |
66 | .flags = htole32(FUNCTIONFS_HAS_FS_DESC | | ||
67 | FUNCTIONFS_HAS_HS_DESC), | ||
37 | .length = htole32(sizeof(descriptors)), | 68 | .length = htole32(sizeof(descriptors)), |
38 | .fs_count = 3, | ||
39 | .hs_count = 3, | ||
40 | }, | 69 | }, |
70 | .fs_count = htole32(3), | ||
41 | .fs_descs = { | 71 | .fs_descs = { |
42 | .intf = { | 72 | .intf = { |
43 | .bLength = sizeof(descriptors.fs_descs.intf), | 73 | .bLength = sizeof(descriptors.fs_descs.intf), |
@@ -59,6 +89,7 @@ static const struct { | |||
59 | .bmAttributes = USB_ENDPOINT_XFER_BULK, | 89 | .bmAttributes = USB_ENDPOINT_XFER_BULK, |
60 | }, | 90 | }, |
61 | }, | 91 | }, |
92 | .hs_count = htole32(3), | ||
62 | .hs_descs = { | 93 | .hs_descs = { |
63 | .intf = { | 94 | .intf = { |
64 | .bLength = sizeof(descriptors.hs_descs.intf), | 95 | .bLength = sizeof(descriptors.hs_descs.intf), |
diff --git a/tools/usb/ffs-aio-example/simple/host_app/test.c b/tools/usb/ffs-aio-example/simple/host_app/test.c index 64b6a57d8ca3..acd6332811f3 100644 --- a/tools/usb/ffs-aio-example/simple/host_app/test.c +++ b/tools/usb/ffs-aio-example/simple/host_app/test.c | |||
@@ -1,3 +1,30 @@ | |||
1 | /* | ||
2 | * This is free and unencumbered software released into the public domain. | ||
3 | * | ||
4 | * Anyone is free to copy, modify, publish, use, compile, sell, or | ||
5 | * distribute this software, either in source code form or as a compiled | ||
6 | * binary, for any purpose, commercial or non-commercial, and by any | ||
7 | * means. | ||
8 | * | ||
9 | * In jurisdictions that recognize copyright laws, the author or authors | ||
10 | * of this software dedicate any and all copyright interest in the | ||
11 | * software to the public domain. We make this dedication for the benefit | ||
12 | * of the public at large and to the detriment of our heirs and | ||
13 | * successors. We intend this dedication to be an overt act of | ||
14 | * relinquishment in perpetuity of all present and future rights to this | ||
15 | * software under copyright law. | ||
16 | * | ||
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
18 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
20 | * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
21 | * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
22 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
23 | * OTHER DEALINGS IN THE SOFTWARE. | ||
24 | * | ||
25 | * For more information, please refer to <http://unlicense.org/> | ||
26 | */ | ||
27 | |||
1 | #include <libusb.h> | 28 | #include <libusb.h> |
2 | #include <stdio.h> | 29 | #include <stdio.h> |
3 | #include <string.h> | 30 | #include <string.h> |