Commit Graph

3057 Commits

Author SHA1 Message Date
Ryzee119 d5e6d02817 ohci: Leave SMM or bios mode during init 2023-02-18 10:24:21 +10:30
Ryzee119 c820c87692 ohci: Support configurable number of roothub ports 2023-02-18 10:24:21 +10:30
Ryzee119 d367e8f8a8 ohci: Expand roothub descriptors into unions 2023-02-18 10:24:21 +10:30
rppicomidi fde7577117 Fix issue 1909 2023-02-15 20:02:12 -08:00
Jeff Trull 7e2c5fcc8a Correct bitfields for cdc_desc_func_telephone_call_state_reporting_capabilities_t 2023-02-12 20:52:17 -08:00
Jeff Trull f48ae4aad7 Adjust reserved bitfields to make SDCC happy
- keep each field at or under 16b
- For optimal packing, segment fields to 8b boundaries
2023-02-10 15:54:04 -08:00
hathach 7e48da5b44
update version to 0.15.0
add changelog
2023-02-10 12:47:48 +07:00
hathach 3422e05684
change length in tud_hid_report_complete_cb() from uint8 to uint16 2023-02-04 11:43:23 +07:00
Ha Thach d6354a2aa7
Merge pull request #1877 from hathach/fix-host-cdc-without-iad
Fix host cdc without iad
2023-02-01 11:18:04 +07:00
Ha Thach 49628d8c18
Merge pull request #1779 from P33M/rp2040_device_babble_fix
rp2040: avoid device-mode state machine hang
2023-01-31 21:38:27 +07:00
hathach ddb061f639 fix typos 2023-01-31 19:03:31 +07:00
hathach 95403ed9ac fix host issue when mounting an CDC device without IAD 2023-01-31 18:40:07 +07:00
hathach 6759721e9a move errata to end of c file 2023-01-31 17:38:27 +07:00
hathach 19b6cbc616 add e15 prefix or walkaround related functions, also minor refactor 2023-01-31 17:15:42 +07:00
hathach 0cce42fcc6 minor clean up 2023-01-31 11:38:15 +07:00
Ha Thach b03a688b24
Merge pull request #1768 from ftdigdm/port-ft90x
Port ft90x
2023-01-30 22:13:14 +07:00
hathach 6257123157 Merge branch 'master' into support-iar 2023-01-30 16:44:22 +07:00
hathach cc18784479 hardcoded configPRIO_BITS for IAR build to pass CI 2023-01-30 16:42:56 +07:00
hathach 6dd40603f9 fix typo 2023-01-30 11:46:52 +07:00
Ha Thach 88f3279c3c
Merge branch 'master' into port-ft90x 2023-01-30 11:40:53 +07:00
Jonathan Bell 0d2078d295 rp2040: shuffle hw_endpoint members
Ordering by element size prevents alignment holes, and as a consequence the
host mode version of the struct is the same size as device, as pad bytes at
the end are used instead.
2023-01-24 12:05:32 +00:00
Jonathan Bell 73b0047efc rp2040: avoid device-mode state machine hang
Don't mark IN buffers as available during the last 200us of a full-speed
frame. This avoids a situation seen with the USB2.0 hub on a Raspberry
Pi 4 where a late IN token before the next full-speed SOF can cause port
babble and a corrupt ACK packet. The nature of the data corruption has a
chance to cause device lockup.

Use the next SOF to mark delayed buffers as available. This reduces
available Bulk IN bandwidth by approximately 20%, and requires that the
SOF interrupt is enabled while these transfers are ongoing.

Inherit the top-level enable from the corresponding Pico-SDK flag.
Applications that will not use the device in a situation where it could
be plugged into a Pi 4 or Pi 400 (for example, when directly connected
to a commodity hub or other host) can turn off the flag in the SDK.

v2: use a field in hw_endpoint to mark pending.

v3: Partial rewrite following review comments

- Stub functions out if the workaround is not required
- Only force-enable SOF while any vulnerable endpoints are active
- Respect dcd_sof_enable() functionality
- Get rid of all but necessary ifdef hackery
- Fix a bug where the "endpoint lock" was used with an uninitialised pointer.
2023-01-24 11:53:28 +00:00
Jonathan Bell c3e47c31cc rp2040: export hw_endpoint_start_next_buffer() and hw_endpoint_lock_update()
The next change to the driver requires the export of these functions. Leave the
lock unimplemented for now.

