VSF Documented
vsf_usb_HUB.h
Go to the documentation of this file.
1/*****************************************************************************
2 * Copyright(C)2009-2022 by VSF Team *
3 * *
4 * Licensed under the Apache License, Version 2.0 (the "License"); *
5 * you may not use this file except in compliance with the License. *
6 * You may obtain a copy of the License at *
7 * *
8 * http://www.apache.org/licenses/LICENSE-2.0 *
9 * *
10 * Unless required by applicable law or agreed to in writing, software *
11 * distributed under the License is distributed on an "AS IS" BASIS, *
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
13 * See the License for the specific language governing permissions and *
14 * limitations under the License. *
15 * *
16 ****************************************************************************/
17
18#ifndef __VSF_USB_HUB_H__
19#define __VSF_USB_HUB_H__
20
21/*============================ INCLUDES ======================================*/
22
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/*============================ MACROS ========================================*/
30
31#ifndef USB_MAXCHILDREN
32# define USB_MAXCHILDREN 31
33#endif
34
35/*============================ MACROFIED FUNCTIONS ===========================*/
36/*============================ TYPES =========================================*/
37
46
47 /* 2.0 and 3.0 hubs differ here */
48 union {
49 struct {
50 /* add 1 bit for hub status change; round to bytes */
54
55 struct {
62
68
72 USB_PORT_FEAT_SUSPEND = 2, /* L2 suspend */
75 USB_PORT_FEAT_L1 = 5, /* L1 suspend */
77 USB_PORT_FEAT_LOWSPEED = 9, /* Should never be used */
86};
87
100};
101
109};
110
111/*============================ GLOBAL VARIABLES ==============================*/
112/*============================ PROTOTYPES ====================================*/
113
114#ifdef __cplusplus
115}
116#endif
117
118#endif // __VSF_USB_HUB_H__
unsigned short uint16_t
Definition stdint.h:7
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_usb_HUB.h:39
uint8_t bDescLength
Definition vsf_usb_HUB.h:40
uint8_t bHubHdrDecLat
Definition vsf_usb_HUB.h:56
struct usb_hub_desc_t::@165::@167 ss
uint16_t DeviceRemovable
Definition vsf_usb_HUB.h:58
uint8_t bHubContrCurrent
Definition vsf_usb_HUB.h:45
uint8_t PortPwrCtrlMask[(USB_MAXCHILDREN+1+7)/8]
Definition vsf_usb_HUB.h:52
uint8_t bNbrPorts
Definition vsf_usb_HUB.h:42
uint8_t bDescriptorType
Definition vsf_usb_HUB.h:41
uint16_t wHubDelay
Definition vsf_usb_HUB.h:57
uint8_t bPwrOn2PwrGood
Definition vsf_usb_HUB.h:44
struct usb_hub_desc_t::@165::@166 hs
uint16_t wHubCharacteristics
Definition vsf_usb_HUB.h:43
union usb_hub_desc_t::@165 u
uint8_t DeviceRemovable[(USB_MAXCHILDREN+1+7)/8]
Definition vsf_usb_HUB.h:51
Definition vsf_usb_HUB.h:64
uint16_t wPortChange
Definition vsf_usb_HUB.h:66
uint16_t wPortStatus
Definition vsf_usb_HUB.h:65
usb_port_feature_t
Definition vsf_usb_HUB.h:69
@ USB_PORT_FEAT_POWER
Definition vsf_usb_HUB.h:76
@ USB_PORT_FEAT_OVER_CURRENT
Definition vsf_usb_HUB.h:73
@ USB_PORT_FEAT_SUSPEND
Definition vsf_usb_HUB.h:72
@ USB_PORT_FEAT_C_RESET
Definition vsf_usb_HUB.h:82
@ USB_PORT_FEAT_CONNECTION
Definition vsf_usb_HUB.h:70
@ USB_PORT_FEAT_C_CONNECTION
Definition vsf_usb_HUB.h:78
@ USB_PORT_FEAT_C_PORT_L1
Definition vsf_usb_HUB.h:85
@ USB_PORT_FEAT_LOWSPEED
Definition vsf_usb_HUB.h:77
@ USB_PORT_FEAT_C_SUSPEND
Definition vsf_usb_HUB.h:80
@ USB_PORT_FEAT_ENABLE
Definition vsf_usb_HUB.h:71
@ USB_PORT_FEAT_RESET
Definition vsf_usb_HUB.h:74
@ USB_PORT_FEAT_C_ENABLE
Definition vsf_usb_HUB.h:79
@ USB_PORT_FEAT_C_OVER_CURRENT
Definition vsf_usb_HUB.h:81
@ USB_PORT_FEAT_TEST
Definition vsf_usb_HUB.h:83
@ USB_PORT_FEAT_L1
Definition vsf_usb_HUB.h:75
@ USB_PORT_FEAT_INDICATOR
Definition vsf_usb_HUB.h:84
#define USB_MAXCHILDREN
Definition vsf_usb_HUB.h:32
struct usb_hub_desc_t VSF_CAL_PACKED
usb_port_state_t
Definition vsf_usb_HUB.h:88
@ USB_PORT_STAT_L1
Definition vsf_usb_HUB.h:94
@ USB_PORT_STAT_ENABLE
Definition vsf_usb_HUB.h:90
@ USB_PORT_STAT_OVERCURRENT
Definition vsf_usb_HUB.h:92
@ USB_PORT_STAT_HIGH_SPEED
Definition vsf_usb_HUB.h:97
@ USB_PORT_STAT_TEST
Definition vsf_usb_HUB.h:98
@ USB_PORT_STAT_LOW_SPEED
Definition vsf_usb_HUB.h:96
@ USB_PORT_STAT_POWER
Definition vsf_usb_HUB.h:95
@ USB_PORT_STAT_INDICATOR
Definition vsf_usb_HUB.h:99
@ USB_PORT_STAT_SUSPEND
Definition vsf_usb_HUB.h:91
@ USB_PORT_STAT_RESET
Definition vsf_usb_HUB.h:93
@ USB_PORT_STAT_CONNECTION
Definition vsf_usb_HUB.h:89
usb_port_change_t
Definition vsf_usb_HUB.h:102
@ USB_PORT_STAT_C_ENABLE
Definition vsf_usb_HUB.h:104
@ USB_PORT_STAT_C_OVERCURRENT
Definition vsf_usb_HUB.h:106
@ USB_PORT_STAT_C_RESET
Definition vsf_usb_HUB.h:107
@ USB_PORT_STAT_C_SUSPEND
Definition vsf_usb_HUB.h:105
@ USB_PORT_STAT_C_CONNECTION
Definition vsf_usb_HUB.h:103
@ USB_PORT_STAT_C_L1
Definition vsf_usb_HUB.h:108