Changes in uspace/drv/uhci/uhci.h [67a1b78:ea991e84] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/uhci/uhci.h
r67a1b78 rea991e84 1 1 /* 2 * Copyright (c) 2010 Jan Vesely2 * Copyright (c) 2010 Vojtech Horky 3 3 * All rights reserved. 4 4 * … … 26 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 27 */ 28 /** @addtogroup usb 28 29 /** @addtogroup drvusbuhci 29 30 * @{ 30 31 */ … … 35 36 #define DRV_UHCI_UHCI_H 36 37 37 #include <fibril.h>38 39 #include <usb/addrkeep.h>40 38 #include <usbhc_iface.h> 41 39 42 #include "root_hub/root_hub.h" 43 #include "transfer_list.h" 40 #define NAME "uhci" 44 41 45 typedef struct uhci_regs { 46 uint16_t usbcmd; 47 #define UHCI_CMD_MAX_PACKET (1 << 7) 48 #define UHCI_CMD_CONFIGURE (1 << 6) 49 #define UHCI_CMD_DEBUG (1 << 5) 50 #define UHCI_CMD_FORCE_GLOBAL_RESUME (1 << 4) 51 #define UHCI_CMD_FORCE_GLOBAL_SUSPEND (1 << 3) 52 #define UHCI_CMD_GLOBAL_RESET (1 << 2) 53 #define UHCI_CMD_HCRESET (1 << 1) 54 #define UHCI_CMD_RUN_STOP (1 << 0) 42 usbhc_iface_t uhci_iface; 55 43 56 uint16_t usbsts; 57 #define UHCI_STATUS_HALTED (1 << 5) 58 #define UHCI_STATUS_PROCESS_ERROR (1 << 4) 59 #define UHCI_STATUS_SYSTEM_ERROR (1 << 3) 60 #define UHCI_STATUS_RESUME (1 << 2) 61 #define UHCI_STATUS_ERROR_INTERRUPT (1 << 1) 62 #define UHCI_STATUS_INTERRUPT (1 << 0) 63 64 uint16_t usbintr; 65 uint16_t frnum; 66 uint32_t flbaseadd; 67 uint8_t sofmod; 68 } regs_t; 69 70 #define TRANSFER_QUEUES 4 71 #define UHCI_FRAME_LIST_COUNT 1024 72 #define UHCI_CLEANER_TIMEOUT 1000000 73 #define UHCI_DEBUGER_TIMEOUT 500000 74 75 typedef struct uhci { 76 usb_address_keeping_t address_manager; 77 uhci_root_hub_t root_hub; 78 volatile regs_t *registers; 79 80 link_pointer_t *frame_list; 81 82 transfer_list_t transfers[TRANSFER_QUEUES]; 83 fid_t cleaner; 84 fid_t debug_checker; 85 } uhci_t; 86 87 /* init uhci specifics in device.driver_data */ 88 int uhci_init( device_t *device, void *regs ); 89 90 int uhci_destroy( device_t *device ); 91 92 int uhci_transfer( 93 device_t *dev, 94 usb_target_t target, 95 usb_transfer_type_t transfer_type, 96 bool toggle, 97 usb_packet_id pid, 98 void *buffer, size_t size, 99 usbhc_iface_transfer_out_callback_t callback_out, 100 usbhc_iface_transfer_in_callback_t callback_in, 101 void *arg ); 44 int pci_get_my_registers(device_t *, uintptr_t *, size_t *, int *); 102 45 103 46 #endif
Note:
See TracChangeset
for help on using the changeset viewer.