Also move hw_set and hw_clear aliases into the top-level header file.
2023-01-23 10:55:20 +00:00
hathach 1bbeb6ad79 update stm32f1 to support iar build 2023-01-21 11:32:37 +07:00
Nathaniel Brough 18c3095346 fix: Change all static variables to thread when fuzzing 2023-01-20 15:45:31 -08:00
hathach daec3c24d8 fix warnings with arithmetic on void* pointer 2023-01-20 15:30:45 +07:00
hathach 074289caa3 add helper tu_desc_find/find2/find3 2023-01-20 15:30:24 +07:00
Ha Thach ea098aeda1
Merge pull request #1847 from HiFiPhile/dwc2_iar
dwc2: fix iar warnings
2023-01-18 17:41:33 +07:00
Nathaniel Brough 2e47210c1a fix: Replace device calls to memcpy with tu_memcpy_s
Introduces a new function tu_memcpy_s, which is effectively
a backport of memcpy_s. The change also refactors calls
to memcpy over to the more secure tu_memcpy_s.
2023-01-13 15:20:32 -08:00
Ha Thach fa9d19027b
Merge pull request #1405 from gregdavill/ch32v307
Add WCH CH32V307 port
2023-01-12 17:51:56 +07:00
hathach b1021d53f3 add TUP_RHPORT_HIGHSPEED for ch32v307 2023-01-12 15:38:18 +07:00
hathach 3cf21c66b6 add dcd_remote_wakeup() stub 2023-01-12 15:26:48 +07:00
hathach e61d4aefe6 rename driver with dcd_ to be consitent with other ports 2023-01-12 12:08:56 +07:00
hathach 3cc6cece07 add note for openocd with wch, also add wch-riscv.cfg 2023-01-12 10:25:48 +07:00
MasterPhi 9d19ed940e dwc2: fix IAR warnings. 2023-01-11 18:50:38 +01:00
Ha Thach 8775d55adc
Merge pull request #1843 from HiFiPhile/ip3511
ip3511 : Fix IAR build.
2023-01-09 10:02:59 +07:00
MasterPhi 57de6016f9 ip3511 : Fix IAR build. 2023-01-08 11:23:18 +01:00
Ha Thach 949950e592
Merge branch 'master' into ch32v307 2023-01-07 23:46:46 +07:00
Ha Thach 83cc71feaf
Merge pull request #1820 from Staacks/master
Fix UVC probe and commit on MacOS
2023-01-07 23:30:30 +07:00
hathach c84de8f06b
minor clean up 2023-01-07 19:40:06 +07:00
hathach 9e551c9f5c
remove _ff_overflowed() due to lack of use 2023-01-07 19:00:04 +07:00
hathach c29b7643a5
simplify _ff_correct_read_index() 2023-01-07 18:53:00 +07:00
hathach 248025bb6c
reverse idx2ptr() arguments to be consistent 2023-01-07 17:29:43 +07:00
hathach 24bd1c9562
update advance_pointer/backward_pointer to use depth instead of fifo, also rename to advance/backward_index 2023-01-07 17:27:26 +07:00
hathach 507d5b10b0
simplify _tu_fifo_count() and _tu_fifo_remaining(), also rename to _ff_count() and _ff_remaining() 2023-01-07 17:14:17 +07:00
hathach a804a1ac09
simplify and remove _tu_fifo_empty, _tu_fifo_full. Also correct full condition check 2023-01-07 16:48:07 +07:00
hathach 82457519fa minor clean up 2023-01-07 16:12:35 +07:00
hathach 2a1b81e3c5 minimize tu_fifo size to 16
- remove non_used_index_space
- packed overwritable with item_size
2023-01-06 11:51:17 +07:00
hathach 9c73c1a532 minor clean up 2023-01-06 10:56:19 +07:00
hathach b42d298b81 Merge branch 'master' into fix-fifo-memory-overflow 2023-01-06 10:52:25 +07:00
Ha Thach 6e23c596cc
Merge pull request #1837 from pete-pjb/master
Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION in usbh.c
2023-01-06 10:24:55 +07:00
Mengsk 8db462bf6e Add fix to dcd_edpt_iso_activate() 2023-01-05 16:54:42 +01:00
Simon Kueppers d6b612257e Fixed bug where with some devices, the TU_ASSERT inserted with this commit gets triggered for ISOCHRONOUS endpoints. It is necessary for those endpoints to set the NUM_BLOCK and BLSIZE for the receiving buffer in both, USB_COUNTn_TX and USB_COUNTn_RX. Despite the datasheet showing those fields only for the USB_COUNTn_RX register 2023-01-05 16:23:53 +01:00
Mengsk 8c591e2c45 More warning fixes 2023-01-04 12:40:01 +01:00
pete-pjb f5cffeedec Fix typo in audio.h. Specifiy _ctrl_xfer struct in CFG_TUSB_MEM_SECTION
Add NULL check to loop in list_remove_qhd_by_addr() function in ehci.c
2023-01-03 10:33:36 +00:00
Mengsk 82f105e32b Fix IAR warning: Warning[Pe381]: extra ";" ignored 2023-01-02 21:18:10 +01:00
Mengsk 69475cd1bf Remove tu_stm32_sof_cb 2023-01-02 12:06:26 +01:00
Mengsk 7228239eb9 Clean up. 2023-01-02 09:43:48 +01:00
Mengsk 51bb27a131 Optimize descriptor looping. 2022-12-31 13:37:22 +01:00
Mengsk fc32280f42 Fix buffer allocation overflow. 2022-12-30 15:10:00 +01:00
Mengsk 21bdafcfef Add ISO buffer allocation. 2022-12-30 01:08:04 +01:00
Mengsk 07ad64adfe Do not set USB_EP_RX_NAK for ISO EP. 2022-12-29 23:30:24 +01:00
Mengsk db65759b1e Use weak for dcd_edpt_iso_alloc/dcd_edpt_iso_activate 2022-12-29 23:29:50 +01:00
Mengsk 0bd41d5354 Fix CI. 2022-12-29 21:37:44 +01:00
Mengsk e4f07206f8 UAC : Enable fifo based transfer on stm32_fsdev 2022-12-29 19:34:12 +01:00
Mengsk fe8c170c98 Add dcd_edpt_iso_alloc() / dcd_edpt_iso_activate() for ISO EP buffer management. 2022-12-29 19:19:27 +01:00
Mengsk cece59df22 Generally enable ISO xfer. 2022-12-29 12:33:44 +01:00
Mengsk ef2f17a514 Add hardware endpoint allocator. 2022-12-29 12:33:43 +01:00
Mengsk b156a8b78c dcd_stm32_fsdev : Implement FIFO transfer correctly. 2022-12-29 12:33:43 +01:00
Mengsk 17990025bb dcd_stm32_fsdev : Fix index out of bound in dcd_write_packet_memory()
If src is odd then src[wNBytes] is accessed.
2022-12-29 12:33:43 +01:00
Simon Kueppers 1d37f5ef9b Added improvements with regards to SOF timing jitter 2022-12-29 12:33:16 +01:00
Simon Kueppers 76413a95d4 Added TU_ATTR_ALWAYS_INLINE to all static inline functions 2022-12-29 12:29:47 +01:00
Simon Kueppers 9ec21248d7 Fixed various small problems and inaccuracies regarding ISOCHRONOUS endpoint 2022-12-29 12:29:47 +01:00
Mengsk b4b619abd6 SHA-1: 5cb3ed518301e2237ee4e468e97e51ece0ba3838
* Correct handling of SOF interrupt
2022-12-29 12:29:28 +01:00
Mengsk 8327090171 Merge branch 'master' of https://github.com/hathach/tinyusb into stm32_fsdev 2022-12-29 12:14:52 +01:00
Simon Kueppers d584b07e2c Fixed problem where the transmit byte count was written into the wrong register on ISOCHRONOUS endpoints 2022-12-29 12:13:56 +01:00
Simon Kueppers 510720b396 Renamed pcd_set_ep_rx_cnt because it actually sets the maximum buffer size 2022-12-29 12:13:56 +01:00
Simon Kueppers 9a84390878 Changed comments, added define to fail if ISOCHRONOUS endpoint is not available but requested 2022-12-29 12:13:56 +01:00
Simon Kueppers ec826732fc Fixed non-aligned allocated memory sizes 2022-12-29 12:13:56 +01:00
Simon Kueppers abf53f9270 Changed indirection from actual endpoint address to hardware endpoint through lookup table. Allocation of endpoint is now only performed in dcd_edpt_open 2022-12-29 12:13:56 +01:00
Simon Kueppers 8c0388f477 Fixed wrongly enabling RX and TX status simultaneously on ISOCHRONOUS endpoints 2022-12-29 12:13:56 +01:00
Simon Kueppers d9b2c9934a Implemented an optional callback function that is used instead of tu_edpt_number in the stm32 device driver as a crude tool to control mapping of the endpoint address to actual endpoint register 2022-12-29 12:13:56 +01:00
Simon Kueppers 6d65eaf7a1 Implemented very rudimentary support for isochronous transfer buffer handling 2022-12-29 12:13:55 +01:00
Staacks 95ba158a10 Fix UVC probe and commit on MacOS 2022-12-27 23:02:33 +01:00
hathach d0ca6ca8f7
fix ncm warning 2022-12-27 18:21:56 +07:00
Ha Thach 301b6af6c6
Merge pull request #1801 from tyustli/tyustli_sem_reset
[add] semaphore reset support for rt-thread
2022-12-26 13:09:47 +07:00
hathach 48d4a67ec5
add tuh_cdc_peek() 2022-12-24 01:11:13 +07:00
hathach 15a02d04df
fix incorrect rx buf in cdc 2022-12-22 21:35:55 +07:00
Ha Thach 2777df411f
Merge pull request #1809 from hathach/host-cdc
Support Host CDC
2022-12-22 21:29:00 +07:00
hathach 396716cc2c
clean up 2022-12-22 20:26:32 +07:00
hathach f33883c308
add tuh_cdc_get_local_line_coding() 2022-12-22 19:41:39 +07:00
hathach 14d45b580e
correct host cdc enum 2022-12-22 19:17:09 +07:00
hathach 05c119ce97
cdc host, add set line coding API 2022-12-22 18:28:06 +07:00
hathach 11233e4d3e
minor clean up 2022-12-22 11:43:57 +07:00
hathach c99af908f1
fix typo 2022-12-22 11:41:27 +07:00
hathach 2d536123c8
finish moving edpt stream to tusb.c 2022-12-22 11:31:37 +07:00
hathach e3c9d94500
fix stream read count computation 2022-12-22 11:16:39 +07:00
hathach 8323e4b79a
moving edpt_stream API into common tusb.c 2022-12-22 08:52:01 +07:00
hathach 9e8ea44925 add tuh_cdc_write_clear, rename read_flush() to read_clear() 2022-12-21 17:49:50 +07:00
hathach cd9008e5a9 add tuh_cdc_tx_complete_cb() callback 2022-12-21 13:05:45 +07:00
hathach 84a483f5ea add more host cdc API
tuh_cdc_write_available(), tuh_cdc_read_flush(), tuh_cdc_rx_cb()
callback
2022-12-21 12:47:00 +07:00
hathach edc559cb4d fix ci 2022-12-21 12:29:51 +07:00
hathach badb30a6c3 correct cdc host app 2022-12-21 12:25:13 +07:00
hathach 22b62f8712 add tu_edpt_stream_write_zlp_if_needed() 2022-12-21 12:07:12 +07:00
hathach 76021c7359 rename tud_edpt_stream_write_xfer 2022-12-21 11:49:28 +07:00
hathach cb2af4c0bc minor debug log 2022-12-21 11:46:58 +07:00
hathach d1ea3844f7 rename TU_LOG_VAR to TU_LOG_PTR, print out setup of failed control transfer when LOG=1 2022-12-21 11:04:57 +07:00
hathach 37529c41da fix ci 2022-12-21 10:46:47 +07:00
hathach 854e5222ae finalizing cdc host, has a working read/write
TODO: first character seems not to get echoed. set control line state
seems to failed with LOG < 2
2022-12-21 00:26:46 +07:00
hathach 7004914d8c fix hid host incorrect edpt release if failed to transmit
add CDC_CONTROL_LINE_STATE_DTR/RTS, TUSB_INDEX_INVALID enum
2022-12-20 12:06:59 +07:00
jbruneaux31 a46ad8fcdf
Update osal_freertos.h
Fix FreeRTOS task switch even if not required (unitialized variable usage)
2022-12-19 13:58:54 +01:00
tyustli e992ff46d2
Update osal_rtthread.h 2022-12-19 17:25:35 +08:00
tyustli 7d76c172db
[add] semaphore reset support for rt-thread
add  semaphore reset support for rt-thread
2022-12-19 17:18:47 +08:00
hathach fc9321ce26 correct cdc usbh_driver_set_config_complete() 2022-12-16 23:54:21 +07:00
hathach 4811b3463f stub 2022-12-16 17:08:37 +07:00
hathach bd1f7f86ce add common EPSIZE for bulk/iso in full and highspeed
adding cdc host fifo tx/rx
2022-12-16 17:08:37 +07:00
hathach f62f973956 minor rename 2022-12-16 17:08:37 +07:00
hathach f0c51eae44 cdc check for bNumEndpoints before checking for endpoint descriptor 2022-12-16 17:08:37 +07:00
hathach 4f03695084 adding tuh_cdc_mount_cb/tuh_cdc_umount_cb
start adding cdc_app.c to example
2022-12-16 17:08:37 +07:00
Ha Thach 159aa599be
Merge pull request #1799 from hathach/update-osal-mutex
Update osal mutex
2022-12-16 17:05:25 +07:00
hathach 660343d200 update fifo per PanRe review 2022-12-16 16:55:25 +07:00
hathach 1e99480ad2 fix ci with usbh and unit test 2022-12-16 15:19:40 +07:00
hathach 96d2be905b fix build with usbtmc 2022-12-15 18:47:54 +07:00
hathach 88e6da7273 use OSAL_MUTEX_REQUIRED to replace CFG_FIFO_MUTEX/TUSB_OPT_MUTEX
add macro to swallow mutex API in order to simplify code with mutex
2022-12-15 18:03:01 +07:00
hathach a05adfce86 fix midi MS Header wTotalLength computation 2022-12-14 14:38:40 +07:00
hathach 04a5c03ea8 fix int conversion warnings 2022-12-12 11:54:33 +07:00
hathach ce064de6fd clean up 2022-12-10 00:18:11 +07:00
hathach 82852774a7 add fifo implementation note
- handle/fix double overflowed with write()
- other minor clean upp
2022-12-09 18:20:09 +07:00
Ha Thach f4f85bad54
Merge pull request #1783 from scoudreau/usbtmc-high-speed
usbtmc: correct packet size bug
2022-12-09 09:52:23 +07:00
scoudreau 007ed1f0fe
Added missing typecast to pass build checks 2022-12-08 14:50:34 +01:00
Sebastien COUDREAU 071da47944 Correct interrupt polling interval in descriptor
Use macro argument instead of 0x16 constant value.
At least Linux kernel was complaining about this value:
"config 1 interface 0 altsetting 0 endpoint 0x82 has an invalid bInterval 22, changing to 8"
(warning obtained using usbtmc device config)
2022-12-08 11:44:15 +01:00
Sebastien COUDREAU 15ab35d9b8 usbtmc: correct packet size bug
Code was only reading the first 64 bytes of a 512 bytes packet.
2022-12-08 11:35:32 +01:00
hathach 3e32fa36b8 enhance tu fifo
- rename wr/rd absolute to index, and rel to pointer.
- fix crash with _tu_fifo_remaining()
- change get_relative_pointer() to idx2ptr() and merge with _ff_mod()
2022-12-08 16:39:24 +07:00
hathach 19400c8556 fix typo, add -Wno-error=unreachable-code for fuzz due to latest cdc changes 2022-12-08 10:30:22 +07:00
Tomas Rezucha 603effbb77 cdc: Fix autoflush for FIFO < MPS 2022-12-06 07:49:26 +01:00
Ha Thach f03c28ec31
Merge pull request #1776 from hathach/hid-fido
Hid fido
2022-12-05 14:32:49 +07:00
hathach d58120647a rename to match fido sample uf2_hid..h 2022-12-05 13:18:05 +07:00
Ha Thach 71a5906865
Merge pull request #1767 from pete-pjb/master
Allow the use of non-static allocation for FreeRTOS mutexes & queues
2022-12-05 12:45:48 +07:00
hathach de5a67bf3b clean osal_freertos, update freertos examples to work with configSUPPORT_DYNAMIC_ALLOCATION only
note: for example to build with configSUPPORT_STATIC_ALLOCATION = 0, one
of heap_n.c must be included in makefile/cmake
2022-12-05 12:09:41 +07:00
hathach 43b255f413 more typos 2022-12-04 19:44:01 +07:00
Bastien Nocera 6a2cf67289 Fix typos 2022-12-04 19:43:23 +07:00
pete-pjb 52261ac02d Back out another of my changes I am still investigating. 2022-12-02 10:13:35 +00:00
pete-pjb 3816869fce Some reverts and changes after discussion. 2022-12-02 10:00:19 +00:00
pete-pjb c31b95c916 Added CFG_TUSB_MEM_SECTION define to struct _ctrl_xfer in usbh.c 2022-12-01 17:53:35 +00:00
PeterB ae588d796e Alter tuh_task_ext() function so no need to return when using FreeRTOS 2022-12-01 16:06:15 +00:00
pete-pjb 25abb10de1 Fix white space issue. 2022-11-30 13:26:59 +00:00
Pete Bone 0ddd5591af
Merge branch 'hathach:master' into master 2022-11-30 13:43:45 +01:00
Gordon McNab aceab1dcf3
Merge branch 'hathach:master' into port-ft90x 2022-11-30 12:16:52 +00:00
hathach c9c7dfa868
more clean up 2022-11-30 18:59:58 +07:00
hathach 069215c538
white spaces 2022-11-30 18:58:30 +07:00
Gordon McNab fe63e30a44 Add FT9xx for cdc_dual_ports
Fix handling of interrupt endpoints. i.e. no ZLPs.
Fix the assignation of endpoint types.
Add button support for MM900evx boards.
On board support do not block for UART input.
2022-11-30 11:46:13 +00:00
pete-pjb d588167a39 Modify FreeRTOS integration to allow non-static allocation. 2022-11-30 11:33:24 +00:00
Ha Thach 2ae6a4d519
Merge pull request #1755 from rppicomidi/fix_1721
Fix RP2040 Issue 1721
2022-11-30 18:00:27 +07:00
Gordon McNab 7d8d3eca73 Fix transfers issues with FT9xx
Correct USB FIFO use for setup data phases (OUT transfers). We cannot stop traffic on the control endpoint so we set a flag and pull data from host when tinyUSB requests it from the USB FIFO. Extend this for all endpoints although currently not required.
Rename all instances of ft90x which can apply to ft93x as ft9xx.
Add support for the cdc_dual_ports example for ft9xx.
Add LED pin definition for board LED in a simple to access place on the Bridgetek MM900EVx boards.
2022-11-29 18:49:23 +00:00
Gordon McNab 1fce76ad47 Fix issue with the CDC SetLineCoding request
The SetLineCoding would fail as host would send the SETUP OUT phase before tinyUSB had setup a transaction for it. ft9xx port would ignore the transfer since there was no valid transaction setup for it. One SETUP data phase packet is cached now.
2022-11-28 17:41:00 +00:00
hathach be6f6f2c99 increase delay between attempts to 100ms 2022-11-28 23:43:52 +07:00
hathach b2a3f33046 Retry a few times with transfers in enumeration since device can be unstable when starting up 2022-11-28 23:22:10 +07:00
rppicomidi 9825fbe9ac Fix RP2040 Issue 1721 2022-11-23 13:12:31 -08:00
hathach 7298923927 rework tuh_msc_complete_cb_t signature to use new tuh_msc_complete_data_t
add user arg to all scsi command API that support complete callback
2022-11-23 16:01:48 +07:00
hathach 460bef9dbb
host msc example work well with rp2040 pio-usb 2022-11-21 15:49:38 +07:00
hathach 64ecf43663
whitespace 2022-11-21 11:53:15 +07:00
Ha Thach 2dc7a62361
Merge pull request #1738 from kaysievers/midi-port-names
MIDI: support port name strings
2022-11-16 16:36:13 +07:00
Kay Sievers abfcdf2cfb MIDI: support port name strings
This allows to set custom descriptive names for virtual MIDI
ports/cables. A MIDI port offers different functionality on
the same physical USB device. The names make it easier to
distinguish one from the other.
2022-11-11 22:48:29 +01:00
Mengsk f3f3739073 Fix DCD build. 2022-11-07 13:38:35 +01:00
Mengsk 9d3d8fd5b0 Merge branch 'master' of https://github.com/hathach/tinyusb into bsp_412 2022-11-07 12:47:41 +01:00
Mengsk 1eae139aa9 Add support for STM32L412. 2022-11-07 12:32:36 +01:00
hathach d2c9b8bcfb fix -wconversion-int and add minor comment 2022-11-04 16:14:35 +07:00
Ha Thach b554c2ed83
Merge branch 'master' into rp2040-hcd-bulk 2022-11-04 15:42:50 +07:00
Ha Thach 28f49c088b
Merge pull request #1698 from battlesnake/fix-attrs-on-struct-member
do not apply storage attributes to member of struct
2022-10-25 15:23:09 +07:00
Mark K Cowan 815c2cc995 keep alignment spec 2022-10-24 20:36:45 +03:00
Ha Thach 5b1b383d2a
Merge pull request #1676 from tswan-quasi/master
dcd_lpc_ip3511: isochronous support and endpoint accidental write fix
2022-10-24 19:08:58 +07:00
hathach e3b7ed9ae9 use dummy for all ZLP for ip3511, fix lpc55 build with DEBUG=1 2022-10-24 18:43:21 +07:00
tswan-quasi 35e1a27c95 unused (void) cast 2022-10-21 15:06:30 -04:00
Ha Thach bfcdef499a
Merge pull request #1690 from tore-espressif/fix/espressif/iso_transfers
esp: Fix Isochronous transfers
2022-10-22 00:34:38 +07:00
Mark K Cowan 4ec1643bdb do not apply storage attributes to member of struct 2022-10-20 22:46:21 +03:00
tswan-quasi 0b55047081 typo fix 2022-10-20 11:04:49 -04:00
tswan-quasi fe4278554b dummy buffer only on EP0 OUT ZLPs 2022-10-20 11:02:57 -04:00
Ha Thach 39be00975c
Merge pull request #1680 from LynnL4/port-stm32u5xx
Port stm32u5xx
2022-10-19 23:10:30 +07:00
Ha Thach e79325adec
Merge pull request #1668 from kkitayam/add_support_for_mjpeg
Add support for MJPEG on UVC
2022-10-19 23:10:11 +07:00
Ha Thach 2cd4e27e98
Merge pull request #1523 from maddyaby/dcd_edpt_open
Allow more endpoint packet sizes for SAMD
2022-10-19 22:56:36 +07:00
Tomas Rezucha a49ca795af esp: Fix Isochronous transfers
On ESP32-S2/S3 ISO transfers must be configured for even or odd frame.

