Commit Graph

149 Commits

Author SHA1 Message Date
hathach 26d81c3ea1 rename TUSB_DIR_OUT, TUSB_DIR_IN 2018-03-11 20:20:59 +07:00
hathach 0384e40320 rename hal_* to tusb_hal_* 2018-03-11 13:01:57 +07:00
hathach fce85875c4 remove tusb_isr(), rename hal_hcd_isr() and hal_dcd_isr() 2018-03-06 17:38:35 +07:00
hathach bc9274591f clean up compiler 2018-03-02 19:00:03 +07:00
hathach 5aacc633b4 fix/correct the max_loop (upper bound for EHCI & OHCI) endpoint list. This causes multiple devices hub mounting problems previously 2014-04-29 01:54:28 +07:00
hathach 4091ddc4fc move osal_queue_send of osal_none to osal_none.c 2014-04-18 14:45:21 +07:00
hathach 06bb9ad7a7 move STRING & XSTRING & STATIC_ASSERT to compiler.h
disable test for a class of cdc host
temporarily disable test for test_osal_none.c
change include in some core files
remove osal.h from common.h
2014-04-17 22:57:11 +07:00
hathach 44b36d74f2 clean up STATIC_VAR 2014-04-17 18:02:51 +07:00
hathach 940d7fb7f6 merge EHCI_MAX_QHD/QTD and OHCI_MAX_QHD/QTD to HCD_MAX_ENDPOINT/XFER and scale with number of enabled classes.
default config to support up to 5 device (hub + 4 others)
2014-04-13 15:39:57 +07:00
hathach a8406060d1 doxygen documenting 2014-03-24 12:35:44 +07:00
hathach d1d4ddd856 doxygen document 2014-03-16 22:20:33 +07:00
hathach 6fbca0ea87 remove legacy code of msc_device.c read10 & write10
clean up some warnings
2014-03-13 18:25:20 +07:00
hathach f1692c93ac fix some warnings 2014-03-13 18:11:59 +07:00
hathach ad72db5aea change IAR TUSB_CFG_ATTR_USBRAM to _Pragma("location=\".ahb_sram1\"") instead of @ .ahb_sram1 so that we can place it before the variable for a cleaner code
change pipe xfer API buffer from void* to uint8_t*
change FIFO_DEF to have a separated buffer to be compatible with IAR\
refractor IAR data alignment pragma
2014-03-10 13:13:13 +07:00
hathach 6f24dd50a0 change lpc17xx cmsis file & ohci to be able to build with IAR 2014-03-04 15:19:50 +07:00
hathach da6b2fbef8 EHCI: immediately reset port when device connected. This proves to help prevent duplication connection event (also with OHCI)
increase delay after reset to 100 ms (NXP's EHCI does not work with 50ms)

--> fix all duplication connection with OHCI & EHCI
2014-02-28 17:08:47 +07:00
hathach 533c8d2eed use hcd_pipe_is_busy instead of hcd_pipe_is_idle
remove hcd_pipe_is_idle
2014-02-20 10:41:31 +07:00
hathach d86523b16c re-enable blocking waiting in ehci controller reset (otherwise it wont works) 2014-02-19 15:50:39 +07:00
hathach d020c2f609 remove immediately reset when device plug.
check to make sure device is still plug after initial delay (200ms) before reset
remove blocking waiting when reset in ehci.c
2013-12-19 13:55:22 +07:00
hathach eaacbd4a36 able to run MSC host demo on lpc17xx
implement walk around for halted ED in OHCI
2013-12-18 14:57:34 +07:00
hathach 75ffc0bfec implement ohci
- hcd_port_reset
- hcd_port_connect_status
- hcd_port_speed_get
- hcd_pipe_control_open
- hcd_pipe_control_xfer
- done_queue_isr for control xfer

able to go through enumeration with MSC device
2013-12-16 12:35:05 +07:00
hathach 4d14e2ac50 add structure & define for ohci 2013-12-11 14:31:27 +07:00
hathach a5ba283557 change MCU to TUSB_CFG_MCU 2013-11-25 12:48:27 +07:00
hathach 83f1d660ce clean up
add some doxygen work
finalize device disconnection & suspend
- suspend & resume & remote wake up is not supported yet
2013-11-22 15:16:24 +07:00
hathach b2b53e61fb refractor dcd_controller_reset & hcd_controller_reset to hal_controller_reset 2013-11-06 12:15:11 +07:00
hathach 3a54ad4c0d implement msc device class
usbd auto stall control for not supported return from class control request
usbd implement xfer isr callback mechanism
DCD
- implement dcd multiple qtd support
- dcd dcd_pipe_stall
- implement dcd_pipe_queue_xfer
- xfer_complete_isr
- flush control endpoint if received new setup while previous transfer is not complete
change msc_cmd_block_wrapper_t flags field to dir
force full speed for easy testing

NOTEs: somehow unable to get endpoint IN interrupt with ioc
2013-11-01 12:11:26 +07:00
hathach 357813f171 implementing sw device stack 2013-10-29 11:27:25 +07:00
hathach 318a058d3c static assert to check OSAL_QUEUE_DEF's queue_depth parameter < 256
enable HOST_HCD_XFER_INTERRUPT by default (previously only enabled with HID), as it is widely used
implement tusbh_cdc_is_busy
add compilation switch in usbh enumeration for hub
rewrite CDC serial application to address usb-serial race condition
2013-10-27 19:34:36 +07:00
hathach 5f23653c69 more doxygen work 2013-10-25 13:45:57 +07:00
hathach b71ffe3d5a change TUSB_CFG_CONTROLLER0/1_MODE to TUSB_CFG_CONTROLLER_0/1_MODE for clearance
adding configuration docs for tinyusb_config.h
document HID mouse & keyboard API
2013-10-24 15:32:54 +07:00
hathach de7e21dc66 refractor hub api
fix all test build errors
2013-10-16 11:05:33 +07:00
hathach 6f9172c15f clean up warnings here and there 2013-10-02 14:20:05 +07:00
hathach 640b0ec546 - move disconnection handle to enum task --> move tusbh_xxx_unmount is invoked in non-isr context 2013-10-01 13:53:54 +07:00
hathach 14ebd6c4d9 refractor hub 2013-10-01 11:29:25 +07:00
hathach 93821c55ce hack ehci advance async to handle disconnect via hub 2013-09-30 18:40:20 +07:00
hathach 3cc169f2fd able to mount one device on the hub 2013-09-30 15:16:23 +07:00
hathach eb1a101667 house keeping 2013-09-27 22:38:23 +07:00
hathach bbfa85aa08 allow a limited model to deal with stalled pipe/transaction
added stall clear & able to mount the stupid toshiba thumb drive

add HCD pipe API
- bool hcd_pipe_is_busy(pipe_handle_t pipe_hdl);
- bool hcd_pipe_is_stalled(pipe_handle_t pipe_hdl);
- uint8_t hcd_pipe_get_endpoint_addr(pipe_handle_t pipe_hdl);
- tusb_error_t hcd_pipe_clear_stall(pipe_handle_t pipe_hdl);

remove tusbh_device_mount_failed_cb (not neccessary for user)
2013-09-24 18:23:34 +07:00
hathach 63b776f7cf add some tests support for msc host
refractor msch buffer for getting inital scsi like inquiry, read capacity
adding support for resovling stall on control pipe
2013-09-24 15:21:16 +07:00
hathach 85f3ad9d3b refractor hcd API to allow queue xfer without actually transferring data 2013-09-23 00:24:51 +07:00
hathach a8a10e8650 added read capacity 10 with hacking code 2013-09-22 23:54:44 +07:00
hathach cc91a73cdc fix pingstate for highspeed bulk out transfer
temp implementation of msc host --> can issue inquiry command
2013-09-22 18:44:55 +07:00
hathach 5708863859 house keeping, clean up warnings 2013-09-21 14:38:40 +07:00
hathach d15ba08fdc house keeping 2013-09-21 13:17:43 +07:00
hathach f8f398a681 start to add msc host, fix dangerous problem with unstable device when plugged --> 200 ms delay. 50ms delay after each port reset 2013-09-20 23:53:48 +07:00
hathach 86681fe442 starting to add support for IAR workbench 2013-09-19 16:11:11 +07:00
hathach c71f5c6f1b integrate & able to run cmsis-rtx with current code base 2013-09-13 16:53:17 +07:00
hathach 25304d142f refractor qhd_xfer_error_isr (omit xfer_type para)
add accumulated total xferred byte for an endpoint until transfer with IOC set
- control xfer will have length of data phase in usbh_xfer_isr callback
2013-07-06 14:52:02 +07:00
hathach 68da489c2e refractor ehci.c adding qhd_get_xfer_type 2013-07-06 13:41:48 +07:00
hathach 374aea7a11 change usbh_control_xfer_subtask to use flat API instead of passing tusb_control_request_t struct 2013-07-05 13:23:42 +07:00