2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
12 .\" Copyright 2016 Joyent, Inc.
15 .Dt USB_EP_SS_COMP_DESCR 9S
18 .Nm usb_ep_ss_comp_descr ,
19 .Nm usb_ep_ss_comp_descr_t
20 .Nd USB endpoint SuperSpeed Companion Descriptor
27 .Sy usb_ep_ss_comp_descr_t
28 structure defines additional endpoint attributes for USB 3.0 and newer
30 This structure is considered a
31 .Em companion descriptor .
32 On its own, it does not uniquely define an endpoint.
33 A standard USB descriptor is still required.
36 for the definition of the standard descriptor.
38 If available, the SuperSpeed companion descriptor can be accessed by
39 getting the endpoint data through a call to
40 .Xr usb_lookup_ep_data 9F .
41 These descriptors are required to open pipes for USB 3.0 and newer
43 They can be assembled into the proper format for
46 .Xr usb_ep_xdescr_fill 9F .
48 This structure is formally defined in section 9.6.7 of the USB 3.1
51 .Bd -literal -offset indent
53 uint8_t bDescriptorType;
56 uint16_t wBytesPerInterval;
61 member is always set to the size of this descriptor, which is usually
66 member should be set to the macro
67 .Sy USB_DESCR_TYPE_SS_EP_COMP
72 member indicates the maximum number of packets that the endpoint can
74 Valid values range from 0 to 15 and the values are one less than the number of
76 A value of 0 indicates that 1 packet can be sent in a burst.
77 A value of 15 indicates that 16 packets can be sent in a burst.
81 member indicates different attributes of the endpoint.
82 This member is reserved and should be zero for
92 member is used to indicate the maximum number of streams that the device
94 The first five bits (4:0) are used, the remaining 3 bits are reserved and should
96 Values range from 0 to 16.
97 A value of zero indicates that streams are not supported.
98 Otherwise, it indicates that the device supports 2 raised to the value number of
100 A value of 3, indicates 2^3 streams are supported.
106 member is used to indicate the value of the
108 property, a value used to calculate the maximum number of packets the
109 device and receive in a service interval.
110 The first two bits (1:0) are used to determine the mult.
111 The remaining 6 bits (7:2) are reserved and should be set to zero.
114 .Sy wBytesPerInterval
115 member is used to indicate the total number of bytes that can be
116 transferred in one service interval.
117 Note, this is only valid for
121 (periodic) endpoints.
123 .Xr usb_ep_xdescr_fill 9F ,
124 .Xr usb_pipe_xopen 9F ,
125 .Xr usb_ep_descr 9S ,
128 .%T Universal Serial Bus 3.1 Specification