Closes https://github.com/hathach/tinyusb/issues/1382
2022-10-18 08:05:13 +02:00
hathach 3f45f37672
minor rename 2022-10-17 23:13:24 +07:00
gaoyichuan 3846d5f38c hid: add configurable report size for fido 2022-10-15 19:22:21 +08:00
gaoyichuan 2a520fb921 hid: add fido hid descriptor templates 2022-10-15 19:07:07 +08:00
Ha Thach 154821acc0
Merge pull request #1646 from battlesnake/feedback-prototype-fix
audio_device: prototype added for function referenced before use
2022-10-14 16:28:26 +07:00
tswan-quasi 2c1ff2673b (void) rhport for unused parameter 2022-10-13 11:48:30 -04:00
LynnL4 4238467b2d Add support for STM32U5 mcu 2022-10-13 17:39:42 +08:00
tswan-quasi 930c68278c double cast of pointer to remove error 2022-10-12 11:16:35 -04:00
kkitayam 53dc9d55b5 Fix pointer type to calculate streaming parameter 2022-10-12 20:41:03 +09:00
tswan-quasi 16f1554a03 lpc55s69 isochronous, dummy address for endpoint buffers to prevent accidental writes 2022-10-11 09:59:28 -04:00
Ha Thach a95fb36f72
Merge pull request #1623 from SudoMaker/master
Initial PIC32MM/MX & PIC24 support
2022-10-10 20:18:01 +07:00
kkitayam 4be7ffd63f Fix max payload size to clip at 1023 2022-10-07 21:30:03 +09:00
ReimuNotMoe 8096afc6de Microchip PIC24/dsPIC33 device mode support 2022-10-06 03:45:51 +08:00
mingpepe 988eeb50c6
Fix typo for log in dcd_rp2040.c 2022-10-05 21:26:22 +08:00
kkitayam ee832e4e37 Fix descriptor searching 2022-10-03 21:41:58 +09:00
Mark K Cowan 6c3c2df823 audio_device: prototype added for function referenced before use 2022-09-17 21:27:04 +03:00
Ben Avison 73f22e31c7 [rp2040] Wrap GCC pragmas in #ifdef __GNUC__
IAR generates warning Pe161 'unrecognized #pragma'.
2022-09-13 18:00:51 +01:00
Ben Avison 01edbb8af6 IAR doesn't support __attribute__((fallthrough))
IAR generates warning Pa167 'the "fallthrough" attribute is not supported'.
It doesn't generate warnings when one switch case falls through to another,
so simply make TU_ATTR_FALLTHROUGH expand to an empty string.

