Ignore:
Timestamp:
2018-01-21T18:35:09Z (6 years ago)
Author:
Ondřej Hlavatý <aearsis@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3f02935
Parents:
32b2a6f2
Message:

usb: definition of status bits have changed between USB 2 and 3, remove the confusion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/usb/include/usb/classes/hub.h

    r32b2a6f2 rcd3fa47  
    4848        USB_HUB_FEATURE_HUB_OVER_CURRENT = 1,
    4949        USB_HUB_FEATURE_PORT_CONNECTION = 0,
    50         USB_HUB_FEATURE_PORT_ENABLE = 1,
    51         USB_HUB_FEATURE_PORT_SUSPEND = 2,
     50        USB2_HUB_FEATURE_PORT_ENABLE = 1,
     51        USB2_HUB_FEATURE_PORT_SUSPEND = 2,
    5252        USB_HUB_FEATURE_PORT_OVER_CURRENT = 3,
    5353        USB_HUB_FEATURE_PORT_RESET = 4,
     54        USB3_HUB_FEATURE_PORT_LINK_STATE = 5,
    5455        USB_HUB_FEATURE_PORT_POWER = 8,
    55         USB_HUB_FEATURE_PORT_LOW_SPEED = 9,
    56         USB_HUB_FEATURE_PORT_HIGH_SPEED = 10,
     56        USB2_HUB_FEATURE_PORT_LOW_SPEED = 9,
    5757        USB_HUB_FEATURE_C_PORT_CONNECTION = 16,
    58         USB_HUB_FEATURE_C_PORT_ENABLE = 17,
    59         USB_HUB_FEATURE_C_PORT_SUSPEND = 18,
     58        USB2_HUB_FEATURE_C_PORT_ENABLE = 17,
     59        USB2_HUB_FEATURE_C_PORT_SUSPEND = 18,
    6060        USB_HUB_FEATURE_C_PORT_OVER_CURRENT = 19,
    6161        USB_HUB_FEATURE_C_PORT_RESET = 20,
    62         USB_HUB_FEATURE_C_PORT_LINK_STATE = 22,
    63         USB_HUB_FEATURE_PORT_TEST = 21,
    64         USB_HUB_FEATURE_PORT_INDICATOR = 22
     62        USB2_HUB_FEATURE_PORT_TEST = 21,
     63        USB2_HUB_FEATURE_PORT_INDICATOR = 22,
     64        USB3_HUB_FEATURE_C_PORT_LINK_STATE = 25,
     65        USB3_HUB_FEATURE_BH_PORT_RESET = 28,
     66        USB3_HUB_FEATURE_C_BH_PORT_RESET = 29,
    6567        /* USB_HUB_FEATURE_ = , */
    6668} usb_hub_class_feature_t;
    6769
     70/**
     71 * Dword holding port status and changes flags.
     72 *
     73 * For more information refer to tables 11-15 and 11-16 in
     74 * "Universal Serial Bus Specification Revision 1.1" pages 274 and 277
     75 * (290 and 293 in pdf)
     76 *
     77 * Beware that definition of bits changed between USB 2 and 3,
     78 * so some fields are prefixed with USB2 or USB3 instead.
     79 */
     80typedef uint32_t usb_port_status_t;
     81
     82#define USB_HUB_PORT_STATUS_BIT(bit)  (uint32_usb2host(1 << (bit)))
     83#define USB_HUB_PORT_STATUS_CONNECTION          USB_HUB_PORT_STATUS_BIT(0)
     84#define USB_HUB_PORT_STATUS_ENABLE              USB_HUB_PORT_STATUS_BIT(1)
     85#define USB2_HUB_PORT_STATUS_SUSPEND            USB_HUB_PORT_STATUS_BIT(2)
     86#define USB_HUB_PORT_STATUS_OC                  USB_HUB_PORT_STATUS_BIT(3)
     87#define USB_HUB_PORT_STATUS_RESET               USB_HUB_PORT_STATUS_BIT(4)
     88
     89#define USB2_HUB_PORT_STATUS_POWER              USB_HUB_PORT_STATUS_BIT(8)
     90#define USB2_HUB_PORT_STATUS_LOW_SPEED          USB_HUB_PORT_STATUS_BIT(9)
     91#define USB3_HUB_PORT_STATUS_POWER              USB_HUB_PORT_STATUS_BIT(9)
     92#define USB2_HUB_PORT_STATUS_HIGH_SPEED         USB_HUB_PORT_STATUS_BIT(10)
     93#define USB2_HUB_PORT_STATUS_TEST               USB_HUB_PORT_STATUS_BIT(11)
     94#define USB2_HUB_PORT_STATUS_INDICATOR          USB_HUB_PORT_STATUS_BIT(12)
     95
     96#define USB_HUB_PORT_STATUS_C_CONNECTION        USB_HUB_PORT_STATUS_BIT(16)
     97#define USB2_HUB_PORT_STATUS_C_ENABLE           USB_HUB_PORT_STATUS_BIT(17)
     98#define USB2_HUB_PORT_STATUS_C_SUSPEND          USB_HUB_PORT_STATUS_BIT(18)
     99#define USB_HUB_PORT_STATUS_C_OC                USB_HUB_PORT_STATUS_BIT(19)
     100#define USB_HUB_PORT_STATUS_C_RESET             USB_HUB_PORT_STATUS_BIT(20)
     101#define USB3_HUB_PORT_STATUS_C_BH_RESET         USB_HUB_PORT_STATUS_BIT(21)
     102#define USB3_HUB_PORT_STATUS_C_LINK_STATE       USB_HUB_PORT_STATUS_BIT(22)
     103#define USB3_HUB_PORT_STATUS_C_CONFIG_ERROR     USB_HUB_PORT_STATUS_BIT(23)
    68104
    69105/** Header of standard hub descriptor without the "variadic" part. */
Note: See TracChangeset for help on using the changeset viewer.