Commit Graph

36 Commits

Author SHA1 Message Date
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
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
eb1a101667 house keeping 2013-09-27 22:38:23 +07:00
hathach
a8a10e8650 added read capacity 10 with hacking code 2013-09-22 23:54:44 +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
3f0d740776 rename usbh_isr to usbh_xfer_isr 2013-07-01 15:30:29 +07:00
hathach
120db28a17 change format of file header & license spacing 2013-05-06 12:50:19 +07:00
hathach
a493fab753 separate fake ehci's run async & period list
refractor list_find_previous_item & list_remove_qhd to act on ehci_link_t* instead of ehci_qhd_t*
fully support 1ms, 2ms, 4ms, 8ms for period list (each list has a dummy queue head)
- change period list structure
limit the maximum polling interval to 256 ms
add max_loop static MAX number of iteration for list_find_previous_item
add test for close 256ms polling interrupt
2013-04-21 15:09:54 +07:00
hathach
357888a5e5 rename nxp_sof_received to nxp_int_sof
implementing freeRTOS integration
change get_period_frame_list from using lst_idx to hostid (fix bug)
adding polling interval supported for interrupt: 1ms, 2ms, 4ms, 8ms
- add interval_ms to get_period_head function
- add bInterval to qhd_init
- add support for sub-frame (less than 8 micro frames) interval
- add bunch of test for interrupt different intervals
2013-04-21 00:28:25 +07:00
hathach
7b5d9edc5a add test for pipe_interrupt_xfer
implement keyboard app code
- forcefully place keyboard_report in RAM section 3
change used bit in qtd from reserved in buffer[1] to alternate link
add code for fake ehci controller runs on period interrupt
change signature of tusbh_hid_keyboard_get_report
- tusb_keyboard_report_t* to uint8_t*
implement period (interrupt) complete isr processing
2013-03-27 11:51:44 +07:00
hathach
56cd8be75e change website from tinyusb.net to tinyusb.org 2013-03-25 11:46:30 +07:00
hathach
b15694bc5f fix potential bug when insert new queue head to list 2013-03-24 22:24:27 +07:00
hathach
9bc30f7694 add some test for usbh_hcd integration
- add tests for pipe_close  (while TDs are active)
- add tests for device unplugged
add tesst & implement the async_advance_isr to clean up "REMOVING" queue head
- add helper find previous qhd
- add remove qhd from async list
- add is_removing field for async advance isr to clean up
add pipe close for control pipe & bulk pipe (with tests)
add helper get qhd from pipe_handle
2013-03-13 21:42:19 +07:00
hathach
dbd3d9618d refractor rename field inactive_next_xact of ehci_qhd_t 2013-03-13 12:29:44 +07:00
hathach
d2bd80109e add semaphore post in usbh_isr for control pipe
add osal_queue_send in usbh_device_plugged
add macro for placing breakpoint macros
fix ehci init:
- regs->cmd or (add run_stop)
- enable port power in portsc
add tusb_task_runner in main loop
2013-03-12 20:04:29 +07:00
hathach
80facf6f2e add isr api for usbh_hcd
- void usbh_device_plugged_isr(uint8_t hostid, tusb_speed_t speed);
- void usbh_device_unplugged_isr(uint8_t hostid);

implement port_connect_status_isr
2013-03-12 16:42:19 +07:00
hathach
453ea39865 add project file for keil
fix binary.h compiler specific
add hal_init code to reset & set usbmode --> able to get USB ISR
remove const qualifier from return function of
- get_operational_register
- get_period_frame_list
- get_async_head
- get_period_head
- get_control_qhd
add stub for
- hcd_port_connect_status
- hcd_port_speed
2013-03-12 12:06:40 +07:00
hathach
8457585464 add class code to hcd_pipe_open to facilitate usb_complete callback 2013-03-09 21:37:49 +07:00
hathach
ef9eb1f2fa - fix wrong class code for TUSB_CLASS_APPLICATION_SPECIFIC 2013-03-09 14:31:37 +07:00
hathach
b1db85dedf - addd p_qtd_list_tail to qhd structure for easy queue TD
- move control_request from ehci_data to usbh_device_info_pool
- add test for bulk transfer double (2 consecutive xfers)
- use table (array) structure for class driver, currently included
- refractor extract to function insert_qtd_to_qhd
+ init function
+ install_subtask
--> all class driver function must be declared with WEAK
2013-03-09 13:11:02 +07:00
hathach
b146730306 add test code & hcd_pipe_xfer for bulk transfer
- test cross 4k boundary test for bulk transfer
rename p_qtd_list to p_qtd_list_head
2013-03-07 19:54:00 +07:00
hathach
644f0d3932 make "used" member of ehci_qtd_t into reserved place of buffer[1] (with assert check in hcd init) 2013-03-07 17:59:07 +07:00
hathach
66586ffb08 re-layout ehci_data_t to get better memory consumption 2013-03-07 16:06:28 +07:00
hathach
5c3bd1f8dc add code & test for hcd_pipe_open interrupt
high and non-highspeed
2013-03-06 22:21:42 +07:00
hathach
685fb97086 rename fields in ehci_qtd_t 2013-03-06 15:08:09 +07:00
hathach
959311532e refractor
- rename some field in ehci_qhd/qtd_t
- code test for open pipe
2013-03-06 14:55:02 +07:00
hathach
ef1cef5019 refractor ehci_data_t
separate tests for pipe open & pipe xfer
2013-03-06 14:25:26 +07:00
hathach
b3775b631b add test & code for open bulk transfer to hcd_pipe_open() 2013-03-05 23:08:00 +07:00
hathach
3ed29f5f3c add test & code for hcd_pipe_control_open 2013-03-05 14:26:36 +07:00
hathach
2c8596edeb abstract call chains from hal usb isr 2013-03-04 18:46:02 +07:00
hathach
94c004724c allow configure host/device by controller basic
- make changes to adapt
add mcu_capacity.h
2013-03-04 16:21:41 +07:00
hathach
656da2992d add alignof to compilier specific
add static_assert support for IAR (built-in support)
2013-03-04 15:01:33 +07:00
hathach
d644eaeb5c add test for hcd/host init
- TT control
- usb cmd
complete hcd/host initialization code
2013-03-04 00:46:40 +07:00
hathach
0f7eb8c38d add test for hcd/host init period list 2013-03-03 15:32:04 +07:00
hathach
356c329922 implement hcd_init controller_init
- add test for async list
2013-03-03 12:31:18 +07:00