Also replace one instance of __attribute__ with the macro.
2022-09-13 18:00:51 +01:00
Ben Avison 62d90c8500 Move variable into its own curly-brace scope
IAR generates warning Pe546 'transfer of control bypasses initialization of
variable "invInvTag"'.
2022-09-13 18:00:51 +01:00
Ben Avison caff3b5c54 Remove unused static data
This affects struct rspMsg in usbtmc_app.c (unconditionally) and uint8_t
termChar in usbtmc_device.c (when NDEBUG is defined). IAR generates warning
Pe550 'variable was set but never used'.
2022-09-13 18:00:51 +01:00
Ben Avison 6a2d01bae4 Don't assume different enum types can be combined
IAR generates warning Pa089 'enumerated type mixed with another enumerated
type'.
2022-09-13 18:00:51 +01:00
Ben Avison 53f0d5538b Don't assume ints automatically convert to enums
IAR generates warning Pe188 'enumerated type mixed with another type'.
2022-09-13 18:00:50 +01:00
Ben Avison 65ba15c37d Remove unreachable code
IAR generates warning Pe111 'statement is unreachable'. In a couple of
cases, replace return statements with TU_ATTR_FALLTHROUGH; because some
compilers apparently can't figure out that the return statements are
unreachable but do whinge about an imagined fall-through without them!
2022-09-13 18:00:50 +01:00
Ben Avison 16518dcbbb Refactor pointer arithmetic on void*
This is a GCC extension, illegal in ISO C. IAR generates errors Pa152
'these operand types cannot be used here' and Pe852 'expression must be a
pointer to a complete object type'.

