1 /* 2 * Copyright (c) 2022 Emerson Electric Co. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 /** 8 * @file 9 * @brief USB Hub Class device API header 10 */ 11 12 #ifndef ZEPHYR_INCLUDE_USB_CLASS_USB_HUB_H_ 13 #define ZEPHYR_INCLUDE_USB_CLASS_USB_HUB_H_ 14 15 /** USB Hub Class Feature Selectors defined in spec. Table 11-17 */ 16 #define USB_HCFS_C_HUB_LOCAL_POWER 0x00 17 #define USB_HCFS_C_HUB_OVER_CURRENT 0x01 18 #define USB_HCFS_PORT_CONNECTION 0x00 19 #define USB_HCFS_PORT_ENABLE 0x01 20 #define USB_HCFS_PORT_SUSPEND 0x02 21 #define USB_HCFS_PORT_OVER_CURRENT 0x03 22 #define USB_HCFS_PORT_RESET 0x04 23 #define USB_HCFS_PORT_POWER 0x08 24 #define USB_HCFS_PORT_LOW_SPEED 0x09 25 #define USB_HCFS_C_PORT_CONNECTION 0x10 26 #define USB_HCFS_C_PORT_ENABLE 0x11 27 #define USB_HCFS_C_PORT_SUSPEND 0x12 28 #define USB_HCFS_C_PORT_OVER_CURRENT 0x13 29 #define USB_HCFS_C_PORT_RESET 0x14 30 #define USB_HCFS_PORT_TEST 0x15 31 #define USB_HCFS_PORT_INDICATOR 0x16 32 33 /** USB Hub Class Request Codes defined in spec. Table 11-16 */ 34 #define USB_HCREQ_GET_STATUS 0x00 35 #define USB_HCREQ_CLEAR_FEATURE 0x01 36 #define USB_HCREQ_SET_FEATURE 0x03 37 #define USB_HCREQ_GET_DESCRIPTOR 0x06 38 #define USB_HCREQ_SET_DESCRIPTOR 0x07 39 #define USB_HCREQ_CLEAR_TT_BUFFER 0x08 40 #define USB_HCREQ_RESET_TT 0x09 41 #define USB_HCREQ_GET_TT_STATE 0x0A 42 #define USB_HCREQ_STOP_TT 0x0B 43 44 #endif /* ZEPHYR_INCLUDE_USB_CLASS_USB_HUB_H_ */ 45