Commit Graph

2221 Commits

Author SHA1 Message Date
kkitayam fbe1bf375c Fix stall interrupt handling 2021-09-15 21:39:02 +09:00
hathach 93ed3034c0 merge master and minor clean up 2021-09-15 18:35:52 +07:00
hathach f39656b6d7 Merge branch 'master' of github.com:hathach/tinyusb into kkitayam-impl_close_all_for_khci 2021-09-15 18:29:28 +07:00
Ha Thach 03866ddf9b
Merge pull request #1062 from HiFiPhile/fifo_dcd_transdimension
Improvements for dcd_transdimension
2021-09-15 16:07:06 +07:00
MasterPhi 0ded1c5bac Reset EP flags on close. 2021-09-14 21:08:12 +02:00
hathach a23944035d correct assoc_itf_count for bth driver 2021-09-15 00:51:01 +07:00
hathach b474522245 make vendor driver more flexible
- skip additional custom descriptor between interface and endpoints
- can have up to 2 bulk endpoint ( 1 in & 1 out)
2021-09-14 21:30:38 +07:00
hathach 25ea8f9c9e update configuration parser 2021-09-14 21:02:38 +07:00
MasterPhi 3639168066 Fix warning. 2021-09-14 11:58:22 +02:00
hathach 5404d6d8ae usbd pre-compute total interface length without replying on driver open 2021-09-14 12:47:20 +07:00
Ha Thach 6d3fb7eb98
Merge pull request #1087 from HiFiPhile/nuc_wkp
NUC126: fix remote_wakeup
2021-09-14 11:40:55 +07:00
szymonh 2d6407e7a5 Enforced buffer boundaries for hid devices 2021-09-13 22:56:25 +02:00
Ha Thach 1c3215257e
Merge pull request #1091 from hathach/esp32sx-compliance
Esp32sx compliance
2021-09-13 21:26:29 +07:00
hathach cdc63459eb esp32sx implement dcd_remote_wakeup(), fully compliance to chapter9 test suite 2021-09-13 16:49:38 +07:00
hathach e64bfb9ff5 implement dcd_edpt_close_all(), pass chapter9 test suite (without remote wakeup) 2021-09-13 16:16:37 +07:00
szymonh 50e3c0054f Add size check to tud_bt_hci_cmd_cb call in bth_device.c 2021-09-13 10:23:03 +02:00
hathach 43e6555fd0 clean up 2021-09-13 13:09:38 +07:00
hathach ce5db06ba0 clear PID along with clear stall 2021-09-13 12:05:49 +07:00
hathach 6feda5ae8f Merge branch 'nuc_wkp' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-nuc_wkp 2021-09-13 11:52:16 +07:00
szymonh d5f2c34eaa Prevent buffer overflow in bth_device.c 2021-09-12 20:24:54 +02:00
hathach 9bed4e2e21 refactor nxp TDI dcd_edpt_xfer_fifo 2021-09-13 00:45:15 +07:00
hathach 038ec341f8 Merge branch 'fifo_dcd_transdimension' of https://github.com/HiFiPhile/tinyusb 2021-09-12 17:39:32 +07:00
hathach dd60ce784c nxp tdi: implement dcd edpt close all 2021-09-11 21:29:04 +07:00
hathach 1f7ade2b75 nxp tdi: fix error td prevent further transfer 2021-09-11 19:27:37 +07:00
MasterPhi 22571ec98e reset PID to DATA0 on clear_stall. 2021-09-10 16:04:47 +02:00
MasterPhi 8886de0d8a Fix remote_wakeup 2021-09-10 13:05:15 +02:00
MasterPhi 580893b3fe Shorter expr. 2021-09-10 11:17:33 +02:00
kkitayam 2998f67eac Fix dcd_edpt_clear_stall to reset data toggle 2021-09-10 00:18:43 +09:00
Mengsk 283783c082 dcd_edpt_xfer_fifo: use qtd_init if restriction not met. 2021-09-09 16:45:18 +02:00
hathach ad8c0ee818
nxp tdi: enhance qhd using DCD_ATTR_ENDPOINT_MAX 2021-09-09 20:26:03 +07:00
hathach f948cbe471
nxp tdi implement remote wakeup
enhance bus reset, unplugged, suspend, resume detection
2021-09-09 17:04:04 +07:00
hathach 27800f7e4f
remove connected check for DCD_EVENT_UNPLUGGED since previous bus reset can clear this
implement unplugged detection for trans dimension dcd
2021-09-09 16:01:05 +07:00
hathach f81368174b
add other speed descriptor callback tud_descriptor_other_speed_configuration_cb()
example implement tud_descriptor_device_qualifier_cb() and
tud_descriptor_other_speed_configuration_cb() on high speed device to
fully compliant to usbcv
2021-09-09 15:17:19 +07:00
kkitayam 780852efb3 Fix stall handling 2021-09-09 00:55:02 +09:00
kkitayam 22b5b47045 Implement dcd_edpt_close_all for NXP khci 2021-09-08 21:52:27 +09:00
Ha Thach d66d817c38
Merge pull request #1080 from hathach/rx-msc-compliance
Renesas RX reset PID to DATA0 when open endpoint
2021-09-08 18:31:42 +07:00
Ha Thach 5f141a4c13
Merge pull request #1077 from hathach/st-synopsy-compliance
St synopsy compliance
2021-09-08 18:00:44 +07:00
hathach d077574097 reset PID to DATA0 when open endpoint 2021-09-08 17:56:22 +07:00
Ha Thach c5e6e87d13
Merge pull request #1076 from kkitayam/impl_close_all_for_rx
Implement dcd_edpt_close_all() for Renesas RX family
2021-09-08 17:53:42 +07:00
hathach 67e80f60e3 fix build with gd32vf103 2021-09-08 13:35:11 +07:00
hathach 4ac136d81d implement remote wakeup for stm synopsys 2021-09-08 00:57:07 +07:00
hathach a54a974fa5 make synopsys usbcv compliance
- implement dcd_edpt_close_all()
- reset dtoggle when open endpoint
- correct dev interrupt mask on bus reset
2021-09-07 23:02:57 +07:00
kkitayam f3da48d46a Implement dcd_edpt_close_all() for Renesas RX family 2021-09-07 23:28:54 +09:00
hathach f47e5402fa add msc workaround for cxd56 2021-09-07 13:30:51 +07:00
hathach fa030075c2 Revert "Fix for MSC during stage STATUS"
This reverts commit 2e23f3dd72.
2021-09-06 19:26:28 +07:00
Kamil Tomaszewski 2e23f3dd72 Fix for MSC during stage STATUS 2021-09-03 18:13:45 +02:00
Ha Thach 831a45f14b
Merge pull request #1065 from hathach/rp2040-compliance
Rp2040 compliance test
2021-09-01 20:18:01 +07:00
hathach d4c56c70a8
minor clean up 2021-09-01 20:01:40 +07:00
hathach d6e9fe38be
rp2040 implement dcd_edpt_close_all()
aslo rename reset_ep0_pid() and clean up. We only need to reset pid when
setup packet received
2021-09-01 19:44:12 +07:00
hathach 1398226bb5
only attempt to clear if stalled, and stall if cleared 2021-09-01 16:54:03 +07:00
hathach 15fa2f447b
add back edpt check before cbw, since bot reset can occurred any time 2021-09-01 16:53:12 +07:00
hathach fc889ece74
rp2040 correct ep set/clear stall
- stall will remove pending (not complete) transfer. Correct reset data
toggle when clear stall.
- remove buf ctrl debug code
2021-09-01 16:52:27 +07:00
hathach 90dc9bc289
revert previous changes, edpt stall also clear any pending (not complete) transfer 2021-09-01 12:42:45 +07:00
hathach ab0c3e8dd0
fix rp2040 chapter 9 TD 9.6 test 2021-08-31 17:41:08 +07:00
hathach d047b28aa2
remove set/clear busy flag in set/clear stall since they are different status
note: dcd should resume to prio-stalled queued transfer when unstall
2021-08-31 17:39:54 +07:00
MasterPhi e3bf4c069b UAC2: Add ring buffer support for dcd_transdimension.
Add ring buffer ON/OFF switch.
2021-08-31 12:29:22 +02:00
MasterPhi 16b802d50c add dcd_edpt_close and iso xfer. 2021-08-31 12:02:19 +02:00
Ha Thach e2175f6ed1
Merge pull request #1061 from hathach/samd-compliance
Update SAMD to pass USBCV
2021-08-31 17:00:42 +07:00
MasterPhi 864d8381a7 dcd_transmission xfer_fifo support. 2021-08-31 11:59:51 +02:00
hathach 76345ea3a1
clear stall and reset data toggle when open edpt
required to pass one of msc test.
2021-08-31 16:41:45 +07:00
MasterPhi 8305766afe fix HID_LOGICAL_MAX overflow. 2021-08-31 11:27:43 +02:00
Ha Thach 38f5aee9c3
Merge pull request #1058 from hathach/usbcv-compliant-test
nrf5x USB Compliance Verification Test suite
2021-08-30 17:31:50 +07:00
hathach 6fadf530e0 increase version and update changelog 2021-08-30 12:44:38 +07:00
hathach fdf1ff545f responding with status per-spec in test case 4 2021-08-29 15:44:27 +07:00
hathach 4e3ed8159e passed all USBCV bot complaince test 2021-08-29 13:34:47 +07:00
hathach ee18cc42f2 msc handle more test, passed Command Self Test compliant 2021-08-29 12:06:10 +07:00
hathach ad21b69277 fix nrf clear data toggle sequence when clearing stall 2021-08-29 12:05:34 +07:00
hathach 66c292e2ec fix a couple of nrf dcd issue
- limit out xact dma to prevent usbd overflow in certain situation after
stalled
- drained already acked data when stalling an OUT endpoint
2021-08-29 00:34:21 +07:00
hathach be98cd56c7 update msc to be more robuse
add more log, pass more complaint test
2021-08-29 00:29:29 +07:00
hathach 53ea1e1324 fix msc test case 8 and 10 2021-08-27 23:52:59 +07:00
hathach c6b9f8a530 fix msc case 3 complaint test 2021-08-27 23:33:11 +07:00
hathach 8bad0af849 explicitly clear stall and data toggle for edpoint upon open() 2021-08-27 22:31:08 +07:00
hathach 81c73c235f implement dcd_edpt_close_all() for nrf52840 2021-08-27 22:30:30 +07:00
hathach e01239ccc9 more msc refactoring 2021-08-27 20:05:56 +07:00
hathach 2667ce6981 fix BOT case 2 test compliant 2021-08-27 17:50:02 +07:00
hathach 893dceb198 refactor msc device 2021-08-27 17:30:02 +07:00
hathach 032770682e minor clean up 2021-08-27 13:18:51 +07:00
hathach 9394de6ae7 update msc driver to pass MSC BOT error recovery compliant test 2021-08-27 12:38:41 +07:00
Xu Chun Guang 2202845507 fix: bth stridx error 2021-08-27 10:58:38 +08:00
hathach 629da937f8
slightly change the keyboard descriptor template to pass usb compliant test 2021-08-26 17:55:31 +07:00
hathach 71e77e47fa
add dcd_edpt_close_all() for clear existing configured state
correctly responded to TD 9.13 Set Configuration Test
2021-08-26 17:07:03 +07:00
hathach 07adc26ce3
fix usbcv TD 9.4 Interface Descriptor test 2021-08-26 13:07:10 +07:00
Ha Thach 8d97f0e81f
Merge pull request #1041 from HiFiPhile/vdc
Fix vendor fifo deadlock, add tud_vendor_n_read_flush
2021-08-25 23:22:15 +07:00
hathach 3debeb637a
test hid controller with rp2040 2021-08-24 21:34:51 +07:00
hathach 3c0c051df1
add tuh_vid_pid_get()
complete Sony PS4 dualshock controller example
2021-08-24 19:10:23 +07:00
hathach 88bb8fac3d
rename host API to be consistent with naming on device stack
- tuh_device_get_speed() to tuh_speed_get()
- tuh_device_configured() to tuh_mounted()
- tuh_device_ready() to tuh_ready()
2021-08-24 12:37:04 +07:00
Ha Thach 9c3fdb8135
Merge pull request #1043 from hathach/more-host-improvement
More host improvement
2021-08-24 12:28:41 +07:00
hathach 5d152503ee fix dev0 out of bound array due to leftover 2021-08-24 12:16:23 +07:00
Greg Steiert 86201f77be initial commit of support for K32L2B 2021-08-23 16:17:57 -07:00
hathach 8dc16dd3a7 fix rp2040 build 2021-08-24 01:19:06 +07:00
hathach 353c070d00 exclude dev0 from usbh devices pool 2021-08-24 01:06:05 +07:00
hathach 3309425211 sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB
separate dev0 from _usbh_devices pool to save sram
2021-08-23 19:56:53 +07:00
hathach 75cd593b60 add hcd_devtree_get_info()
remove usbh_hcd.h
2021-08-23 17:00:41 +07:00
hathach a490a3fe61 add hcd attr, add note for ehci framelist on NXP derivative 2021-08-23 15:40:57 +07:00
hathach 4ca176c291 refactor ehci init api 2021-08-23 12:37:54 +07:00
hathach 6a16f6ccdd rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX 2021-08-23 11:01:40 +07:00
hathach 800f85329e add tuh_hid_receive_report() for applicaiton to explicitly request report 2021-08-23 11:00:21 +07:00
MasterPhi 4941cde175 Fix vendor fifo deadlock, add tud_vendor_n_read_flush 2021-08-22 13:26:50 +02:00
MasterPhi 69e539fda4 Fix CI. 2021-08-21 12:11:35 +02:00
MasterPhi e20755442a nuc126: fix set_address & disable sof 2021-08-21 12:04:02 +02:00
hathach beb1a5c678 minor clean up 2021-08-20 19:39:33 +07:00
hathach 22a5b1608c change host driver open return type to bool
the descriptor len used by driver will be calculated by usbh
2021-08-20 19:31:38 +07:00
hathach 97703587d9 improve host configuration parsing
- remove driver class code binding
- fully support IAD
- auto calculate total length for interface descriptor for driver
2021-08-20 19:08:38 +07:00
hathach 62f2efbe8c hid host skip get report descriptor if too large instead of assert 2021-08-20 18:26:56 +07:00
hathach 1cef2b6a42 extra common edpt helper for device and host stack
tu_edpt_validate() and tu_edpt_bind_driver()
2021-08-20 18:01:10 +07:00
kkitayam ff59e98a6a Add compile switch to enable SOF during suspend only 2021-08-19 23:57:34 +09:00
kkitayam 351581537f Removes redundant SOF processing from the Renesas RX family.
The same logic regarding the resume signal was implemented by usbd.