Replace with uint8_t*.
2022-09-13 18:00:49 +01:00
kkitayam 1debf62707 Fix compile errors 2022-09-13 21:22:02 +09:00
kkitayam e80714740c Change images to MJPEG 2022-09-13 21:22:02 +09:00
Ha Thach 111515a29c
Merge pull request #1629 from jmark1m/master
Fix bug #1628 by preventing shared irq slots for filling up
2022-09-13 15:08:12 +07:00
Jerzy Kasenberg 3133cacc6a nrf5x: Fix reception of large ISO packets
ISO packet size is up to 1023 for full speed device.
Upon completion of ISO reception, reported length of incoming packet
was truncated to one byte only.
This results in incorrect data stream for higher bit rates
48 samples * 4 bytes per sample * 2 channels = 384 bytes of data
and 128 was reported.

There is no change in logic extending xact_len to uint16_t fixes the issue.
2022-09-13 08:11:56 +02:00
hathach 7a48b1f0d1 re-added code in pr 1438 to fix compile with h7 with 1 usb otg 2022-09-13 11:04:48 +07:00
Ben Avison 6dfc857b91 [rp2040] Explicit cast value of `hw_set_alias`
Some compilers don't support the GNU extension `typeof` so their definitions
of `hw_set_alias` can't inherit their type from their argument, and the best
we can do is have `hw_set_alias` act the same as `hw_set_alias_untyped`.
This requires an explicit cast when the macro is used instead, otherwise
IAR generates error Pe132 'expression must have pointer-to-struct-or-union
type but it has type "void *"'.

