Commit Graph

424 Commits

Author SHA1 Message Date
hathach dffe9b335e
clean up host pipe api 2018-12-10 20:26:47 +07:00
hathach 5886ccdb03
ehci clean up 2018-12-10 20:16:26 +07:00
hathach 4e7596ca9c
add tuh_mount_cb/tuh_umount_cb 2018-12-10 19:25:57 +07:00
hathach 9c4c797502
add ep addr to host cdc 2018-12-10 19:01:28 +07:00
hathach 0ae8a1aa89
remove pipe handle.dev_addr 2018-12-10 16:58:17 +07:00
hathach a486da33ee
usbh clean up 2018-12-10 05:55:02 +07:00
hathach 57233cead7
rename usbh_xfer_isr to hcd_event_xfer_complete 2018-12-10 05:47:33 +07:00
hathach a31f83dbb0
removing pipe handle 2018-12-10 05:44:08 +07:00
hathach 75baedf27d
removing pipe handle, remove xfer type 2018-12-10 05:33:25 +07:00
hathach 8ef93ef85d
usbh remove class code in xfer isr callback 2018-12-10 05:19:08 +07:00
hathach ac67e0ea3f
clean up 2018-12-10 05:15:49 +07:00
hathach 6a6e7d0ecb
refactor usbh class driver 2018-12-10 05:07:22 +07:00
hathach 05913a7350
change usbh class driver open signature 2018-12-09 12:34:05 +07:00
hathach 637285e9ae
clean up ehci 2018-12-09 00:10:49 +07:00
hathach f6f0910778
hub clean up 2018-12-08 20:56:56 +07:00
hathach d3ac4c14a3
refactor hcd api 2018-12-08 20:51:48 +07:00
hathach 607658d047
rename MODE_HOST_SUPPORTED to TUSB_OPT_HOST_ENABLED 2018-12-07 23:38:52 +07:00
hathach e019916263
clean up ehci, support only 1 controller 2018-12-07 23:35:42 +07:00
hathach 98dd0c4d4d
clean up 2018-12-07 23:28:51 +07:00
hathach e4fd9fbaf4
seperate control xfer to 3 tds for ohci
- ohci only work with 1st transfer with specific timing. TODO fix it
later
2018-12-07 23:16:06 +07:00
hathach 6c49848d59
ohci got device not response condition in control transfer 2018-12-07 22:01:26 +07:00
hathach 2aa21a14e6
lpc17 ohci failed to execute control transfer !! 2018-12-07 18:49:26 +07:00
hathach e6e3679136
simple cdc host demo work 2018-12-07 17:37:54 +07:00
hathach 13d08cd636
adding new hcd api, tested working with control xfer.
- hcd_edpt_open
- hcd_edpt_xfer
- hcd_edpt_xfer
2018-12-07 17:31:35 +07:00
hathach 9b74f0e98f
add connect to cdc for testing 2018-12-07 15:07:00 +07:00
hathach 366ab79776
able to build host hid 2018-12-07 14:57:58 +07:00
hathach d524da0c94
enable all warnings 2018-12-07 14:49:55 +07:00
hathach 89820a36a1 able to build with host msc 2018-12-07 12:56:42 +07:00
hathach 9478c647e3 change usbh_control_xfer name and signature 2018-12-07 12:23:37 +07:00
hathach c93fb23693 usbh rename vars 2018-12-07 00:47:16 +07:00
hathach 2fe9abe71f change usbh queue to generic event queue 2018-12-06 23:45:24 +07:00
hathach ac829c0a87 minor clean up 2018-12-06 22:56:58 +07:00
hathach 07c3fd5e1e clean up hub 2018-12-06 22:47:49 +07:00
hathach 7d3ff7aff6 rename CFG_TUSB_HOST_CDC/MSC to CFG_TUH_CDC/MSC 2018-12-06 22:24:31 +07:00
hathach 5b09774ae0 clean up usbh, rename doxygen folder to docs 2018-12-06 21:46:34 +07:00
hathach 1d3583785f change osal_semaphore_wait to return bool 2018-12-06 17:31:25 +07:00
hathach 5f7d7a34f5 able to complete enumeration with os none blocking 2018-12-06 00:38:00 +07:00
hathach 5a7493ed42
fix more host build error 2018-12-05 21:12:10 +07:00
hathach 2fa32bd949
able to build host lpc18xx 2018-12-05 20:39:52 +07:00
hathach 4537ba66e5
fixing build error with host stack 2018-12-05 20:26:55 +07:00
hathach 27793cbd3d
fix travis build 2018-12-05 17:43:09 +07:00
hathach d887829b4c
change usbd_init() return to bool for simplicity 2018-12-05 17:30:04 +07:00
hathach 3dc0653d70
clean up 2018-12-05 17:09:30 +07:00
hathach 6f3898572d
add role to OSAL_QUEUE_DEF() to disable correct dcd/hcd isr 2018-12-05 17:01:19 +07:00
hathach 9f3e91a934
update nrf errata 2018-12-05 14:30:47 +07:00
hathach a73017fdc2
hal clean up
- replace tusb_hal_int_enable/disable to dcd_int_enable/disable,
hcd_int_enable/disable
- remove tusb_hal_init(), this will be part of dcd_init/hcd_init,
anything beyond dcd/hcd should be inited by bsp
2018-12-05 13:20:25 +07:00
hathach 6048a3bff4
remove dcd_connect/disconnect since there is no usage now 2018-12-05 12:22:33 +07:00
hathach c1336dff03
lpc move Chip_USB_Init() out of stack to bsp 2018-12-05 11:53:56 +07:00
hathach 9176b7b1da
renane file 2018-12-05 08:51:11 +07:00
hathach dd9c7b4249
lpc40xx device work, moving Chip_USB_Init out of tinyusb 2018-12-05 08:47:23 +07:00
hathach fe8346e642
move pinmux out of dcd into bsp 2018-12-04 18:38:01 +07:00
hathach 6c2404ca49
adding ea4088 quickstart, able to blink 2018-12-04 16:32:20 +07:00
hathach 261e0f9801
adding lpc40xx support 2018-12-04 16:06:50 +07:00
hathach 7120e12971
add mcb1800, blink led ok 2018-12-04 13:17:12 +07:00
hathach bf5ac608ff
rename dcd 18 43 2018-12-04 12:47:58 +07:00
hathach 1d6bbd9990
clean up dcd 43 2018-12-03 23:18:51 +07:00
hathach 29f721ba2c
dcd lpc43 clean up 2018-12-03 23:06:28 +07:00
hathach 9fec39d893
use lpcopen for lpc43x, work well 2018-12-03 22:58:21 +07:00
hathach bb7123eed1
use lpcopen for ea4357, blinky ok 2018-12-03 21:22:11 +07:00
hathach 7f55bbaf05
clean up 2018-12-03 18:32:06 +07:00
hathach 9e33f19378
clean up 2018-12-03 17:47:37 +07:00
hathach 63faea3929
migrate lpc17 to lpcopen, usb device work ok 2018-12-03 17:43:16 +07:00
hathach 66bd9f0a16 wrap up lpc11u port 2018-12-03 13:15:28 +07:00
hathach f28a15a886 clean up dcd lpc11u 2018-12-03 12:31:03 +07:00
hathach 57f7c18d77 dcd lpc11u6x work with cdc + msc 2018-12-03 00:04:55 +07:00
hathach 5848dd2895
lpc11u use USBSRAM, able to response with 1st request 2018-12-02 02:13:48 +07:00
hathach fb842bb804
lp11u able to receive setup packet 2018-12-01 22:21:54 +07:00
hathach d246cc2e6c
lpc13xx build ok (not work) with lpcopen 2018-11-30 23:39:18 +07:00
hathach 804c60304e
adding ses lpc13xx 2018-11-30 13:25:58 +07:00
hathach 3c49bfb588
remove obsolete example 2018-11-30 13:05:20 +07:00
hathach 1f076bd945
rename cont 2018-11-30 12:59:23 +07:00
hathach 0ab62e6fa2
more rename 2018-11-30 12:57:44 +07:00
hathach 658c2ff570
rename 2018-11-30 12:56:09 +07:00
hathach 723e02780d
clean up 2018-11-30 12:51:54 +07:00
hathach d96347a0f5
rename OPT_MCU_LPC13UXX to OPT_MCU_LPC13XX 2018-11-30 12:48:06 +07:00
hathach 522b0c11ef move nvic prio in hal/dcd to bsp for portability 2018-11-29 22:59:00 +07:00
hathach 57b85262b2 added & tested lpc17xx freertos device example
- add USB priority check for freeRTOS config
2018-11-29 21:41:09 +07:00
hathach 15e4b97e36 lpc17xx add dcd_edpt_stalled 2018-11-29 20:09:02 +07:00
hathach a76c5bf154 dcd lpc17xx, route control endpoint to EP_FAST 2018-11-29 19:58:17 +07:00
hathach ed65a43977 clean up 2018-11-29 13:09:58 +07:00
hathach 402a5fee90 dcd lpc17xx enable EpIntEn for non-control IN after DMA complete
all transfer work well
2018-11-29 12:56:02 +07:00
hathach c3140af274
correct TUD_OPT_HIGH_SPEED 2018-11-28 17:54:11 +07:00
hathach 772b2b692f
more dcd lpc17xx clean up 2018-11-28 17:31:15 +07:00
hathach 4a521d5085
clean up 2018-11-28 17:02:46 +07:00
hathach 04ad5da820 improve non-control xfer for lpc17xx 2018-11-28 16:53:36 +07:00
hathach 8b03b6d3b4 add Auto descriptor endpoint num config to support lpc17xx
CFG_TUD_DESC_*_EPNUM
2018-11-28 16:10:31 +07:00
Scott Shawcroft b4103eef06
needs to be filled out. blinks though 2018-11-27 18:11:03 -08:00
hathach a3cc52829b clean up 2018-11-27 23:55:10 +07:00
hathach 16b3f11d9f
clean up 2018-11-27 21:53:36 +07:00
hathach 15f704b623
improve dcd control lpc17xx 2018-11-27 21:51:02 +07:00
hathach 038851c362
enhance dcd lpc17xx. Able to pass enumeration 2018-11-27 20:48:46 +07:00
hathach 80ecf1fd54
add OPT_MODE_HIGH_SPEED 2018-11-26 14:56:07 +07:00
hathach 064eec5dd8
clean up warnings 2018-11-26 12:29:55 +07:00
Scott Shawcroft bf70f89240
Introduce a Makefile for the OS_NONE device example
It currently supports the SAMD21 and SAMD51 only. More will be
added later.
2018-11-25 11:46:06 -08:00
Scott Shawcroft 47fabe42ed
One tweak to make -Wdiscarded-qualifiers happy. 2018-11-23 12:48:55 -08:00
Scott Shawcroft bf8c4612dc
Make sure OUT endpoint 0 on the SAMDs always has a valid buffer to store
a SETUP token into.
2018-11-23 11:20:23 -08:00
Scott Shawcroft 246c28db1a
Turn off interrupts when working with the event queue. 2018-11-23 11:18:53 -08:00
Scott Shawcroft 6aa0146c72
Reset USB peripheral and wait for startup 2018-11-23 11:15:39 -08:00
hathach 394a22ecf7
remove pragma GCC diagnostic 2018-11-23 15:25:25 +07:00
hathach f196b24dce
rename DCD_XFER_SUCCESS to XFER_RESULT_SUCCESS 2018-11-23 15:22:46 +07:00
hathach a619ff88a3
rename xfer complete enum 2018-11-23 15:17:43 +07:00
hathach cb8782e5f2
rename tusb_event_t to xfer_result_t 2018-11-23 15:14:47 +07:00
hathach e61e9d8b1b
nrf5x add DCD_EVENT_UNPLUGGED event 2018-11-23 15:05:40 +07:00
hathach 4e8400e6fb
more clean up 2018-11-22 21:58:06 +07:00
hathach a1faf5c9cb
clean up dcd lpc43xx 2018-11-22 21:37:23 +07:00
hathach 569e85a0c0
cdc work ok with lpc43xx 2018-11-22 17:40:20 +07:00
hathach 60d8cde695
rename CFG_TUSB_MEM_SECTION to CFG_TUSB_MEM_SECTION 2018-11-22 17:21:07 +07:00
hathach 4314be9aeb
msc device block count and block num
- replace CFG_TUD_MSC_BLOCK_NUM & CFG_TUD_MSC_BLOCK_SZ by
tud_msc_capacity_cb() (mandatory callback)
2018-11-22 12:11:06 +07:00
hathach 1d6fc49fa9
clean up 2018-11-21 17:03:39 +07:00
hathach 3cad1d1134
samd21 work well with cdc 2018-11-21 15:00:36 +07:00
hathach a30dfa3324
clean up 2018-11-21 13:11:19 +07:00
hathach a0ce92bcfd
update dcd samd21 2018-11-21 13:01:39 +07:00
hathach 155edc7b00
fix ses irq vector 2018-11-21 12:36:28 +07:00
hathach d036f62b0e samd51 fix stable issue with dcd 2018-11-20 17:25:41 +07:00
hathach c503d48ec4 clean up 2018-11-20 01:20:39 +07:00
hathach cb37b819d9 rename control_state 2018-11-16 22:20:13 +07:00
hathach 00694b56c5 nrf5x: clean up dcd, add comment 2018-11-16 22:17:11 +07:00
hathach 7219ef8ed6 rename control.c to usbd_control 2018-11-16 22:00:16 +07:00
hathach 1640e7590e remove control.h (move prototype to usbd_pvt.h) 2018-11-16 21:58:35 +07:00
hathach 215f8603b1 nrf5x: refactor device control transfer.
- make control transfer as part of usbd. Class driver must use
usbd_control_ API() instead of dcd_ api.
- change the signature of class driver's control_request
- allow control request complete to stall in staus stage
- move control request parser & handling to usbd.
2018-11-16 21:56:39 +07:00
hathach b62ca2e5cd nrf5x: correct control transfer direction
added dcd description.
2018-11-16 21:52:23 +07:00
hathach 95cd6c3a2f remove control from class driver array 2018-11-14 23:39:58 +07:00
hathach 5757918df4 usbd clean up 2018-11-14 17:40:29 +07:00
hathach ff26c5c6b1 clean up 2018-11-14 16:40:07 +07:00
hathach 10bf41f718 change osal_queue_receive() signature
- fix build issue with freertos
2018-11-14 16:31:28 +07:00
hathach 5732be224c update example for PR. correct share_control definition
- rename dcd,hal to dcd_samd51, hal_samd51 since some IDE has issue with
duplicated names (e.g keil, ses).
2018-11-14 16:03:58 +07:00
hathach 983225ae60
Merge pull request #7 from tannewt/tinyusb_samd
Add SAMD support and simplify OS_NONE
2018-11-14 15:36:12 +07:00
hathach 3fe7cd1659 added tud_cdc_write_str, tu_fifo only use mutex for RTOS config 2018-11-13 15:45:22 +07:00
Scott Shawcroft 299a2f12de
Support the no CDC protocol as well. 2018-11-09 11:32:59 -08:00
Scott Shawcroft 537a29273c
Exempt from strict warnings for struct packing and add MCU options 2018-11-09 00:10:44 -08:00
Scott Shawcroft 30e3c64134
Polish up control split and treat it more like a normal endpoint. 2018-11-08 13:45:30 -08:00
Scott Shawcroft 7a40ec2647
Split out the control endpoint logic 2018-11-07 23:04:34 -08:00
Scott Shawcroft c582c0fda9
Add SAMD21 and SAMD51 support for CircuitPython.
The ProtoThreads style subtasks were removed because it led to
extremely unclear control flow. RTOSes can be used if threading is
needed.