See also: #1023
2021-08-19 22:51:10 +09:00
Ha Thach c4a9a04d67
Merge pull request #1025 from hathach/add-hid-boot-example
add hid_boot_interface example
2021-08-19 11:24:10 +07:00
Ha Thach 3a248951e2
Merge pull request #1024 from HiFiPhile/nuc
Fix nuc126 buffer copy with IAR
2021-08-18 19:14:03 +07:00
Ha Thach 830757d9ce
Merge pull request #1020 from hathach/rp2040-disconnect-suspend
Add Rp2040 suspend & resume support
2021-08-18 16:45:35 +07:00
hathach 3e8276846e correct usb memcpy for nuc120 as well 2021-08-18 16:38:13 +07:00
hathach 9b869463dd skipped suspend/resume if not connected 2021-08-17 17:00:53 +07:00
hathach a6d18c400d fix keyboard report reserved is always 0 2021-08-17 13:29:26 +07:00
Mengsk 7aff4b178e use USBD_MemCopy. 2021-08-17 00:53:12 +02:00
hathach 26d347be17 add note for renesas rx remote wakeup 2021-08-16 20:24:07 +07:00
hathach ab2eec77d4 complete suspend, resume, remote wakeup for nrf52 2021-08-16 20:22:14 +07:00
Ha Thach 2bb63406e9
Merge pull request #959 from KarlK90/gd32vf103-support-tiny-usb
[PORT] Add GD32VF103 support and Sipeed Longan Nano Board support
2021-08-15 18:50:00 +07:00
hathach 09e4348adc move gd32vf103 to its own family 2021-08-15 17:19:25 +07:00
hathach 6af1950c8d
synopsys clear DAD on bus_reset 2021-08-14 01:51:13 +07:00
Tobias Ringström 0ec794376b Fix dcd_set_address bug when called more than once with different
addresses (e.g. after plugging the device into a different port).
2021-08-13 14:11:14 +02:00
hathach d52b981c3a
revert ready() check in claim (do it later in separated PR) 2021-08-12 17:07:39 +07:00
hathach 17ef9f4843
add ready check for edpt claim 2021-08-12 15:54:04 +07:00
hathach 4ad47d9e26
bus_reset will reset all endpoints
allow for dynamic configuration as well as state-less enumeration
2021-08-12 15:40:26 +07:00
Jerzy Kasenberg cde607338d da1469x: Fix no VBUS startup
For self powered device if device started without VBUS present
it would not be correctly attached to USB bus even if tusb_vbus_changed()
was later called.