The same goes for `hw_clear_alias`.
2022-09-12 18:46:09 +01:00
Ben Avison e5355d0335 [rp2040] Remove non-portable return statements
IAR generates error Pe118 'a void function may not return a value'.
2022-09-12 18:46:09 +01:00
jmark1m 0931b52b66 Fix bug #1628 by preventing shared irq slots for filling up 2022-09-07 15:10:44 -05:00
ReimuNotMoe c5992edc7d Initial PIC32MM/MX & PIC24 support 2022-09-03 05:19:50 +08:00
Jerzy Kasenberg 5e3cfe7b57 nrf5x: Fix endpoint internal state when closed
Field started (regardind transfer) was only cleaed when transfer
was finished.
For audio devices set interface is called many times.
When there is no audio (silence) set interface requests zero
lenght bandwithd that in turn calls dcd_edpt_close().

When endpoint is closed due to set interface request transfer
should not longer be started since it will block next start transfer
with assert.

This just sets 'started' to false when endpoint is closed.
2022-08-26 08:10:15 +02:00
Ha Thach f6c1ce5b1c
Merge pull request #1569 from hathach/release-0.14.0
increase version to 0.14.0 for release
2022-08-19 21:13:09 +07:00
Ha Thach 792b2fb956
Merge pull request #1603 from Ryzee119/hub_improv
Host hub clear port and device interrupts
2022-08-17 15:03:48 +07:00
Ryzee119 2b2354d302 Hub: Clear other port feature changes 2022-08-16 18:25:46 +09:30
Ryzee119 3c7b5dcaff Hub: Handle hub device status change interrupt 2022-08-16 18:25:43 +09:30
Ha Thach 585f37a797
Merge pull request #1489 from kasjer/kasjer/fix-nrf5x-dma-access
nrf5x: Fix DMA access
2022-08-15 21:30:39 +07:00
Ryzee119 aafea8ef5d Hub: Rename port status callback to be more generic 2022-08-15 17:43:04 +09:30
Ryzee119 5efef4393c Hub: Expand hub helpers to handle device events 2022-08-15 17:42:56 +09:30
Jerzy Kasenberg c7469ce986 dfu: Allow DFU coexistence with other interfaces
dfu_moded_open() only works correct when its called on DFU interface
descriptor. It means that DFU is the only one interface in configuration
or driver is called after all others interface drivers were tried and
gave up.