Also added some additional functionality to MSC to support dynamic
LUNs and read-only LUNs.
2018-11-07 12:02:28 -08:00
hathach cb9bcce6a2 use mutex for cdc device fifo 2018-11-02 18:40:47 +07:00
hathach e9de56ad83 defer DCD_EVENT_BUS_RESET, DCD_EVENT_UNPLUGGED to usbd task 2018-11-02 17:29:49 +07:00
hathach f6076b0e06 add mutex support (optional) for tu_fifo 2018-11-02 17:28:07 +07:00
hathach 2708632a6a clean up osal 2018-11-02 17:26:35 +07:00
hathach 4683dc1e68 add osal_mutex 2018-11-02 15:45:27 +07:00
hathach b2f18744fe add dcd event helper setup_recieved and bus_signal 2018-10-25 15:02:43 +07:00
hathach 87d89cf5cb fix nrf52 freeRTOS interrupt priority 2018-10-24 16:48:27 +07:00
hathach bfa10016ae rename verify_breakpoint to TU_BREAKPOINT 2018-10-24 12:37:43 +07:00
hathach 55427606ef replace dcd_xfer_complete by dcd_xfer_complete() 2018-10-24 00:44:26 +07:00
hathach e7a63324dd clean up 2018-10-23 19:58:06 +07:00
hathach 177adf4bfa replace dcd_bus_event() and dcd_setup_received() by dcd_event_handler() 2018-10-23 16:31:45 +07:00
hathach 3dd635f4c1 merge osal_queue_send_isr to osal_queue_send, osal_semaphore_post_isr to osal_semaphore_post 2018-10-23 15:53:29 +07:00
hathach 9ba624a974 rename UBSD_EVT_ to DCD_EVENT_ 2018-10-23 15:12:30 +07:00
hathach e97b14848b rename usbd_event_t to dcd_event_t 2018-10-23 15:08:31 +07:00
hathach 959480d82c clean up usbd 2018-10-23 13:12:19 +07:00
hathach f339ac7a6a clean up msc device 2018-10-23 12:48:49 +07:00
hathach c7340f4b0e clean up helper func 2018-10-23 12:19:32 +07:00
hathach 0ae54310d6 Merge branch 'develop' of github.com:hathach/tinyusb into develop 2018-10-22 12:21:00 +07:00
hathach 33c61bfda2 comment out cdc flush on write (for now). Since it has issue with circuitpython 2018-10-05 21:35:40 +07:00
hathach 99c5219dc1 rename queue.h to sys_queue.h to prevent name conflict 2018-09-28 01:59:47 +07:00
hathach a6870add95 format queue.h a bit 2018-09-26 01:44:36 +07:00
hathach c78540be0f add sys/queue.h to common 2018-09-26 01:39:59 +07:00
hathach a660fb0cfc clean up, update nrfx to 1.3.0 2018-09-25 12:57:46 +07:00
hathach 8600c4b616 adding mynewt to osal 2018-09-04 14:20:51 +07:00
hathach e6fdfe8ac7 rename file 2018-09-02 20:37:02 +07:00
hathach 1a4a27324b clean up 2018-09-02 20:30:07 +07:00
hathach dce2296756 allow no mode compilation (no host/device enabled). Handy for project without usb to compile such as nrf52832 2018-08-30 16:12:34 +07:00
hathach e623fc656d cdc flush on write() if queue more than epsize 2018-08-30 15:28:19 +07:00
hathach 4ef01d721a clean up osal task and subtask 2018-08-30 15:21:15 +07:00
hathach 61e4a8c3d3 remove CFG_TUD_CDC_FLUSH_ON_SOF option 2018-08-30 15:20:15 +07:00
hathach 583326e535 nrf5x fix an issue with EP0STATUS require Easy DMA 2018-08-28 15:57:21 +07:00
hathach c8b72e397e add while loop to usbd task to run until task queue is empty 2018-08-28 15:56:43 +07:00
hathach bb2a8fcebf cdc device : rename epin_buf, epout_buf 2018-08-28 14:18:39 +07:00
hathach b0d14e2e41 minor nrf52 driver correct 2018-08-28 13:15:03 +07:00
hathach 030c64b9cd make tud_mount_cb() and tud_umount_cb() optional 2018-08-24 18:35:46 +07:00
hathach 460285f852 fix compiler static assert complain 2018-08-23 21:05:52 +07:00
hathach 23c7c2102b fix compiler warnings 2018-08-23 20:54:51 +07:00
hathach c5d2f661e7 rename common func to avoid conflict 2018-08-23 20:09:28 +07:00
hathach 7b35cd0203 add string desc helper 2018-08-21 14:51:59 +07:00
hathach d996bd5295 correct cdc line coding memory align 2018-08-15 17:57:33 +07:00
hathach cf43a6b53b fix memory issue with usbd control xfer 2018-08-15 17:55:16 +07:00
hathach e07b1acbed rename VERIFY to TU_VERIFY to avoid conflict with application 2018-08-13 18:10:23 +07:00
hathach b07124c623 fix issue with cdc write failed sometimes 2018-08-13 18:09:29 +07:00
hathach d5e58ba024 clean up 2018-08-01 09:59:32 +07:00
hathach 6d96b12e27 improve auto descriptor 2018-08-01 00:50:04 +07:00
hathach 9444d45af6 dev hid enhancement, add report descriptor templates for keyboard, mouse, consumer, syscontrol, gamepad 2018-07-31 23:10:50 +07:00
hathach a2b7b9ddb9 fix hid warning, move report descriptor template to hid.h 2018-07-31 14:59:39 +07:00
hathach d1a9d52c05 rename to prevent confusion 2018-07-31 14:42:03 +07:00
hathach cc143cccf4 move default option 2018-07-31 14:27:48 +07:00
hathach 191b73b58c tud_hid_generic_get_report_cb and tud_hid_generic_set_report_cb are mandantory 2018-07-31 13:45:31 +07:00
hathach 1a0ffcee25 add tud_hid_generic_report() 2018-07-31 13:31:03 +07:00
hathach 8eeee22ffc enhance device hid driver
seperate inteface and report
2018-07-30 17:01:20 +07:00
hathach 2910b8d77a clean up 2018-07-30 15:49:16 +07:00
hathach 683bb574e7 hid device enhance 2018-07-29 14:03:48 +07:00
hathach 8b17c54609 fix hid generic various error 2018-07-28 22:42:44 +07:00
hathach c729db2294 beter hid report 2018-07-28 18:14:30 +07:00
hathach 6034553be7 adding hid_generic support 2018-07-28 13:50:46 +07:00
hathach 9f61493020 change HID config, move HID boot config to part of auto descriptor only 2018-07-28 12:38:45 +07:00
hathach 456506045f seperate CFG_TUD_HID_BOOT_PROTOCOL to CFG_TUD_HID_KEYBOARD_BOOT & CFG_TUD_HID_MOUSE_BOOT 2018-07-27 21:48:15 +07:00
hathach cf6c534c19 add usb msc callback description 2018-07-27 17:20:15 +07:00
hathach 5dd02cbdd3 house keeping 2018-07-27 16:59:57 +07:00
hathach 72b600c393 update device msc callback 2018-07-26 22:41:46 +07:00
hathach e362f5fd64 rename some scsi command struct, add SCSI_CMD_MODE_SENSE_6 to built-in support command 2018-07-26 16:57:30 +07:00
hathach 86c445cd71 move nrf_drv_usbd_errata to portable folder 2018-07-26 16:12:09 +07:00
hathach faf88d00c2 clean up 2018-07-26 16:01:14 +07:00
hathach f5b2912372 add tud_msc_set_sense(), update msc device to reponse with default sense (illegal request) when there is issue with scsi command 2018-07-26 15:59:13 +07:00
hathach 602315cd57 fix hid keyboard idle rate 2018-07-26 11:27:34 +07:00