Commit Graph

929 Commits

Author SHA1 Message Date
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 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
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 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
kkitayam 1c2e353193 Refactor and clean up 2021-07-29 20:22:33 +09:00
hathach 15112fdbba clean up compiler 2021-07-22 22:10:48 +07:00
hathach 8cd23489d5 update endian 2021-07-22 17:49:39 +07:00
hathach c4da1abb1e rename bit filed order
clean up packed/bit order begin end
2021-07-22 17:30:08 +07:00
hathach 4e50ceba48 rename packed begin/end 2021-07-22 17:07:39 +07:00
hathach fa0936bf58 Merge branch 'CCRX_Port' of https://github.com/Wini-Buh/tinyusb into Wini-Buh-CCRX_Port 2021-07-22 16:48:18 +07:00
Ha Thach c737aa6fbb
Merge pull request #693 from HiFiPhile/dcd_same70
SAMx7x (E70, S70, V70, V71) DCD Support
2021-07-22 00:07:33 +07:00
MasterPhi 8c6cd5396c Fix non-DMA IN irq. 2021-07-21 10:50:07 +02:00
MasterPhi 5492d9148c Re-enable SETUP irq on EP0 stall. 2021-07-21 10:29:47 +02:00
MasterPhi 9c26c0c01e Remove redundant TX irq. 2021-07-21 09:42:26 +02:00
MasterPhi eec927ea95 Fix EP0 issue (again) 2021-07-21 00:28:51 +02:00
MasterPhi fa9a327a71 Workaround of EP0 issue, clean up. 2021-07-20 13:24:39 +02:00
MasterPhi 895c913aa9 Merge branch 'dcd_same70' of https://github.com/HiFiPhile/tinyusb into dcd_same70 2021-07-19 22:04:34 +02:00
MasterPhi 75f61328ea Remove clock init. 2021-07-19 22:03:47 +02:00
Ben Evans cee980c598 Fix for dcd_synopsys driver integer overflow in HS mode (issue #968). 2021-07-19 17:45:12 +10:00
hathach 05f59fb8ed clean up warning 2021-07-19 12:08:01 +07:00
MasterPhi 8cae17bfc8 Fixing NAKed OUT xfer 2021-07-19 01:07:33 +02:00
MasterPhi bae0d3b7bb Fix build error. 2021-07-17 14:42:23 +02:00
MasterPhi 7e3e41952f Fix ISO support. 2021-07-17 13:48:21 +02:00
HiFiPhile b194aa240b
Merge branch 'master' into dcd_same70 2021-07-17 12:10:35 +02:00
kkitayam 1ff3b76451 remove unnecessary blocking operation.
add comments why resume event is sent manually.
2021-07-05 21:27:08 +09:00
kkitayam 3019c6eb40 Add SUSPEND/RESUME handling for Renesas RX family. 2021-07-03 23:35:58 +09:00
Wini-Buh 4c0cce4b1d Make toolchain dependency more consistent 2021-06-29 21:45:18 +02:00
Wini-Buh 36ba9608bd Merge from current master. Fixed a compilation error with the GNUC toolchain 2021-06-29 00:43:41 +02:00
Wini-Buh cb0f1d98db Merge remote-tracking branch 'origin/master' into CCRX_Port
# Conflicts:
#	src/portable/renesas/usba/dcd_usba.c
#	src/tusb_option.h
2021-06-29 00:19:30 +02:00
Ha Thach 6e939de9d6
Merge pull request #891 from hathach/host-rp2040-double-buffer
RP2040 double buffer
2021-06-28 17:39:09 +07:00
Ha Thach b2feae15e4
Merge pull request #927 from hathach/add-rx65n-board
Add rx65n board
2021-06-28 13:53:42 +07:00
DuMaM b5ce269675
GCC 11 build fix
During Adafruit Bootloader compilation, I spotted bellow error which do not allow me build project.

``` c
    inlined from 'hfclk_running' at lib/tinyusb/src/portable/nordic/nrf5x/dcd_nrf5x.c:785:13:
lib/tinyusb/src/portable/nordic/nrf5x/dcd_nrf5x.c:792:31: error: 'is_running' may be used uninitialized [-Werror=maybe-uninitialized]
  792 |     return (is_running ? true : false);
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~~~
```
2021-06-26 17:03:46 +02:00
kkitayam 393a9120ac add the entry for RX65N 2021-06-26 23:09:18 +09:00
Wini-Buh 51c6444e1d final clean up 2021-06-22 23:49:24 +02:00
Wini-Buh c5f6b57755 Merge remote-tracking branch 'upstream/master' into CCRX_Port 2021-06-22 23:21:01 +02:00
Ha Thach 81fa9966de
Merge pull request #895 from ElectronicCats/master
add support SAML21
2021-06-20 01:01:00 +07:00
hathach 6b621baeb3 fix race condition with control since TASKS_EP0RCVOUT also require EasyDMA 2021-06-19 01:58:27 +07:00
hathach 82618d2d5f fix build with mm32 board 2021-06-18 17:18:11 +07:00
hathach 5006b1065a remove duplicate mm32 dcd 2021-06-18 12:49:41 +07:00
zhangslice 7b27607f1a mit license
Signed-off-by: zhangslice <1304224508@qq.com>
2021-06-18 12:46:27 +07:00
zhangslice 3ba72b53d8 Add MM32 SDK and USB driver
Signed-off-by: zhangslice <1304224508@qq.com>
2021-06-18 12:46:27 +07:00
hathach 832d22d7ad force single buffered for device mode, out endpoint 2021-06-17 01:55:35 +07:00
MasterPhi 30fff56aa4 Revert "Use byte copy.", add barrier after buffer write.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-16 00:18:38 +02:00
MasterPhi 67a6560ec9 Default use dual bank for FS, use dcd irq switch. 2021-06-15 21:52:14 +02:00
MasterPhi 6cc702e9ec Prevent buffer overflow.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-15 21:16:51 +02:00
MasterPhi 54dc694be4 Use byte copy. 2021-06-15 19:11:53 +02:00
MasterPhi ca8e8041ef Fix resume, always init FS clock.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-15 17:53:09 +02:00
sabas1080 7bed7d70f0 add support SAML21 2021-06-15 00:01:28 -05:00
hathach 5c567129ea fix calculating xferred bytes with double buffer with short packet on buffer0 2021-06-13 18:30:26 +07:00
hathach f38c460433 fix ep tx with double buffered 2021-06-13 17:19:14 +07:00
hathach bd039c8d37 fix build with log for device 2021-06-13 16:16:25 +07:00
hathach 1af64f9729 remove sent_setup from hw endpoint 2021-06-13 15:31:00 +07:00
hathach 289ccf3c93 remove dev_ep_map 2021-06-13 13:19:20 +07:00
MasterPhi 85fc423569 Rename SAM7X to SAMX7X
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-12 12:36:59 +02:00
MasterPhi f039607afc Fix indent.
Signed-off-by: MasterPhi <admin@hifiphile.com>
2021-06-12 11:19:08 +02:00
Rafael Silva 776a770947 dcd: sam7x: rename family dcd to include the whole family
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-12 00:09:24 +01:00
Wini-Buh 60d8ecbfe6 clean up 2021-06-11 22:36:17 +02:00
Wini-Buh 1c23462b43 weak atrribute work around removed from CCRX_Port 2021-06-11 22:25:36 +02:00
Rafael Silva 2196991df3 dcd: same70: trim trailling spaces
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 21:03:36 +01:00
Rafael Silva bcd3e31bd6 dcd: same70: fix unused variable warning
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 20:59:48 +01:00
Rafael Silva 9a03ab9dfa dcd: same70: change cmsis deprecated macros
Signed-off-by: Rafael Silva <perigoso@riseup.net>
2021-06-11 20:52:22 +01:00
hathach 910e11a8ab fix ci build 2021-06-11 19:04:16 +07:00
hathach dfe5a727c6 log clean up 2021-06-11 18:54:09 +07:00
hathach b39faa15ef map pico_info to log2, pico_trace to log3 2021-06-11 18:44:08 +07:00
hathach a6d22f5a68 replace pico_warn by log level 1 2021-06-11 18:40:01 +07:00
hathach 66c8a13f13 remove unused variable in hw endpoint
last_buf, buf_sel, transfer_size
2021-06-11 18:26:41 +07:00
hathach 93cb2ff4cf more refactor double buffered rp2040 2021-06-11 18:16:13 +07:00
hathach 1d48320d8a rename hw endpoint
- total_len to remaining_len
- len to xferred_len
2021-06-11 17:58:29 +07:00
hathach 5d6e381ef6 refactor rp2040 usb
- make _hw_endpoint_xfer_sync and _hw_endpoint_start_next_buffer private
- drop prefix _ from _hw_endpoint_xfer_continue and
_hw_endpoint_reset_transfer
2021-06-11 17:34:51 +07:00
MasterPhi c291deccfa Add fifo & DMA linked list mode support. 2021-06-11 12:17:11 +02:00
HiFiPhile 24de9d39af Format. 2021-06-11 12:17:11 +02:00
HiFiPhile 1dafcd1132 - Add Full Speed switch
- Add DMA support
- Add Dual bank support

Signed-off-by: HiFiPhile <admin@hifiphile.com>
2021-06-11 12:17:11 +02:00
HiFiPhile 4f4a33b378 Seems like fixed ep0 issues, code format.
Signed-off-by: HiFiPhile <admin@hifiphile.com>
2021-06-11 12:17:11 +02:00
HiFiPhile f8aa4b3ff3 Add sketchy SAME70 DCD driver. 2021-06-11 12:17:10 +02:00
hathach a1a03c92f6 double buffered work with host 2021-06-11 17:05:49 +07:00
hathach 43656dc0a7 more clean up 2021-06-10 23:29:02 +07:00
hathach cf0a475a2e clean up 2021-06-10 22:00:59 +07:00
hathach c7f51cde40 implement usbh_edpt_busy (WIP), remove hcd_edpt_busy 2021-06-10 17:19:21 +07:00
hathach 7e6cba7359 remove hcd_edpt_stalled() 2021-06-10 16:55:12 +07:00
Ha Thach 3c4ab6bd8a
Merge pull request #883 from hathach/fix-rp2040-host-transferred-bytes
fix computing transferred bytes with E4
2021-06-10 11:35:51 +07:00
hathach 501de2a5e8 fix computing transferred bytes with E4 2021-06-08 10:29:22 +07:00
hathach c2b85c8d6d add OPT_MCU_MM32F327X
move dcd_mm32f into mindmotion folder
2021-06-07 18:51:44 +07:00
zhangslice 26b9fc38ed
Add MM32 SDK and USB driver (#869)
* Add MM32 SDK and USB driver
* add mindmotion mm32sdk as submodule
remove the local copy of mm32
* mit  license
Signed-off-by: zhangslice <1304224508@qq.com>
Co-authored-by: hathach <thach@tinyusb.org>
2021-06-07 17:32:46 +07:00
Wini-Buh 5a554508ca Merge remote-tracking branch 'upstream/master' into CCRX_Port 2021-06-03 22:17:30 +02:00
graham sanderson c81bc38d42 Add __unused to variables that are only used if TU_LOG does something 2021-06-03 10:10:44 -05:00
Wini-Buh e26cf6b26c Missing RX device dependency corrected 2021-06-02 21:33:32 +02:00
Ha Thach 8ea0dfba68
Merge pull request #865 from kilograham/pico-0.10.0
Pico 0.10.0
2021-06-03 01:02:54 +07:00
hathach bc0a0386e9
clean up 2021-05-31 18:41:08 +07:00
hathach 31077f48d2
correct ohci endpoint address in xfer complete 2021-05-31 18:16:07 +07:00
hathach 4e98ce9147
use hcd_frame_number() instead of uframe 2021-05-31 18:15:47 +07:00
hathach da8000d42d
clean up ohci, remove obsolete api 2021-05-31 16:34:16 +07:00
hathach 04797bc5a5
clean up 2021-05-31 16:05:55 +07:00
hathach 3fb80e76ce remove obsolete hcd_pipe_queue_xfer()/hcd_pipe_xfer() 2021-05-31 12:08:37 +07:00
hathach 5cf930d78a fix cast-align warning in msc host 2021-05-31 11:11:00 +07:00
hathach c2a0c1507b add more comment 2021-05-30 23:44:29 +07:00
hathach 54c9150574 add errata number 2021-05-30 23:41:59 +07:00
hathach 6498ee1996 fix incorrect data toggle when max packet size < 64
fix host buf_sel panic with "already available"
2021-05-30 23:35:54 +07:00
graham sanderson 3973ec4b5e rp2040: fix debug compilation error 2021-05-30 08:16:15 -05:00
Wini-Buh b4f092ec74 Adaptations for Renesas CCRX toolchain and Rx72N controller performed 2021-05-29 21:23:39 +02:00
hathach 164778a716 update limit each transfer not less than 64 2021-05-28 17:42:13 +07:00
hathach 9ad6fadf6a
more include clean up 2021-05-27 18:34:07 +07:00
hathach b36b211c26
clean up tusb_fifo.h include 2021-05-27 17:58:42 +07:00
hathach 13613eafb7 correct ehci control endpoint address report on xfer complete
improve host log
2021-05-18 12:58:24 +07:00
hathach 1dd2cd43dd add hcd_ehci.h as interface for ehci port 2021-05-18 12:58:24 +07:00
hathach 9233269a2c only apply errata walkaround for nrf52 2021-05-11 18:38:23 +07:00
Jerzy Kasenberg e2f795067a Allow build for NRF5340 MCU
Errata code referred to NRF_USBD_BASE.
This definition is not present in NRF5340 but both NRF52 and NRF53
do have NRF_USBD which maps to NRF_USBD_BASE for NRF52 and
to NRF_USBD_S_BASE for NRF5340.
This just make build possible for NRF5340.
2021-05-11 12:37:08 +02:00
corvus-ossifragus 72f5202086 Update trace statements that referenced deprecated structure elements. 2021-05-10 10:09:09 -04:00
Ha Thach 2a343ba916
Merge pull request #826 from hathach/minor-cleanup
minor clean up
2021-05-10 19:29:45 +07:00
hathach 13de8f5d98 minor clean up 2021-05-10 19:15:46 +07:00
corvus-ossifragus 13b510ad8e Update hcd_rp2040.c
Remove reference to the deprecated "num" and "in" members  of struct hw_endpoint which still exist in an assert statement and break DEBUG builds.
2021-05-07 16:49:48 -04:00
Ha Thach 42a1d2f3b9
Merge pull request #804 from hathach/audio_make_dma_ready
Implement functions to allow for DMA usage in audio driver.
2021-05-02 15:29:38 +07:00
hathach ba90a8cb79 use correct NBYTES_MAX for full and high speed 2021-04-26 20:22:40 +07:00
hathach a8e109cb3d clean up 2021-04-26 17:14:20 +07:00
hathach 8ebdf2b097 ip3511 correct buffer offset, nbytes layout for highspeed port1
able to get passed enumeration and up to READ10
2021-04-26 14:43:58 +07:00
hathach f14daf2081 fix unaligned access with port1 hs 2021-04-24 15:04:58 +07:00
hathach b15d126d59 lpc55 improve multiple controller support
port1 highspeed requires USB_RAM
2021-04-24 13:36:05 +07:00
hathach 7089df2088 lpc55 correct bus_reset with highspeed on support controller
correct hsphy init for family
2021-04-24 12:19:13 +07:00
hathach 8bed369c7f lpc55 better multiport support 2021-04-24 11:30:14 +07:00
hathach 8642c2045c update dcd ip3511 for better multiple rhport support 2021-04-24 10:44:14 +07:00
Reinhard Panhuber 03f974c9b9 Implement functions to allow for DMA usage in audio driver.
- Add tud_audio_n_get_ep_out_ff(), tud_audio_n_get_ep_in_ff(),
tud_audio_n_get_rx_support_ff(), and tud_audio_n_get_tx_support_ff()
- Change get_linear_read/write_info() to return linear and wrapped part
at once
- Adjusted affected code in audio_device.c and tested with
audio_4_channel.
2021-04-23 10:27:48 +02:00
Alex Lisitsyn 2f0cb8b5f1 tinyusb: add support of esp32s3 target
add support of new esp32s3 target and the board
update the roles.mk wrapper to allow dfu flashing of espressif chip
update examples to allow compilation for esp32s3_addax_1 board
once the code is tested the PR to original tinyusb repo will be submitted
2021-04-16 13:38:00 +02:00
hathach b687a4fc20 Merge branch 'master' into edpt_ISO_xfer 2021-04-15 12:12:52 +07:00
hathach 3c84776e0a minor clean up 2021-04-15 12:09:12 +07:00
Joey Castillo 7c8b4991f1 Add support for SAM L22 family 2021-04-09 17:33:14 -04:00
hathach 3acf0c2d73 revert dcd_edpt_xfer_fifo() implementation for esp32s2 2021-04-06 01:00:00 +07:00
hathach 69ad092fce revert dcd_edpt_xfer_fifo() implementation for nuc120 121 2021-04-06 00:13:12 +07:00
hathach 49b2d8f26c revert dcd_edpt_xfer_fifo() implementation for msp430 2021-04-06 00:07:17 +07:00
hathach 8d2dfe872c revert dcd_edpt_xfer_fifo() implementation for stm32_fsdev 2021-04-05 19:19:49 +07:00
hathach bebe2f0bbf revert dcd_edpt_xfer_fifo() implementation for nuc505 2021-04-04 22:50:26 +07:00
hathach 586a46c7d3 revert dcd_edpt_xfer_fifo() implementation for samg
samg fifo is accessed byte by byte (although the register is 32 bit).
2021-04-04 21:33:19 +07:00
Reinhard Panhuber a1efd41649 Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer 2021-04-03 09:50:08 +02:00
kkitayam 4a597c9698 cleanup 2021-03-28 12:42:28 +09:00
kkitayam a1f1941c3f fixed a OUT transfer did not completed multiple of the max packet size 2021-03-27 16:03:04 +09:00
kkitayam e010ea30e5 using BRDY interruption for handling IN transfers. 2021-03-27 14:42:19 +09:00
kkitayam f8cf88f918 update for gr_citurs 2021-03-26 19:32:39 +09:00
kkitayam 13735eb21d added dcd for Renesas USBa 2021-03-26 19:30:53 +09:00
Rafael Silva 2807644e7e add efm32 driver
Signed-off-by: Rafael Silva <silvagracarafael@gmail.com>
2021-03-23 20:45:56 +00:00
Reinhard Panhuber a60bd0c8ac Fix bug in writing to constant src/dst address.
Copying has to be conduct in full words (at least for STM32). Renamed
copy function to tu_fifo_write_n_const_addr_full_words()
2021-03-23 19:33:04 +01:00
hathach 64f41dea62 fix race condition that could cause drop packet of Bulk OUT transfer
NRF_USBD->SIZE.EPOUT[epnum] only need to write once to enable
Bulk/Interrupt transfer. We only need to do it in dcd_edpt_open() and
dcd_edpt_clear_stall()
2021-03-18 15:07:07 +07:00
hathach 82e24306e2 fix build with OPT_MCU_LPC177X_8X 2021-03-16 15:49:09 +07:00
hathach a397353916 fix ci build with rp2040 2021-03-10 17:58:39 +07:00
hathach 794083b647 Merge branch 'master' into edpt_ISO_xfer 2021-03-10 17:10:49 +07:00
hathach 8cabbb28df fix enum walkaround forever check for SE0 when pull up is disabled 2021-03-04 18:36:18 +07:00