If other interface is supported and but driver for DFU is called first
(this is the case for BTH and RNDIS).
Code after while loop (that was not entered) has an TU_ASSERT that will
make set_configuration to fail.

Now TU_VERIFY is called first to make sure open code is called for DFU
only and not other interface descriptors like in other drivers.
2022-08-09 10:42:30 +02:00
hathach a219ba86ea
fix issue with TUD_OPT_HIGH_SPEED 2022-08-01 14:52:29 +07:00
Ha Thach fd5bb6e5db
Merge pull request #1514 from maddyaby/audiod_typo
Fix typo in audiod_rx_done_cb in audio_device.c
2022-07-19 17:10:45 +07:00
hathach b0b155c949
increase version for release
along with minor doc update
2022-07-19 12:28:52 +07:00
Ha Thach ed2e587ace
Merge pull request #1568 from hathach/revert-hid-callback-len-temporarily
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() 0.14.0 release
2022-07-19 12:16:32 +07:00
Ha Thach 2110e27678
Merge pull request #1531 from pigrew/usbtmc_highspeed
USBTMC: Fixes and support for high-speed USB
2022-07-18 22:20:43 +07:00
hathach b495d6f8ec
temporarily revert len back to uint8_t in tud_hid_report_complete_cb() for up coming release 2022-07-17 22:56:07 +07:00
hathach 7e4c0f64cd
abtract attribute fallthrough 2022-07-14 18:39:47 +07:00
graham sanderson 4bd47bcb99 disable bad gcc 6 warning 2022-07-12 13:29:47 -05:00
graham sanderson fc1a27b6c9 RP@040: rework CMake for compiler warnings 2022-07-12 12:58:30 -05:00
hathach 345558307d fix incorrect null-dereference warnings when compiling with gcc7 2022-07-12 00:50:52 +07:00
Ha Thach 0bfb9d62de
Merge pull request #1543 from robert-hh/1170_0.13.0
mimxrt: Change the definitions for MIMXRT boards.
2022-07-11 15:53:24 +07:00
hathach 19768936ae
bump up mcux-sdk for rt11xx, add back OPT_MCU_MIMXRT11XX 2022-07-11 14:01:18 +07:00
NConrad 54250d7dd5 USBTMC: explicit type conversions fix 2022-07-09 17:50:17 -04:00
robert-hh ec6f56768a mimxrt: Change OPT_MCU_MIMXRT1xXX to OPT_MCU_MIMXRT.
Which fits both MIMXRT10XX and MIMXRT11XX.
2022-07-01 09:04:36 +02:00
robert-hh 60c1750a9b mimxrt: Add/change definitions for MIMXRT11XX boards.
These are mostly identical to the MIMXRT10XX, with one tiny difference.
2022-06-30 22:21:31 +02:00
hathach 9ec92ff97b
rp2040 enable SOF as resumed signal when remote wakeup 2022-06-30 15:45:04 +07:00
Ha Thach 19956f070d
Merge pull request #1539 from hathach/improve-ci
Improve ci
2022-06-29 16:27:17 +07:00
hathach 8fe9022a6e fix buid_board.py script 2022-06-29 14:06:44 +07:00
graham sanderson b12863d27c Fix actual compiler warning on gcc 10.3.1 2022-06-29 07:28:35 +01:00
robert-hh bc4da2047b samd: Fix a lock-up situation at high traffic.
This PR fixes a transmit lock-up, which happens, when data is received
and sent at the sime time at moderate to high speeds, like code
which just echoes incoming data.

In my case, an issue was reported here:
https://github.com/micropython/micropython/issues/8521
2022-06-27 20:31:44 +02:00
hathach 25580b4fe9 use forloop to avoid -Warray-bounds with host setup packet 2022-06-27 21:05:41 +07:00
hathach 9c56f70111 suppress error with net example 2022-06-27 20:30:47 +07:00
hathach a0ef489890 fix all warnings with host rp2040 2022-06-27 17:11:24 +07:00
hathach 6522a8150e fix all device examples warnings 2022-06-27 13:48:47 +07:00
hathach 1a1f633922 Merge branch 'master' into add-more-warnings 2022-06-27 12:50:50 +07:00
hathach 556b5d5044 change report len in hid API from uint8_t to uint16_t
since HS interrupt endpoint can be up to 1024, 8-bit is not enough.
affected APIs are:
- tud_hid_n_report() / tud_hid_report()
- tud_hid_report_complete_cb()
2022-06-27 12:22:36 +07:00
hathach 0b3503cb33 clean up usbd log level 2022-06-27 11:56:48 +07:00
hathach b9dc9dbd78
fix most warnings with rp2040 -wconversion 2022-06-27 11:50:17 +07:00