This modifies dcd_init() so it starts USB state machine without checking
if VBUS is present or not, like all others drivers do.
tusb_vbus_changed() function is also removed its content was moved to dcd_init.
2021-08-12 09:12:25 +02:00
hathach 4f2999bc04
white space 2021-08-12 00:31:26 +07:00
hathach 88d4cb402d
simplify hw_endpoint_init() 2021-08-12 00:11:04 +07:00
hathach a2baf9427d
more dcd clean up 2021-08-11 20:36:23 +07:00
hathach 979af6c2a8
clean up endpoint set/clear stall 2021-08-11 20:29:39 +07:00
hathach f3a6e564ee
rp2040 enable suspend and resume interrupt 2021-08-11 20:06:57 +07:00
Jerzy Kasenberg 2c7bb540b4 dcd_da1469x: Use mcu.h instead of MCU specific header
dcd_da1469x can work with broader range of MCUs that
share same USB core.
Specific header file that was used DA1469xAB.h now it is changed
to mcu/mcu.h which includes actual MCU specific register file.
2021-08-10 20:26:51 +02:00
hathach 2ea0ef4543
correct newline usage keycode (ENTER 0x28) 2021-08-10 16:40:43 +07:00
Robert Manzke ea72d64992 STM32L151 portable driver adaptations 2021-08-08 08:30:52 +02:00
Stefan Kerkmann 8b78067cc1 Use linear buffer for GD32VF103
As the peripheral is the same as on the STM32F1 and STM32F4 lines we do the same.
2021-08-07 12:06:54 +02:00
Stefan Kerkmann 4cebde65ec Remove unnecessary define guard
The GD32VF103 family only has USB-OTG peripherals.
2021-08-07 12:00:13 +02:00
Stefan Kerkmann 7682829820 Add correct endpoint count for GD32VF103
This controller family only supports USB FS with four endpoints
2021-08-07 09:01:01 +02:00
Stefan Kerkmann c6d495d643 Remove dependencies to external libraries for the dcd driver
The core of tinyusb must be as independent as possible, we previously
relied on nuclei-sdk or the GD32VF103 firmware library for the synopsys
driver to work with the GD32VF103. Fortunatly we needed very few parts
from them so we implement them here.
2021-08-07 08:55:25 +02:00
Ha Thach 88f5c04fe0
Merge pull request #985 from HiFiPhile/same70
SAMx7x improvements
2021-08-06 11:32:57 +07:00
MasterPhi a698dda67e Minor fix. 2021-08-05 09:56:24 +02:00
Stefan Kerkmann 3eb54d878a Add stm32 license header 2021-08-03 20:21:06 +02:00
Stefan Kerkmann 2657560b63 Add hacky GD32VF103 support 2021-08-03 20:00:35 +02:00
hathach 794bbd7177 fix warning 2021-08-02 18:58:27 +07:00
hathach 98e4ba6a12 correct midi available with already stream read 2021-08-02 18:55:12 +07:00
kkitayam 45e55a8ea0 fix: D0FIFOSEL setting was incorrectly when big-endian is selected.
In pipe_xfer_in(), the endianness setting of D0FIFOSEL was lacking due to refactoring.
And add type cast operation to avoid warnings by CCRX.
2021-07-31 12:20:19 +09:00
MasterPhi 383290a634 Move register define to separate header. 2021-07-30 21:15:58 +02:00
MasterPhi c4cd36980d Add cache clean/invalidate. 2021-07-30 12:07:23 +02:00
kkitayam ff20e4d6bc add the entry for RX72N 2021-07-29 20:45:51 +09:00
kkitayam 3c3563288d add RX65N 2021-07-29 20:24:12 +09:00
kkitayam 6b9f8e454e add a condition regarding OPT_MCU_RX63N 2021-07-29 20:24:12 +09:00
kkitayam e7c9cf4aea Change the accessing method of TU_FIFO from read/write_n_const_addr_full_words to get_write/read_info and advance_write/read_pointer pairs. 2021-07-29 20:24:11 +09:00
kkitayam 3f49380b37 added support for dcd_edpt_xfer_fifo 2021-07-29 20:22:33 +09:00