/USBX-v6.2.1/common/usbx_host_controllers/src/ |
D | ux_hcd_ehci_initialize.c | 37 #define UX_HCD_EHCI_EXT_USB_HOST_MODE_ENABLE(hcd_ehci) do \ argument 39 _ux_hcd_ehci_register_write(hcd_ehci, (hcd_ehci -> ux_hcd_ehci_hcor + 0x1A), 0x03); \ 42 #define UX_HCD_EHCI_EXT_USB_HOST_MODE_ENABLE(hcd_ehci) argument 129 UX_HCD_EHCI *hcd_ehci; in _ux_hcd_ehci_initialize() 147 hcd_ehci = _ux_utility_memory_allocate(UX_NO_ALIGN, UX_REGULAR_MEMORY, sizeof(UX_HCD_EHCI)); in _ux_hcd_ehci_initialize() 148 if (hcd_ehci == UX_NULL) in _ux_hcd_ehci_initialize() 152 hcd -> ux_hcd_controller_hardware = (VOID *) hcd_ehci; in _ux_hcd_ehci_initialize() 155 hcd_ehci -> ux_hcd_ehci_base = (ULONG *) hcd -> ux_hcd_io; in _ux_hcd_ehci_initialize() 159 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCCR_CAP_LENGTH); in _ux_hcd_ehci_initialize() 160 hcd_ehci -> ux_hcd_ehci_hcor = (ehci_register & 0xff) >> 2; in _ux_hcd_ehci_initialize() [all …]
|
D | ux_hcd_ehci_entry.c | 98 UX_HCD_EHCI *hcd_ehci; in _ux_hcd_ehci_entry() local 115 hcd_ehci = (UX_HCD_EHCI *) hcd -> ux_hcd_controller_hardware; in _ux_hcd_ehci_entry() 123 status = _ux_hcd_ehci_controller_disable(hcd_ehci); in _ux_hcd_ehci_entry() 128 status = _ux_hcd_ehci_port_status_get(hcd_ehci, (ULONG) parameter); in _ux_hcd_ehci_entry() 140 status = _ux_hcd_ehci_port_disable(hcd_ehci, (ULONG) parameter); in _ux_hcd_ehci_entry() 146 status = _ux_hcd_ehci_power_on_port(hcd_ehci, (ULONG) parameter); in _ux_hcd_ehci_entry() 152 status = _ux_hcd_ehci_power_down_port(hcd_ehci, (ULONG) parameter); in _ux_hcd_ehci_entry() 157 status = _ux_hcd_ehci_port_suspend(hcd_ehci, (ULONG) parameter); in _ux_hcd_ehci_entry() 163 status = _ux_hcd_ehci_port_resume(hcd_ehci, (UINT) parameter); in _ux_hcd_ehci_entry() 169 status = _ux_hcd_ehci_port_reset(hcd_ehci, (ULONG) parameter); in _ux_hcd_ehci_entry() [all …]
|
D | ux_hcd_ehci_port_reset.c | 42 #define UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, on_off) do \ argument 67 #define UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, on_off) do \ argument 70 if ((ULONG)hcd_ehci -> ux_hcd_ehci_base == UX_EHCI_BASE1) \ 81 #define UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, on_off) argument 132 UINT _ux_hcd_ehci_port_reset(UX_HCD_EHCI *hcd_ehci, ULONG port_index) in _ux_hcd_ehci_port_reset() argument 140 if (hcd_ehci -> ux_hcd_ehci_nb_root_hubs < port_index) in _ux_hcd_ehci_port_reset() 154 … ehci_register_port_status = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_PORT_SC + port_index); in _ux_hcd_ehci_port_reset() 171 …if ((ehci_register_port_status & EHCI_HC_PS_SPEED_MASK) != EHCI_HC_PS_SPEED_LOW || (hcd_ehci -> ux… in _ux_hcd_ehci_port_reset() 178 UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, UX_FALSE); in _ux_hcd_ehci_port_reset() 182 …_ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_PORT_SC + port_index, (ehci_register_port_status |… in _ux_hcd_ehci_port_reset() [all …]
|
D | ux_hcd_ehci_done_queue_process.c | 87 VOID _ux_hcd_ehci_done_queue_process(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_done_queue_process() argument 99 _ux_host_mutex_on(&hcd_ehci -> ux_hcd_ehci_periodic_mutex); in _ux_hcd_ehci_done_queue_process() 100 lp.itd_ptr = hcd_ehci -> ux_hcd_ehci_hsiso_scan_list; in _ux_hcd_ehci_done_queue_process() 105 lp.itd_ptr = _ux_hcd_ehci_hsisochronous_tds_process(hcd_ehci, lp.itd_ptr); in _ux_hcd_ehci_done_queue_process() 107 _ux_host_mutex_off(&hcd_ehci -> ux_hcd_ehci_periodic_mutex); in _ux_hcd_ehci_done_queue_process() 112 _ux_host_mutex_on(&hcd_ehci -> ux_hcd_ehci_periodic_mutex); in _ux_hcd_ehci_done_queue_process() 113 lp.sitd_ptr = hcd_ehci -> ux_hcd_ehci_fsiso_scan_list; in _ux_hcd_ehci_done_queue_process() 118 lp.sitd_ptr = _ux_hcd_ehci_fsisochronous_tds_process(hcd_ehci, lp.sitd_ptr); in _ux_hcd_ehci_done_queue_process() 120 _ux_host_mutex_off(&hcd_ehci -> ux_hcd_ehci_periodic_mutex); in _ux_hcd_ehci_done_queue_process() 126 _ux_host_mutex_on(&hcd_ehci -> ux_hcd_ehci_periodic_mutex); in _ux_hcd_ehci_done_queue_process() [all …]
|
D | ux_hcd_ehci_door_bell_wait.c | 80 VOID _ux_hcd_ehci_door_bell_wait(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_door_bell_wait() argument 88 status = _ux_host_semaphore_get(&hcd_ehci -> ux_hcd_ehci_protect_semaphore, UX_WAIT_FOREVER); in _ux_hcd_ehci_door_bell_wait() 93 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_USB_COMMAND); in _ux_hcd_ehci_door_bell_wait() 95 _ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_USB_COMMAND, ehci_register); in _ux_hcd_ehci_door_bell_wait() 98 _ux_host_semaphore_get_norc(&hcd_ehci -> ux_hcd_ehci_doorbell_semaphore, UX_WAIT_FOREVER); in _ux_hcd_ehci_door_bell_wait() 101 _ux_host_semaphore_put(&hcd_ehci -> ux_hcd_ehci_protect_semaphore); in _ux_hcd_ehci_door_bell_wait()
|
D | ux_hcd_ehci_interrupt_handler.c | 92 UX_HCD_EHCI *hcd_ehci; in _ux_hcd_ehci_interrupt_handler() local 110 hcd_ehci = (UX_HCD_EHCI *) hcd -> ux_hcd_controller_hardware; in _ux_hcd_ehci_interrupt_handler() 117 hcd_ehci -> ux_hcd_ehci_interrupt_count++; in _ux_hcd_ehci_interrupt_handler() 120 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_USB_STATUS); in _ux_hcd_ehci_interrupt_handler() 124 _ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_USB_STATUS, ehci_register); in _ux_hcd_ehci_interrupt_handler() 141 _ux_hcd_ehci_controller_disable(hcd_ehci); in _ux_hcd_ehci_interrupt_handler() 156 … for (port_index = 0; port_index < hcd_ehci -> ux_hcd_ehci_nb_root_hubs; port_index++) in _ux_hcd_ehci_interrupt_handler() 160 … ehci_register_port_status = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_PORT_SC + port_index); in _ux_hcd_ehci_interrupt_handler() 188 _ux_host_semaphore_put(&hcd_ehci -> ux_hcd_ehci_doorbell_semaphore); in _ux_hcd_ehci_interrupt_handler()
|
D | ux_hcd_ehci_power_root_hubs.c | 75 VOID _ux_hcd_ehci_power_root_hubs(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_power_root_hubs() argument 84 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCCR_HCS_PARAMS); in _ux_hcd_ehci_power_root_hubs() 90 for (port_index = 0; port_index < hcd_ehci -> ux_hcd_ehci_nb_root_hubs; port_index++) in _ux_hcd_ehci_power_root_hubs() 94 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_PORT_SC + port_index); in _ux_hcd_ehci_power_root_hubs() 97 …_ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_PORT_SC + port_index, ehci_register | EHCI_HC_PS_P… in _ux_hcd_ehci_power_root_hubs()
|
D | ux_hcd_ehci_controller_disable.c | 78 UINT _ux_hcd_ehci_controller_disable(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_controller_disable() argument 86 hcd = hcd_ehci -> ux_hcd_ehci_hcd_owner; in _ux_hcd_ehci_controller_disable() 89 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_USB_COMMAND); in _ux_hcd_ehci_controller_disable() 92 _ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_USB_COMMAND, ehci_register); in _ux_hcd_ehci_controller_disable() 99 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCCR_HCS_PARAMS); in _ux_hcd_ehci_controller_disable()
|
D | ux_hcd_ehci_request_transfer.c | 82 UINT _ux_hcd_ehci_request_transfer(UX_HCD_EHCI *hcd_ehci, UX_TRANSFER *transfer_request) in _ux_hcd_ehci_request_transfer() argument 101 status = _ux_hcd_ehci_request_control_transfer(hcd_ehci, transfer_request); in _ux_hcd_ehci_request_transfer() 107 status = _ux_hcd_ehci_request_bulk_transfer(hcd_ehci, transfer_request); in _ux_hcd_ehci_request_transfer() 113 status = _ux_hcd_ehci_request_interrupt_transfer(hcd_ehci, transfer_request); in _ux_hcd_ehci_request_transfer() 119 status = _ux_hcd_ehci_request_isochronous_transfer(hcd_ehci, transfer_request); in _ux_hcd_ehci_request_transfer()
|
D | ux_hcd_ehci_periodic_tree_create.c | 77 UINT _ux_hcd_ehci_periodic_tree_create(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_periodic_tree_create() argument 101 ed = _ux_hcd_ehci_ed_obtain(hcd_ehci); in _ux_hcd_ehci_periodic_tree_create() 152 if (hcd_ehci -> ux_hcd_ehci_frame_list_size == 0) in _ux_hcd_ehci_periodic_tree_create() 155 hcd_ehci -> ux_hcd_ehci_frame_list_size = UX_EHCI_FRAME_LIST_ENTRIES; in _ux_hcd_ehci_periodic_tree_create() 165 …*(hcd_ehci -> ux_hcd_ehci_frame_list+current_list_entry) = (UX_EHCI_ED *) _ux_utility_physical_ad… in _ux_hcd_ehci_periodic_tree_create() 172 lp.ed_ptr = hcd_ehci -> ux_hcd_ehci_frame_list[current_list_entry]; in _ux_hcd_ehci_periodic_tree_create() 174 hcd_ehci -> ux_hcd_ehci_frame_list[current_list_entry] = lp.ed_ptr; in _ux_hcd_ehci_periodic_tree_create() 179 …for (current_list_entry = 32; current_list_entry < hcd_ehci -> ux_hcd_ehci_frame_list_size; curren… in _ux_hcd_ehci_periodic_tree_create() 180 …hcd_ehci -> ux_hcd_ehci_frame_list[current_list_entry] = hcd_ehci -> ux_hcd_ehci_frame_list[curre… in _ux_hcd_ehci_periodic_tree_create()
|
D | ux_hcd_ehci_port_status_get.c | 42 #define UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, on_off) do \ argument 67 #define UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, on_off) do \ argument 70 if ((ULONG)hcd_ehci -> ux_hcd_ehci_base == UX_EHCI_BASE1) \ 81 #define UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, on_off) argument 155 ULONG _ux_hcd_ehci_port_status_get(UX_HCD_EHCI *hcd_ehci, ULONG port_index) in _ux_hcd_ehci_port_status_get() argument 163 if (hcd_ehci -> ux_hcd_ehci_nb_root_hubs < port_index) in _ux_hcd_ehci_port_status_get() 178 … ehci_register_port_status = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_PORT_SC + port_index); in _ux_hcd_ehci_port_status_get() 187 UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, UX_FALSE); in _ux_hcd_ehci_port_status_get() 200 UX_HCD_EHCI_EXT_USBPHY_HIGHSPEED_MODE_SET(hcd_ehci, UX_FALSE); in _ux_hcd_ehci_port_status_get() 222 if (hcd_ehci -> ux_hcd_ehci_embedded_tt == UX_TRUE) in _ux_hcd_ehci_port_status_get()
|
D | ux_hcd_ehci_port_disable.c | 75 UINT _ux_hcd_ehci_port_disable(UX_HCD_EHCI *hcd_ehci, ULONG port_index) in _ux_hcd_ehci_port_disable() argument 82 if (hcd_ehci -> ux_hcd_ehci_nb_root_hubs < port_index) in _ux_hcd_ehci_port_disable() 95 … ehci_register_port_status = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_PORT_SC + port_index); in _ux_hcd_ehci_port_disable() 101 … _ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_PORT_SC + port_index, ehci_register_port_status); in _ux_hcd_ehci_port_disable()
|
D | ux_hcd_ehci_port_suspend.c | 74 UINT _ux_hcd_ehci_port_suspend(UX_HCD_EHCI *hcd_ehci, ULONG port_index) in _ux_hcd_ehci_port_suspend() argument 79 if (hcd_ehci -> ux_hcd_ehci_nb_root_hubs < port_index) in _ux_hcd_ehci_port_suspend() 92 … ehci_register_port_status = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_PORT_SC + port_index); in _ux_hcd_ehci_port_suspend() 104 … _ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_PORT_SC + port_index, ehci_register_port_status); in _ux_hcd_ehci_port_suspend()
|
D | ux_hcd_ehci_frame_number_set.c | 75 VOID _ux_hcd_ehci_frame_number_set(UX_HCD_EHCI *hcd_ehci, ULONG frame_number) in _ux_hcd_ehci_frame_number_set() argument 83 ehci_register = _ux_hcd_ehci_register_read(hcd_ehci, EHCI_HCOR_USB_COMMAND); in _ux_hcd_ehci_frame_number_set() 92 _ux_hcd_ehci_register_write(hcd_ehci, EHCI_HCOR_FRAME_INDEX, ehci_register); in _ux_hcd_ehci_frame_number_set()
|
D | ux_hcd_ehci_asynchronous_endpoint_create.c | 80 UINT _ux_hcd_ehci_asynchronous_endpoint_create(UX_HCD_EHCI *hcd_ehci, UX_ENDPOINT *endpoint) in _ux_hcd_ehci_asynchronous_endpoint_create() argument 94 ed = _ux_hcd_ehci_ed_obtain(hcd_ehci); in _ux_hcd_ehci_asynchronous_endpoint_create() 161 queue_head.void_ptr = _ux_utility_physical_address(hcd_ehci -> ux_hcd_ehci_asynch_first_list); in _ux_hcd_ehci_asynchronous_endpoint_create() 164 ed -> ux_ehci_ed_next_ed = hcd_ehci -> ux_hcd_ehci_asynch_first_list; in _ux_hcd_ehci_asynchronous_endpoint_create() 169 hcd_ehci -> ux_hcd_ehci_asynch_last_list -> ux_ehci_ed_queue_head = queue_head.ed_ptr; in _ux_hcd_ehci_asynchronous_endpoint_create() 170 ed -> ux_ehci_ed_previous_ed = hcd_ehci -> ux_hcd_ehci_asynch_last_list; in _ux_hcd_ehci_asynchronous_endpoint_create() 176 hcd_ehci -> ux_hcd_ehci_asynch_last_list = ed; in _ux_hcd_ehci_asynchronous_endpoint_create()
|
D | ux_hcd_ehci_asynchronous_endpoint_destroy.c | 75 UINT _ux_hcd_ehci_asynchronous_endpoint_destroy(UX_HCD_EHCI *hcd_ehci, UX_ENDPOINT *endpoint) in _ux_hcd_ehci_asynchronous_endpoint_destroy() argument 105 if (hcd_ehci -> ux_hcd_ehci_asynch_last_list == ed) in _ux_hcd_ehci_asynchronous_endpoint_destroy() 106 hcd_ehci -> ux_hcd_ehci_asynch_last_list = previous_ed; in _ux_hcd_ehci_asynchronous_endpoint_destroy() 109 _ux_hcd_ehci_door_bell_wait(hcd_ehci); in _ux_hcd_ehci_asynchronous_endpoint_destroy()
|
D | ux_hcd_ehci_hsisochronous_td_obtain.c | 75 UX_EHCI_HSISO_TD *_ux_hcd_ehci_hsisochronous_td_obtain(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_hsisochronous_td_obtain() argument 80 UX_PARAMETER_NOT_USED(hcd_ehci); in _ux_hcd_ehci_hsisochronous_td_obtain() 89 td = hcd_ehci -> ux_hcd_ehci_hsiso_td_list; in _ux_hcd_ehci_hsisochronous_td_obtain()
|
D | ux_hcd_ehci_register_read.c | 74 ULONG _ux_hcd_ehci_register_read(UX_HCD_EHCI *hcd_ehci, ULONG ehci_register) in _ux_hcd_ehci_register_read() argument 78 return(*(hcd_ehci -> ux_hcd_ehci_base + ehci_register)); in _ux_hcd_ehci_register_read()
|
D | ux_hcd_ehci_fsisochronous_td_obtain.c | 75 UX_EHCI_FSISO_TD *_ux_hcd_ehci_fsisochronous_td_obtain(UX_HCD_EHCI *hcd_ehci) in _ux_hcd_ehci_fsisochronous_td_obtain() argument 80 UX_PARAMETER_NOT_USED(hcd_ehci); in _ux_hcd_ehci_fsisochronous_td_obtain() 89 td = hcd_ehci -> ux_hcd_ehci_fsiso_td_list; in _ux_hcd_ehci_fsisochronous_td_obtain()
|
D | ux_hcd_ehci_fsisochronous_tds_process.c | 82 UX_HCD_EHCI *hcd_ehci, in _ux_hcd_ehci_fsisochronous_tds_process() argument 86 UX_PARAMETER_NOT_USED(hcd_ehci); in _ux_hcd_ehci_fsisochronous_tds_process()
|
D | ux_hcd_ehci_power_on_port.c | 73 UINT _ux_hcd_ehci_power_on_port(UX_HCD_EHCI *hcd_ehci, ULONG port_index) in _ux_hcd_ehci_power_on_port() argument 76 UX_PARAMETER_NOT_USED(hcd_ehci); in _ux_hcd_ehci_power_on_port()
|
D | ux_hcd_ehci_port_resume.c | 73 UINT _ux_hcd_ehci_port_resume(UX_HCD_EHCI *hcd_ehci, UINT port_index) in _ux_hcd_ehci_port_resume() argument 76 UX_PARAMETER_NOT_USED(hcd_ehci); in _ux_hcd_ehci_port_resume()
|
D | ux_hcd_ehci_power_down_port.c | 74 UINT _ux_hcd_ehci_power_down_port(UX_HCD_EHCI *hcd_ehci, ULONG port_index) in _ux_hcd_ehci_power_down_port() argument 77 UX_PARAMETER_NOT_USED(hcd_ehci); in _ux_hcd_ehci_power_down_port()
|
D | ux_hcd_ehci_register_write.c | 74 VOID _ux_hcd_ehci_register_write(UX_HCD_EHCI *hcd_ehci, ULONG ehci_register, ULONG value) in _ux_hcd_ehci_register_write() argument 78 *(hcd_ehci -> ux_hcd_ehci_base + ehci_register) = value; in _ux_hcd_ehci_register_write()
|
/USBX-v6.2.1/common/usbx_host_controllers/inc/ |
D | ux_hcd_ehci.h | 105 #define EHCI_HCOR_USB_COMMAND (hcd_ehci -> ux_hcd_ehci_hcor + 0x00) 106 #define EHCI_HCOR_USB_STATUS (hcd_ehci -> ux_hcd_ehci_hcor + 0x01) 107 #define EHCI_HCOR_USB_INTERRUPT (hcd_ehci -> ux_hcd_ehci_hcor + 0x02) 108 #define EHCI_HCOR_FRAME_INDEX (hcd_ehci -> ux_hcd_ehci_hcor + 0x03) 109 #define EHCI_HCOR_FRAME_LIST_BASE_ADDRESS (hcd_ehci -> ux_hcd_ehci_hcor + 0x05) 110 #define EHCI_HCOR_ASYNCH_LIST_ADDRESS (hcd_ehci -> ux_hcd_ehci_hcor + 0x06) 111 #define EHCI_HCOR_CONFIG_FLAG (hcd_ehci -> ux_hcd_ehci_hcor + 0x10) 112 #define EHCI_HCOR_PORT_SC (hcd_ehci -> ux_hcd_ehci_hcor + 0x11) 796 UX_EHCI_HSISO_TD *_ux_hcd_ehci_hsisochronous_tds_process(UX_HCD_EHCI *hcd_ehci, UX_EHCI_HSISO_TD… 797 UX_EHCI_FSISO_TD *_ux_hcd_ehci_fsisochronous_tds_process(UX_HCD_EHCI *hcd_ehci, UX_EHCI_FSISO_TD… [all …]
|