Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / obp / obp / dev / usb-devices / hub / packets.fth
CommitLineData
920dae64
AT
1\ ========== Copyright Header Begin ==========================================
2\
3\ Hypervisor Software File: packets.fth
4\
5\ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6\
7\ - Do no alter or remove copyright notices
8\
9\ - Redistribution and use of this software in source and binary forms, with
10\ or without modification, are permitted provided that the following
11\ conditions are met:
12\
13\ - Redistribution of source code must retain the above copyright notice,
14\ this list of conditions and the following disclaimer.
15\
16\ - Redistribution in binary form must reproduce the above copyright notice,
17\ this list of conditions and the following disclaimer in the
18\ documentation and/or other materials provided with the distribution.
19\
20\ Neither the name of Sun Microsystems, Inc. or the names of contributors
21\ may be used to endorse or promote products derived from this software
22\ without specific prior written permission.
23\
24\ This software is provided "AS IS," without a warranty of any kind.
25\ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
26\ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
27\ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
28\ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
29\ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
30\ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
31\ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
32\ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
33\ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
34\ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
35\ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
36\
37\ You acknowledge that this software is not designed, licensed or
38\ intended for use in the design, construction, operation or maintenance of
39\ any nuclear facility.
40\
41\ ========== Copyright Header End ============================================
42id: @(#)packets.fth 1.6 01/06/28
43purpose:
44copyright: Copyright 1997-2001 Sun Microsystems, Inc. All Rights Reserved
45
46\ packet offsets for usb device requests
47
48struct
49 1 field request-type
50 1 field request
51 2 field req-value
52 2 field req-index
53 2 field req-len
54( request block size ) constant /request
55
56\ first two bytes of request block -- type and request together:
57
58h# 0001 constant clear-feature-req \ twiddle bits for interface, endpoint
59h# 8008 constant get-config-req
60h# 8006 constant get-descript-req
61h# 810a constant get-interface-req
62h# 8000 constant get-status-req \ twiddle bits for interface, endpoint
63h# 0005 constant set-address-req
64h# 0009 constant set-config-req
65h# 0003 constant set-feature-req \ twiddle bits for interface, endpoint
66h# 010b constant set-interface-req
67
68\ specific for hubs:
69
70h# 2001 constant clear-hub-feature-req
71h# 2301 constant clear-port-feature-req
72\ h# a302 constant get-port-bus-req
73h# a006 constant get-hub-descript-req
74h# a000 constant get-hub-status-req
75h# a300 constant get-port-status-req
76\ h# 2003 constant set-hub-feature-req
77h# 2303 constant set-port-feature-req
78
79\ descriptor types, used by get-descript-req:
80
811 constant device-descript
822 constant config-descript
833 constant string-descript
844 constant interface-descript
855 constant endpoint-descript
86
87h# 29 constant hub-descript \ for get-hub-descript-req
88
89\ Feature selectors:
90
910 constant endpoint-stall
92
93\ Feature selectors for hubs and ports:
94
950 constant c-hub-local-power
961 constant c-hub-over-current
97
980 constant port-connect
991 constant port-enable
1002 constant port-suspend
1013 constant port-over-current
1024 constant port-reset
1038 constant port-power
1049 constant port-low-speed
105d# 16 constant c-port-connection
106d# 17 constant c-port-enable
107d# 18 constant c-port-suspend
108d# 19 constant c-port-over-current
109d# 20 constant c-port-reset
110
111\ device descriptor fields:
112
113struct
114 1 field d-descript-len
115 1 field d-descript-type
116 2 field d-descript-release
117 1 field d-descript-class
118 1 field d-descript-sub
119 1 field d-descript-protocol
120 1 field d-descript-maxpkt
121 2 field d-descript-vendor
122 2 field d-descript-product
123 2 field d-descript-device
124 1 field d-descript-imanufact
125 1 field d-descript-iproduct
126 1 field d-descript-iserial
127 1 field d-descript-#configs
128( device descriptor size ) constant /dev-descriptor
129
130\ configuration descriptor fields:
131
132struct
133 1 field c-descript-len
134 1 field c-descript-type
135 2 field c-descript-total
136 1 field c-descript-#interfaces
137 1 field c-descript-config-id
138 1 field c-descript-iconfig
139 1 field c-descript-attributes
140 1 field c-descript-max-power
141( configuration descriptor size ) constant /config-descriptor
142
143\ interface descriptor fields:
144
145struct
146 1 field i-descript-len
147 1 field i-descript-type
148 1 field i-descript-interface-id
149 1 field i-descript-alt-id
150 1 field i-descript-#endpoints
151 1 field i-descript-class
152 1 field i-descript-sub
153 1 field i-descript-protocol
154 1 field i-descript-itext
155( interface descriptor size ) constant /interface-descriptor
156
157\ endpoint descriptor fields:
158
159struct
160 1 field e-descript-len
161 1 field e-descript-type
162 1 field e-descript-endpoint-id
163 1 field e-descript-attributes
164 2 field e-descript-max-pkt
165 1 field e-descript-interval
166( endpoint descriptor size ) constant /endpoint-descriptor
167
168
169\ hub descriptor fields:
170
171struct
172 1 field h-descript-len
173 1 field h-descript-type \ h# 29 for hub descriptor
174 1 field h-descript-#ports
175 2 field h-descript-attributes
176 1 field h-descript-power-on
177 1 field h-descript-current
178( hub descriptor size ) constant /hub-descriptor-fixed
179
180\ XXX There follows a variable number of device-removable bytes and
181\ a variable number of port-power-control bytes. The number depends on
182\ the number of ports on the hub, rounded up to a byte.
183
1845 constant no-response-error
1858 constant data-overrun-error