96 typedef ATTR_PACKED_STRUCT(
struct){
100 uint16_t wHubCharacteristics;
101 uint8_t bPwrOn2PwrGood;
102 uint8_t bHubContrCurrent;
103 uint8_t DeviceRemovable;
104 uint8_t PortPwrCtrlMask;
110 HUB_REQUEST_GET_STATUS = 0 ,
111 HUB_REQUEST_CLEAR_FEATURE = 1 ,
113 HUB_REQUEST_SET_FEATURE = 3 ,
115 HUB_REQUEST_GET_DESCRIPTOR = 6 ,
116 HUB_REQUEST_SET_DESCRIPTOR = 7 ,
117 HUB_REQUEST_CLEAR_TT_BUFFER = 8 ,
118 HUB_REQUEST_RESET_TT = 9 ,
119 HUB_REQUEST_GET_TT_STATE = 10 ,
120 HUB_REQUEST_STOP_TT = 11
124 HUB_FEATURE_HUB_LOCAL_POWER_CHANGE = 0,
125 HUB_FEATURE_HUB_OVER_CURRENT_CHANGE
129 HUB_FEATURE_PORT_CONNECTION = 0,
130 HUB_FEATURE_PORT_ENABLE = 1,
131 HUB_FEATURE_PORT_SUSPEND = 2,
132 HUB_FEATURE_PORT_OVER_CURRENT = 3,
133 HUB_FEATURE_PORT_RESET = 4,
135 HUB_FEATURE_PORT_POWER = 8,
136 HUB_FEATURE_PORT_LOW_SPEED = 9,
138 HUB_FEATURE_PORT_CONNECTION_CHANGE = 16,
139 HUB_FEATURE_PORT_ENABLE_CHANGE = 17,
140 HUB_FEATURE_PORT_SUSPEND_CHANGE = 18,
141 HUB_FEATURE_PORT_OVER_CURRENT_CHANGE = 19,
142 HUB_FEATURE_PORT_RESET_CHANGE = 20,
143 HUB_FEATURE_PORT_TEST = 21,
144 HUB_FEATURE_PORT_INDICATOR = 22
150 ATTR_PACKED_STRUCT(
struct) {
151 uint16_t local_power_source : 1;
152 uint16_t over_current : 1;
157 } status, status_change;
165 ATTR_PACKED_STRUCT(
struct) {
166 uint16_t connect_status : 1;
167 uint16_t port_enable : 1;
168 uint16_t suspend : 1;
169 uint16_t over_current : 1;
173 uint16_t port_power : 1;
174 uint16_t low_speed_device_attached : 1;
175 uint16_t high_speed_device_attached : 1;
176 uint16_t port_test_mode : 1;
177 uint16_t port_indicator_control : 1;
182 } status_current, status_change;
187 tusb_error_t hub_port_reset_subtask(uint8_t hub_addr, uint8_t hub_port);
188 tusb_error_t hub_port_clear_feature_subtask(uint8_t hub_addr, uint8_t hub_port, uint8_t feature);
195 #ifdef _TINY_USB_SOURCE_FILE_
199 void hub_isr(
pipe_handle_t pipe_hdl, tusb_event_t event, uint32_t xferred_bytes);
200 void hub_close(uint8_t dev_addr);
USB Standard Interface Descriptor (section 9.6.1 table 9-12)
Definition: std_descriptors.h:90
tusb_speed_t
defined base on EHCI specs value for Endpoint Speed
Definition: tusb_types.h:51
#define ATTR_WARN_UNUSED_RESULT
The warn_unused_result attribute causes a warning to be emitted if a caller of the function with this...
Definition: compiler_gcc.h:118
uint8_t bLength
Size of descriptor.
Definition: hub.h:97
uint8_t bDescriptorType
Other_speed_Configuration Type.
Definition: hub.h:98
tusb_error_t
Error Code returned.
Definition: tusb_errors.h:100