|
XenevaOS
|


Go to the source code of this file.
| #define CTL_TRANSFER_TRT_IN_DATA 3 |
| #define CTL_TRANSFER_TRT_NO_DATA 0 |
| #define CTL_TRANSFER_TRT_OUT_DATA 2 |
| #define CTL_TRANSFER_TRT_RESV 1 |
| #define TRB_CMD_ADDRESS_DEV 11 |
| #define TRB_CMD_CONFIG_ENDPOINT 12 |
| #define TRB_CMD_DISABLE_SLOT 10 |
| #define TRB_CMD_ENABLE_SLOT 9 |
| #define TRB_CMD_EVALUATE_CTX 13 |
| #define TRB_CMD_FORCE_EVENT 18 |
| #define TRB_CMD_FORCE_HEADER 22 |
| #define TRB_CMD_GET_EXT_PROPERTY 24 |
| #define TRB_CMD_GET_PORT_BANDWIDTH 21 |
| #define TRB_CMD_NEGOTIATE_BANDWIDTH 19 |
| #define TRB_CMD_NO_OP 23 |
| #define TRB_CMD_RESET_DEV 17 |
| #define TRB_CMD_RESET_ENDPOINT 14 |
| #define TRB_CMD_SET_EXT_PROPERTY 25 |
| #define TRB_CMD_SET_LATENCY_TOLERANCE_VALUE 20 |
| #define TRB_CMD_SET_TR_DEQ_POINTER 16 |
| #define TRB_CMD_STOP_ENDPOINT 15 |
| #define TRB_EVENT_BANDWIDTH_REQUEST 35 |
| #define TRB_EVENT_CMD_COMPLETION 33 |
| #define TRB_EVENT_DEVICE_NOTIFICATION 38 |
| #define TRB_EVENT_DOORBELL 36 |
| #define TRB_EVENT_HOST_CONTROLLER 37 |
| #define TRB_EVENT_MFINDEX 39 |
| #define TRB_EVENT_PORT_STATUS_CHANGE 34 |
| #define TRB_EVENT_TRANSFER 32 |
| #define TRB_TRANSFER_DATA_STAGE 3 |
| #define TRB_TRANSFER_EVENT_DATA 7 |
| #define TRB_TRANSFER_ISOCH 5 |
| #define TRB_TRANSFER_LINK 6 |
| #define TRB_TRANSFER_NO_OP 8 |
| #define TRB_TRANSFER_NORMAL 1 |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| #define TRB_TRANSFER_SETUP_STAGE 2 |
| #define TRB_TRANSFER_STATUS_STAGE 4 |
| void XHCICreateSetupTRB | ( | XHCISlot * | slot, |
| uint8_t | rType, | ||
| uint8_t | bRequest, | ||
| uint16_t | value, | ||
| uint16_t | wIndex, | ||
| uint16_t | wLength, | ||
| uint8_t | trt | ||
| ) |
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| void XHCISendAddressDevice | ( | USBDevice * | dev, |
| XHCISlot * | slot, | ||
| uint8_t | bsr, | ||
| uint64_t | input_ctx_ptr, | ||
| uint8_t | slot_id | ||
| ) |
| void XHCISendControlCmd | ( | USBDevice * | dev, |
| XHCISlot * | slot, | ||
| uint8_t | slot_id, | ||
| const USB_REQUEST_PACKET * | request, | ||
| uint64_t | buffer_addr, | ||
| const size_t | len, | ||
| uint8_t | trt = CTL_TRANSFER_TRT_IN_DATA |
||
| ) |
| void XHCISendControlCmdEndp | ( | USBDevice * | dev, |
| XHCISlot * | slot, | ||
| uint8_t | slot_id, | ||
| const USB_REQUEST_PACKET * | request, | ||
| uint64_t | buffer_addr, | ||
| const size_t | len, | ||
| uint32_t | endpnum | ||
| ) |
|
extern |
| void XHCISendNormalTRB | ( | USBDevice * | dev, |
| XHCISlot * | slot, | ||
| uint64_t | data_buffer, | ||
| uint16_t | data_len, | ||
| XHCIEndpoint * | ep | ||
| ) |