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
Reinhard Panhuber
a1b07ae14c
Change copy modes for new read/write functions in tusb_fifo.c
2021-03-02 21:52:42 +01:00
Reinhard Panhuber
3cdb82c21c
Change for copy modes in dcd_synopsis.c
2021-03-02 21:42:24 +01:00
Reinhard Panhuber
7b8a08d2e1
Rename dcd_edpt_iso_xfer() to dcd_edpt_xfer_fifo()
2021-03-02 20:00:39 +01:00
Reinhard Panhuber
c8b6d9b990
Revert implementation of dcd_edpt_iso_xfer()
2021-03-02 19:28:35 +01:00
hathach
a298045f6c
clean up
2021-03-02 23:30:21 +07:00
hathach
9d5e369170
rp2040 add disconnection detection
...
- also use dcd_event_bus_reset()
- Add TODO for suspend, resume later on (need to test with/without vbus
detection).
2021-03-02 23:24:36 +07:00
hathach
1676a836d1
fix rp2040 host build
2021-03-02 14:54:12 +07:00
Ha Thach
559ff80643
Merge pull request #684 from hathach/rp2040-host-example
...
add rp2040 to host example build
2021-03-02 13:03:52 +07:00
Ha Thach
5a753c1ab0
Merge pull request #675 from majbthrd/rp2040epaddr
...
rp2040: use TU endpoint conventions and remove redundant variables
2021-02-27 00:38:53 +07:00
Peter Lawrence
eb44b6f7db
rp2040: improve _hw_endpoint_init()
2021-02-26 11:07:34 -06:00
hathach
f6b48c07fc
add rp2040 to host example build
2021-02-26 14:05:08 +07:00
Ha Thach
0c05a02e67
Merge pull request #682 from hathach/rp2040_fix_hcd_init
...
Update RP2040 hcd_init to have rhport argument.
2021-02-26 11:52:48 +07:00
Liam Fraser
e6e7c73f6e
Update RP2040 hcd_init to have rhport argument.
2021-02-25 15:48:19 +00:00
majbthrd
efea18a888
Merge branch 'master' into rp2040epaddr
2021-02-25 09:15:42 -06:00
majbthrd
0632ecf556
Merge branch 'master' into rp2040device
2021-02-25 08:57:09 -06:00
Peter Lawrence
999ef227d0
rp2040: requested code mode in rp2040_usb.h
2021-02-25 08:45:47 -06:00
Ha Thach
50a0bddd8b
Merge pull request #672 from majbthrd/rp2040trim
...
rp2040: correctly size variables to reduce RAM usage
2021-02-25 21:17:59 +07:00
Peter Lawrence
762f262be7
rp2040: requested change from TU_MIN to tu_min16
2021-02-25 07:58:54 -06:00
Reinhard Panhuber
5ebe53f02d
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
2021-02-24 20:54:35 +01:00
Kamil Tomaszewski
448dcdc4cf
spresense: fix setup processed flag
2021-02-24 17:39:16 +01:00
Reinhard Panhuber
a7f07a1a63
Fix pointer type
2021-02-23 21:53:17 +01:00
Reinhard Panhuber
697c9476b7
Fix pointer type
2021-02-23 21:42:38 +01:00
Reinhard Panhuber
cb33840a9b
Fix pointer type
2021-02-23 21:15:27 +01:00
Peter Lawrence
e00178a1af
rp2040: don't compile in host code when in device mode
2021-02-23 14:04:56 -06:00
Reinhard Panhuber
00248de15a
Fix shadowing declartion in dcd_da146xx.c
2021-02-23 20:23:26 +01:00
Reinhard Panhuber
c76e04f835
Add dcd_edpt_iso_xfer() to dcd_template.c
2021-02-23 19:50:54 +01:00
Reinhard Panhuber
e223d46033
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
...
Conflicts:
src/common/tusb_fifo.h
src/osal/osal_none.h
2021-02-23 19:47:57 +01:00
Reinhard Panhuber
313dd1439d
Implement dcd_edpt_iso_xfer() for dcd_da146xx.c BUT WITHOUT DMA SUPPORT
2021-02-23 19:41:21 +01:00
Peter Lawrence
c5422a5c48
rp2040: use TU endpoint conventions and remove redundant variables
2021-02-23 12:06:41 -06:00
Ha Thach
656673fb58
Merge pull request #674 from hathach/host-msc
...
Enhance Host MSC
2021-02-24 00:19:38 +07:00
hathach
451650fa32
move ehci and ohci to portable folder
2021-02-23 23:09:48 +07:00
Peter Lawrence
5a8ae31316
rp2040: leverage existing macro for capping endpoints in pico-sdk
2021-02-23 10:08:38 -06:00
Peter Lawrence
592d047936
rp2040: correctly size variables to reduce RAM usage
2021-02-22 20:53:16 -06:00
hathach
de95585258
nxp tdi: hcd_init() reset and set host mode
2021-02-23 01:27:52 +07:00
hathach
c5b8980398
separate hcd_init from ehci
2021-02-22 22:40:51 +07:00
hathach
8a2e4c79fd
make hcd tdi more generic
2021-02-22 18:02:52 +07:00
Kamil Tomaszewski
b591a66b3d
Pass the correct speed on Spresense
2021-02-22 11:24:16 +01:00
hathach
00b4b74e82
rename hcd_lpc18_43 to hcd_transdimension
2021-02-22 17:15:06 +07:00
hathach
43ca626774
merge iso and cbi transaction size to max ep size
2021-02-22 12:27:02 +07:00
ndinsmore
cb5b9eb2f6
Remove stray. commented out line
2021-02-19 08:33:06 -05:00
ndinsmore
ac87a4547d
Change to using tu_min32
...
This was a github edit, not tested
2021-02-18 08:25:04 -05:00
Nicholas R Dinsmore
27f4b6f5a4
Included size check for ISO buffers
2021-02-17 18:22:24 -05:00
Reinhard Panhuber
6cb9a6ebb1
Add (void *) for pointer cast.
2021-02-17 23:04:19 +01:00
Reinhard Panhuber
d8481ac7e4
Fix wrong pointer call in dcd_samg.c
2021-02-17 22:52:59 +01:00
Reinhard Panhuber
666e0fad35
Fix wrong tu_fifo_read_n() call in dcd_stm32_fsdev.c
2021-02-17 22:50:49 +01:00
Reinhard Panhuber
402005c9e0
Fix missing pointer operator in dcd_nuc505.c
2021-02-17 22:49:10 +01:00
Reinhard Panhuber
94bf4f54da
Fix missing FIFO definitions
2021-02-17 22:29:51 +01:00
Reinhard Panhuber
eee47493a3
Fix bug in evasion buffer list
2021-02-17 21:59:32 +01:00
Reinhard Panhuber
2d7b61972c
Implement dcd_edpt_iso_xfer() for dcd_stm32_fsdev
...
Implemented a special copy strategy to copy directly from the FIFO. This
function, however, is untested and should be regarded as unreliable
until somebody was able to test it
2021-02-17 20:46:31 +01:00
Nicholas R Dinsmore
79b360f0a6
Enable iso buffers per rp2040 spec
2021-02-17 13:22:34 -05:00
Reinhard Panhuber
a5d7b6266d
Implement dcd_edpt_iso_xfer() for msp430
2021-02-14 14:05:15 +01:00
Reinhard Panhuber
893f997dcb
Change FIFO use indication to ff == NULL to avoid future errors.
...
This way people don't need to pay attention for the buffer pointer
2021-02-14 09:25:34 +01:00
Reinhard Panhuber
b634b5958b
Implement dcd_edpt_iso_xfer() for INTERRUPT driven dcd_nuc505
2021-02-13 21:00:55 +01:00
Reinhard Panhuber
0c3dc8f99b
Implement dcd_edpt_iso_xfer() for dcd_nuc121.c
2021-02-13 17:44:59 +01:00
Reinhard Panhuber
126e46e38a
Fix not increment xfer->buffer if xfer->buffer == NULL in dcd_samg.c
2021-02-13 17:37:13 +01:00
Reinhard Panhuber
e681678402
Implement dcd_edpt_iso_xfer() for dcd_nuc120.c
2021-02-13 17:06:27 +01:00
Reinhard Panhuber
7ab389db21
Implement dcd_edpt_iso_xfer() for dcd_samg.c. NOTE: ISO EP not supported
2021-02-13 16:36:32 +01:00
Reinhard Panhuber
59d6ed9ea4
Implement dcd_edpt_iso_xfer() for dcd_esp32s2.c
2021-02-13 12:13:10 +01:00
Reinhard Panhuber
cdf600048f
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
2021-02-12 18:05:20 +01:00
Reinhard Panhuber
a9fd0a454a
Complete redesign of audio driver.
2021-02-12 16:28:41 +01:00
ndinsmore
09868434cd
Fixes RP2040 buffer reallocation overrun problem ( #642 )
...
Fix running out of memory on a device that repeatedly closes and opens an endpoint. This is a workaround at the moment. A better solution would be to implement reclaiming usb buffer memory when closing an endpoint (i.e. implement dcd_edpt_close).
2021-02-12 08:16:46 +00:00
Ha Thach
78f50518a4
Merge pull request #610 from hathach/rp2040-followup2
...
Rp2040 followup2
2021-02-01 12:44:53 +07:00
Ha Thach
a044578a33
Merge pull request #601 from majbthrd/start_pi2tu
...
start the assimilation of Pi Pico into TU
2021-02-01 12:43:59 +07:00
Reinhard Panhuber
84406f1654
Rework audio driver
2021-01-31 19:08:23 +01:00
hathach
1abf9eeb80
clean up rp2040 assigned_address, remove panic from remote_wakeup
2021-01-27 13:18:03 +07:00
hathach
c3c4f65fea
wrap rp2040_usb around opt mcu
2021-01-27 13:04:38 +07:00
Kamil Tomaszewski
5f999fa6a0
Fix dcd issues on cxd56
...
Pass the next setup package when USB stack is ready to receive it.
When the transfer is 0 on EP0 send complete to the USB stack
Pass the data received after the setup package to the USB stack.
2021-01-25 11:13:56 +01:00
Peter Lawrence
edc2224118
rp2040: start to adopt TU coding conventions
2021-01-23 20:21:58 -06:00
Peter Lawrence
587d1b334b
rp2040_hcd: check pointer before using
2021-01-23 20:19:10 -06:00
Ha Thach
1e134cbb31
Merge branch 'master' into pico
2021-01-21 16:35:13 +07:00
graham sanderson
e0aa405d19
RP2040 support
2021-01-19 19:52:07 -06:00
Reinhard Panhuber
56edc2b261
Change names from edpt_ISO_xfer to edpt_iso_xfer
2021-01-19 10:50:19 +01:00
Reinhard Panhuber
595a88b34c
Correct include path to #include "common/tusb_fifo.h"
2021-01-18 17:38:32 +01:00
Reinhard Panhuber
dff588d772
Implement dcd_edpt_ISO_xfer() and adapt transmission scheme
2021-01-18 17:15:23 +01:00
Reinhard Panhuber
485d8fa77e
Merge remote-tracking branch 'upstream/master' into edpt_ISO_xfer
2021-01-09 12:10:08 +01:00
hathach
d33b22d127
fix ci
2021-01-08 22:48:52 +07:00
hathach
6e6e6265e4
use dcd_event_bus_reset() with speed to replace bus_signal
2021-01-08 22:34:36 +07:00
hathach
cca27fc383
another rename
2021-01-08 16:54:50 +07:00
hathach
201ea7ca6d
remove inline for update_grxfsiz
2021-01-08 16:38:41 +07:00
hathach
9998e8a665
more minor work
2021-01-08 16:34:36 +07:00
hathach
86c34a9a33
minor clean up following pr581
2021-01-08 16:25:30 +07:00
Ha Thach
1f00a182c4
Merge pull request #581 from hathach/dcd_synopsis_mem_allocation
...
Dcd synopsis mem allocation
2021-01-08 12:45:46 +07:00
hathach
3e1d85eed2
comment clean up
2021-01-08 11:43:26 +07:00
hathach
cc5dfd03cd
update comment and correct the size to 8+2
2021-01-08 11:21:26 +07:00
hathach
60620dca42
walkround for samd21 setup_packet overflow
...
increase setup packet size from 8 to 12, since USB DMA controller is
suspected to overflow the buffer with 2 extra bytes
2021-01-08 01:21:03 +07:00
Reinhard Panhuber
f2b4567a2b
Correct function declaration
2021-01-04 17:15:42 +01:00
Reinhard Panhuber
2fa500af18
Minor corrections for PR
...
- externerlize code into functions
- correct comments
2021-01-04 17:00:23 +01:00
Reinhard Panhuber
37bb14678a
Remove too verbose comment
2021-01-04 12:06:16 +01:00
Reinhard Panhuber
09d8ead4b8
Start changes - not yet finished
2021-01-04 12:02:08 +01:00
Reinhard Panhuber
13b499f910
Clean up
2021-01-03 17:59:50 +01:00
Reinhard Panhuber
56c47188d8
Rework USB FIFO allocation scheme and allow RX FIFO size reduction
2021-01-03 16:11:56 +01:00
kkitayam
2737166d2b
fixed wrong direction to enable EP in dcd_edpt_open.
...
fixed incorrect handling of STALL other than EP0
convert tabs to spaces
removed unused symbols
2020-12-23 20:32:29 +09:00
kkitayam
2bbfc56bd8
added support for frdm_kl25z
2020-12-18 00:07:50 +09:00
hathach
8b34f2fca8
fix ci
2020-11-27 16:07:13 +07:00
hathach
94527951a0
add bus suspend & resume support for esp32s2
2020-11-27 15:54:55 +07:00
hathach
496c7c701a
fix ci
2020-11-09 01:23:19 +07:00
Jacob Potter
229be75a98
Move into if statement
2020-10-24 17:16:05 -06:00
Jacob Potter
01996457c8
CR feedback: compare CFG_TUSB_RHPORT1_MODE instead of using new macro
2020-10-24 17:11:32 -06:00
Jacob Potter
c87ed8eff1
Allow use of internal FS PHY on OTG_HS interface
...
Some ST parts (like STM32F74xxx / STM32F75xxx) allow the USB_OTG_HS core to be used with
either an external high-speed ULPI PHY or an internal full-speed-only (12mbps) PHY. Currently
the code assumes than an ULPI PHY is used unless the chip has an internal high-speed PHY
(`#if defined(USB_HS_PHYC)`), with no provision to use the internal FS PHY.
2020-10-18 17:01:17 -06:00
Ha Thach
6ce5395947
Merge pull request #525 from kasjer/kasjer/da1469x-iso
...
da1469x iso support
2020-10-11 16:12:20 +07:00
Ha Thach
80c509a0f3
Merge pull request #520 from salkinium/feature/misc_enhancements
...
STM32F3 IRQ remap option and some minor improvements
2020-10-11 14:55:06 +07:00
Ha Thach
762b390433
Merge pull request #521 from PanRe/uac2
...
Uac2
2020-10-10 14:33:42 +07:00
Niklas Hauser
f914e48d25
Dynamically check STM32F3 IRQ remap option
2020-10-10 05:02:37 +02:00
Reinhard Panhuber
032e84c9be
Revert dcd_alloc_mem_for_conf() but keep changes from @kasjer for ISO EP
...
Add tud_audio_set_itf_close_EP_cb()
2020-10-09 19:50:05 +02:00
Jerzy Kasenberg
d36bfddc30
DA146xx: Allow transmitting of packets larger then 64 bytes
...
FIFO is limited to 64 bytes yet MCU is capable of transmitting
larger packets provided that FIFO will be filled on the fly
and USB_USB_TXCx_REG_USB_LAST_Msk bit is set after FIFO is
filled with all the data that should be transmitted.
This change allows to use FIFO level warning interrupt to fill
FIFO. When DMA is available it will be used instead of interrupts.
Some function names were changed to better reflect what each function
does.
2020-10-08 13:20:58 +02:00
Jerzy Kasenberg
33a5081bd1
DA146xx: Add support for ISO endpoints
...
Few changes were needed to have working ISO endpoints.
2020-10-08 13:20:58 +02:00
Jerzy Kasenberg
6615dd9062
DA146xx: Add dcd_edpt_close
...
Closing endpoints can be important when there are alternate
instances. This adds functionality of closing endpoints
similar to what exists in other drivers.
2020-10-08 13:20:58 +02:00
Jerzy Kasenberg
9edf4334c4
DA146xx: Allow receiving of packets larger then 64 bytes
...
Internal FIFO for each endpoint is limited to 64 bytes.
It is possible to have longer packets if respective FIFO
is read during actual packet transmission.
This change updates receive data path to allow packets (and
endpoint size) larger then 64 bytes.
If DMA is not used yet DMA is setup for reception of big packets.
If DMA is already assigned to some transfer, code enables FIFO level
warning interrupts and tries to read data before FIFO is filled up.
2020-10-08 13:20:58 +02:00
Ha Thach
440e23c491
Merge pull request #529 from gh2o/stm32-race
...
stm32 fsdev: fix ISTR and CTR_RX/TX race conditions
2020-10-07 15:16:55 +07:00
Gavin Li
020ad47bb0
stm32: fix ISTR and CTR_RX/TX race conditions
2020-10-06 14:43:10 -07:00
hathach
d41248900b
Merge branch 'uac2' of https://github.com/PanRe/tinyusb into PanRe-uac2
2020-10-06 22:32:22 +07:00
Jerzy Kasenberg
96da1ca4b8
nrf5x: Add support for ISO endpoints
...
ISO endpoints were not covered so far by the driver code.
This adds support for ISO IN and OUT endpoint handling.
Registers for ISO IN(OUT) endpoints are placed just after normal IN(OUT)
so in some cases common code could be used for handling all type of
transfers.
Generally code synchronizes ISO endpoint handling to SOF interrupt.
This code does not change the way of how non-ISO endpoints are treated.
Code uses strategy outlined in nRF52840 Produce Specification v1.0
sections 6.35.11.1 and 6.35.11.2.
2020-10-01 09:22:55 +02:00
Jerzy Kasenberg
6f5ee09511
nrf5x: Increase size of mps to 16 bits
...
msp stores max packet size.
For ISO endpoints 8 bits is not enough so it's changed to 16 bits.
2020-10-01 09:22:55 +02:00
Jerzy Kasenberg
fceb8853c7
nrf5x: Add dcd_edpt_close
...
Closing endpoints can be important when there are alternate
instances. This adds functionality of closing endpoints
similar to what exists in other drivers.
2020-10-01 09:22:55 +02:00
Reinhard Panhuber
9c837300f1
Fix minor issue.
...
- Change set_EP0_max_pkt_size() to set_EP0_max_pkt_size(void).
2020-09-28 19:23:38 +02:00
Reinhard Panhuber
529622710c
Cleanup for PR.
2020-09-28 18:10:57 +02:00
Reinhard Panhuber
142871654e
Merge remote-tracking branch 'upstream/master' into uac2
2020-09-28 18:08:39 +02:00
Jerzy Kasenberg
642a8b00c8
synopsys: Fix odd/even frame handling for ISO
...
Current implementation always sets odd/even bit for ISO transactions.
This is a good strategy only if interval is 1.
For ISO endpoint interval in (micro)frames is computed as
2^(interval-1), which means that odd/frame number should stay
same for interval values > 1.
With this change only when interval is 1 odd/even bit is modified.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
6b52330969
synopsys: Remove compilation warning in dcd_edpt_close
...
dcd_edpt_close() no longer modifies FIFO distribution.
Code that that was commented out is removed along with
variables that are no longer used.
FIFO distribution among endpoints is handled upfront
and does not need to be modified in open and close endpoint
functions.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
6f3d0af1e6
synopsys: Fix fifo allocation schema
...
Recommended FIFO allocation schema includes 2 maximum endpoint sizes.
Comment suggested that this is the case while it would work according
to this description only in checked endpoints were ascending sizes.
Also two same size endpoints would be counted as one.
That is fixed by way sz is filled.
Calculation used too much modulo operation while single division was enough
to account for odd FIFO sizes.
Extra space that is evenly distributed between Bulk and control endpoints
was incorrectly calculated it could prevent allocation of ISO endpoint FIFO
when bulk endpoints existed with smaller endpoint numbers.
Minimum endpoint FIFO size is 16 32bit words, FIFO space requirement is
now observed.
2020-09-28 08:41:17 +02:00
Jerzy Kasenberg
62a76c0e04
nrf52: Fix edpt_dma_start() wrong condition check
...
Operator < used in while condition was obviously incorrect.
Loop starts with checking if unsigned variable is less then 0.
This condition is always false.
This reverses condition to follow intention of of the code.
2020-09-15 16:08:23 +02:00
Reinhard Panhuber
4e789b240d
Start of sampling works.
2020-09-06 11:37:59 +02:00
Reinhard Panhuber
12562fc966
Merge remote-tracking branch 'upstream/master' into uac2
2020-09-04 16:23:39 +02:00
Ha Thach
19f08a02f6
Merge pull request #486 from kasjer/kasjer/add-endpoint-close-to-synopsys
...
Add dcd_edpt_close() to synopsys
2020-08-24 13:10:46 +07:00
hathach
9d3a9cf546
add OPT_MCU_SAMD11
...
skip ci build for example that need more ROM/RAM could fit into SAMD11
2020-08-22 18:46:19 +07:00
Reinhard Panhuber
37be0ca732
Fix formatting, get rid of all tabs.
2020-08-20 20:09:44 +02:00
Reinhard Panhuber
c14f68e2c1
Commit before sharing.
...
Setup a test example - UNTESTED!
Missing: Start transmitting audio data in set_interface.
2020-08-19 21:07:43 +02:00
Reinhard Panhuber
6309364722
Merge remote-tracking branch 'upstream/master' into uac2
...
Conflicts:
src/device/usbd.c
src/device/usbd.h
src/portable/st/synopsys/dcd_synopsys.c
2020-08-16 14:08:24 +02:00
Reinhard Panhuber
444e4d2821
Add EP close. Fix bug in set_interface within audio.
2020-08-16 13:48:25 +02:00
Jerzy Kasenberg
e8d50a3c57
Add dcd_edpt_close() to synopsys
...
Endpoint close was implemented only in one driver so far.
This function is needed for interfaces with several alternate settings.
The way FIFO is allocated in dcd_edpt_open() allows to correctly close
only one IN endpoint (the one that was opened last).
2020-08-14 14:29:35 +02:00
Jerzy Kasenberg
88c5e2a37f
Fix synopsys fifo flush during stall
...
Wrong FIFO was flushed in dcd_edpt_stall().
(epnum - 1) should only be used when accessing DIEPTXF registers.
For DIEPCTL and GRSTCTL epnum is correct index.
2020-08-12 10:26:36 +02:00
Ha Thach
6f3378f71d
Merge pull request #476 from kasjer/kasjer/fix-synopsys-fix-iso-frame-bit
...
Fix synopsys odd/even frame bit for IN ISO endpoints
2020-08-05 22:36:05 +07:00
Jerzy Kasenberg
e9aa36a6e8
Fix synopsys odd/even frame bit for IN ISO endpoints
...
For ISO endpoint driver has to specify when data
is to be transmitted (odd or even frame).
Currently code was not updating this bit resulting in
data being sent every other frame.
If interval was 1ms full data packed was sent every 2ms, and
ZLP was sent in between.
2020-08-04 09:32:41 +02:00
hathach
7d9efd0697
manually submit unplugged event for nrf dcd_disconnect()
2020-08-04 14:18:12 +07:00
Ha Thach
026a1e7ac8
Merge pull request #478 from hathach/move-dcdconnect-to-dcdinit
...
Move pull-up enabling to dcd_init() instead of usbd
2020-08-04 14:11:32 +07:00
Reinhard Panhuber
c557bf7b2e
Implement dynamic FIFO RAM allocation according to configuration desc.
2020-08-03 19:48:05 +02:00
Ha Thach
72464faca4
Merge pull request #472 from hathach/fix-msp430-warning
...
fix msp430 gcc 9.2.0 warning
2020-08-02 12:53:03 +07:00
hathach
acde49ccc9
enable pull-up in dcd_init() instead of usbd
2020-08-01 20:14:58 +07:00
Ha Thach
310797a580
Merge pull request #477 from hathach/fix-nrf-unplugg-isr-event
...
correct isr context for nrf DCD_EVENT_UNPLUGGED
2020-08-01 12:31:48 +07:00
hathach
9bf2b33366
correct isr context for nrf DCD_EVENT_UNPLUGGED
...
also rename debug lookup to prevent conflict
2020-08-01 12:02:59 +07:00
Jerzy Kasenberg
c3b0389f10
Fix synopsys size check for ISO endpoint
...
Constraint was incorrect for ISO endpoint as stated in TODO.
2020-07-31 15:52:21 +02:00
hathach
10a8ef7614
fix nested extern declaration of 'SystemCoreClock' [-Werror=nested-externs]
2020-07-29 17:04:47 +07:00
hathach
5af08e2ffc
fix strict prototype
2020-07-29 16:59:07 +07:00
Ha Thach
8dda0a0dd1
Merge pull request #454 from me-no-dev/esp32-s2-fifos
...
ESP32-S2: Handle the fact that available EP IN FIFOs are less than the number of available EP INs
2020-07-28 15:16:15 +07:00
me-no-dev
a1a390a788
Update dcd_esp32s2.c
2020-07-28 10:54:23 +03:00
hathach
6976e64217
fix msp430 gcc 9.2.0 warning in #465
2020-07-28 14:36:15 +07:00
Reinhard Panhuber
01903a4a6d
Implement dynamic reallocation of RX and TX fifos for EP0.
...
Tested with EP0 size 8/16/32/64.
2020-07-27 21:03:20 +02:00
Reinhard Panhuber
5e3f90cd6e
add 'set_EP0_max_pkt_size(...)' and fix EP0 size to 64 bytes after reset
2020-07-26 19:21:30 +02:00
hathach
0407cfe16c
fix samd21 race condition with setup packet
...
reproduced with Adafruit_TinyUSB_ArduinoCore port commit 11d669b4d2a40eb2fc5e51b2a9707a6de9d42363 and SAMD BSP 1.6.1
2020-07-23 01:39:15 +07:00
hathach
7baeea7a00
update actual link speed for spresense
2020-07-17 18:28:19 +07:00
hathach
dc00f0cae1
update link speed detection for nuc505
2020-07-16 20:44:06 +07:00
hathach
0517f4a2f1
dcd tdi report link speed on reset
2020-07-16 16:12:21 +07:00
Ha Thach
81392da1ea
Merge pull request #456 from me-no-dev/esp32-s2-epin-to
...
ESP32-S2: Detect EP IN Xfer Timeout
2020-07-10 12:29:06 +07:00
hathach
0fd074afd8
change REDUCE_SPEED=0/1 to explicitly SPEED=high/full
...
update readme, boards.md to add link to new stm boards
2020-07-08 16:29:48 +07:00
Ha Thach
a192d99bf0
Merge pull request #457 from UweBonnes/add-stm-hs
...
Add stm hs
2020-07-05 14:07:08 +07:00
Uwe Bonnes
fd38178189
STM32/OTG_HS: Allow OTG_HS port to run at FS speed.
...
Add "REDUCE_SPEED=1" to the compile options.
2020-07-03 10:52:57 +02:00
hathach
ad5ae8c31d
update per review
2020-07-03 14:50:39 +07:00
hathach
a09a86d299
fix NVIC disable typo
2020-07-03 01:19:02 +07:00
me-no-dev
d493724a7b
ESP32-S2: Detect EP IN Xfer Timeout
...
In some rare ocasions (bad cable, noise, etc.) data transfer might timeout and hang the endpoint, unless the interrupt flag is cleared.
This pull request targets to solve that case.
2020-07-02 13:05:17 +03:00
hathach
4cec866994
correct HSE_VALUE in hal_conf
...
- although it is define in CFLAGS, it is worth to correct to be
consistent with other build
- extract set_speed()
2020-07-02 14:57:00 +07:00
hathach
9a290febcd
change default port some stm bsp
...
- f769disco default port is highspeed port1
- remove PORT0 on stlink since the board only populated HS connector
2020-07-02 11:58:40 +07:00
hathach
4966fb2e13
clean up
2020-07-02 01:25:21 +07:00
hathach
c2289777f7
Merge branch 'add-stm-hs' of github.com:hathach/tinyusb into add-stm-hs
2020-07-01 23:53:33 +07:00
Uwe Bonnes
196bdbc702
st/synopsys/dcd_synopsys.c: Remove USBC PHY PLL stabilization delay for now
...
While the ST code has a 2 ms stabilization delay for the USBC PHY PLL,
running without this delay showed no problem for at leat 10 USB un/replug
cycles. Observe for problems!
2020-07-01 14:45:07 +02:00
hathach
d2450abaaf
only set turnaround in reset complete
2020-07-01 18:51:04 +07:00
hathach
e3974d6869
correctly set turn around according to cpu clock
...
help to run with low speed mcu
2020-07-01 18:44:52 +07:00
hathach
a512a31c9d
Merge branch 'master' into add-stm-hs
2020-07-01 17:58:02 +07:00
hathach
ed1b670c55
clean up code
2020-07-01 17:57:37 +07:00
me-no-dev
6178f8de2f
ESP32-S2: Handle the fact that available EP IN FIFOs are less than the number of available EP INs
...
ESP32-S2 has only 5 available endpoint-in FIFOs (including EP0) but 7 available EP IN numbers. This change decouples the fifo number from the endpoint number, providing FIFO numbers until they reach the limit, at which point it will return false and assert an error that too many endpoints were allocated.
2020-07-01 13:38:59 +03:00
Jan Dümpelmann
378e6aab8c
Clear ep0_pending if rx short packet
2020-06-30 17:56:25 +02:00
Jan Dümpelmann
9e35ef73f7
Fix receiving of short packet data (ep out)
2020-06-30 12:55:39 +02:00
Uwe Bonnes
30a18e2605
stm32f723disco: USB HS enumerates.
2020-06-30 11:07:53 +02:00
Uwe Bonnes
05bfd9ac4a
dcd_synopsys: Handle HS and FS IP in one device
...
FIXME: Allow run-time selection to allow to handle both HS and FS with
one file
F746 HS port enumerates with error
config 1 interface 2 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 64
2020-06-30 11:02:41 +02:00
hathach
ab75998316
Merge branch 'master' into add-stm-hs
2020-06-30 01:55:57 +07:00
Ha Thach
05996aee64
Merge pull request #427 from kasjer/kasjer/add-da1469x-support
...
Support for DA1469x MCU from Dialog Semiconductor
2020-06-30 01:20:56 +07:00
Ha Thach
268ab9eaa8
Merge pull request #399 from duempel/redesign_synopsys_receive
...
Improvements to Synopsys EP OUT
2020-06-29 16:02:40 +07:00
Jan Dümpelmann
99df7789a7
Add author name to dcd_synopsys.c
2020-06-29 10:55:03 +02:00
Jan Dümpelmann
4f69bcea7e
Remove EP0 remaining bytes manipulation
...
Renaming edpt_xact to edpt_schedule_packets
2020-06-26 17:18:25 +02:00
Jeff Epler
b2ef8cdd42
dcd_samd: Provide implementation for OPT_MCU_SAME5X
2020-06-25 18:51:04 -05:00
hathach
d4d6e06c1d
added OPT_MCU_SAME5X option
2020-06-24 00:53:17 +07:00
Jan Dümpelmann
067287ef91
Add transaction (edpt_xact) as sub transfer
...
A transfer can have one or multiple transactions.
Usually only EP0 splits one xfer into multiple xact.
2020-06-18 17:18:28 +02:00
Mengsk
9ffb9b69a4
Disable SOF in dcd_stm32_fsdev
...
Signed-off-by: Mengsk <admin@hifiphile.com>
2020-06-18 14:18:00 +02:00
Mengsk
57b553e023
Fix IAR warnings.
...
Pa039 : use of address of unaligned structure member.
Pe188: enumerated type mixed with another type.
2020-06-17 10:08:33 +02:00
hathach
667eaa6dd6
fix stm32h743 priority with freeRTOS
2020-06-16 00:03:52 +07:00
hathach
2dd1be13e5
Enhance EP FIFO allocation for both Fullspeed and Highspeed
...
- Update shared RX FIFO calculation with FS/HS
- IN FIFO EP
- Interrupt -> use EPSize
- Bulk/ISO -> use max(EPSize, remaining-fifo / non-opened-EPIN)
2020-06-15 23:17:49 +07:00
Jan Dümpelmann
4399dd1b06
cherry pick PR399 commit : Interrupt time improvements
2020-06-14 19:13:31 +07:00
hathach
f438aedccb
overwrite setup packet
2020-06-14 18:29:38 +07:00
Jerzy Kasenberg
0635bafe0a
Add DCD for Dialog DA1469x MCU
...
Dialog Semiconductor's BLE MCU DA1469x comes with full speed USB.
It's base on National Semiconductor discrete USB controller USBN9603/4.
This adds support for:
- control/interrupt/bulk endpoints (up to 64 bytes)
- ISO endpoint were not tested and may not work correctly
- reset/sleep/wakeup are handled
- code for VBUS changes is provided
2020-06-09 15:55:46 +02:00
hathach
710c54f8cb
allow hs ep open with 512 bytes
2020-06-01 01:36:09 +07:00
hathach
f771afe6af
fixed EP0 size to 64 since LS is not supported in device mode
...
- set turn-around and report actual speed in Enum Done
- add dcd_event_bus_reset() helper to report speed
2020-05-31 23:43:29 +07:00
hathach
5ffba8536d
able to detect as hs
2020-05-31 19:41:22 +07:00
hathach
d4bf777c94
try to get synopsys work with OTG HS + external PHY
2020-05-27 11:01:33 +07:00
hathach
b4804d1592
random clean up for tdi
2020-05-26 22:15:38 +07:00
hathach
947c3eb10d
multiple port support for global otg base
2020-05-26 16:07:48 +07:00
hathach
b7ab60aa44
suporting multiple port (OTG FS + HS) for stm32
2020-05-26 15:52:02 +07:00
hathach
ff9994116e
fix nrf hanged (blocking wait) when called within critical section
2020-05-21 21:22:12 +07:00
hathach
550746097b
fix cast-align warning for nuc505
2020-05-18 13:03:41 +07:00
hathach
1a8ce043ed
enable -Wcast-align
...
suppress vendor sdk driver at board.mk
2020-05-17 14:24:15 +07:00
Jan Dümpelmann
42edbc0006
Allow EP0 to use xfer sizes larger than one packet
2020-05-15 22:26:14 +02:00
Jan Dümpelmann
28696de390
Interrupt time improvements
2020-05-15 18:21:44 +02:00
Jan Dümpelmann
3401e0f6ff
Synopsys OUT EP improvements:
...
- Use register based XFRSIZ to determine transfer complete
(xfer->queued_len and xfer->short_packet were deleted)
- Pop out as many RxFIFO data entries as available within a IRQ call
- less application interruption due to XFRC calls
2020-05-08 18:10:48 +02:00
hathach
58b99e59d4
detect if SD is actually present on the flash using SD magic
...
even with SOFTDEVICE_PRESENT defined, SD may not be present on actual
flash.
2020-05-05 23:07:56 +07:00
Ha Thach
101f234a16
Merge pull request #387 from duempel/redesign_transmit_synopsys
...
Redesign of Synopsys device transmission
2020-05-04 14:41:20 +07:00
Jan Dümpelmann
fd69cc3dcc
clean up
...
renaming function and variables
changing indent size
2020-05-04 07:59:13 +02:00
hathach
0e30afa691
abstract all UDP_CSR
2020-05-02 18:24:23 +07:00
hathach
3ad0cd041b
clean up
2020-05-02 16:29:22 +07:00
hathach
ac3c645dc1
fix EP0 data toggle issue
2020-05-02 16:09:28 +07:00
hathach
2a479175ae
remove toggle walkaround, fix control stall race condition
2020-05-02 14:51:21 +07:00
hathach
a74a823b0a
fix dcd samd race condition with setup packet
...
setup packet can complete together with previous status (in & out).
Always make sure to prepare valid buffer for holding setup packet when
queuing control status.
2020-04-30 00:29:47 +07:00
Jan Dümpelmann
59ff208c65
Changed switch into if statements
2020-04-29 12:37:29 +02:00
Jan Dümpelmann
3e6feb7f6d
Redesign of Synopsys device transmission
...
Changes:
- checking if tx buffer empty interrupt is masked
- process more than one packet in isr
- mask tx buffer empty just after all bytes were written
- use of transmit_fifo_packet instead of transmit_packet
2020-04-29 11:32:22 +02:00
hathach
958b5510cb
added comment for hw clearing TXFE
2020-04-27 13:17:47 +07:00
hathach
e785b09118
TXFE is read only bit
2020-04-27 12:06:14 +07:00
hathach
00fcf829a1
sync synopsis fix for esp32s2
2020-04-26 22:41:04 +07:00
hathach
8d18d6077b
turn off TX FIFO Empty for EPIN if all bytes are written
...
fix dcd synopsys issue with usbnet #289
2020-04-26 22:14:59 +07:00
Jerzy Kasenberg
b949ae596f
synopsys: Reduce interrupt time for IN ZLP
...
For IN endpoints output FIFO is filled in interrupt, therefor before
endpoint is enabled, DIEPTSIZ is set with correct size of packet.
Then endpoint is enabled and FIFO empty interrupt is enabled.
This works fine except for the ZLP. Enabling FIFO empty interrupt
results in interrupt handler being called all the time because
there is nothing to put in the FIFO.
Eventually it ends when IN token is received and empty
packed is transmitted out.
This change does not enable FIFO empty interrupt for ZLP reducing
CPU load.
2020-04-24 17:38:30 +02:00
Jan Dümpelmann
551724498a
Added support for STM32F1 Connectivity Line MCU
...
STM32F105 and STM32F107 are using the Synopsys IP
2020-04-22 17:39:53 +02:00
hathach
1f442c0a9a
also add wakeup event
2020-04-18 23:48:36 +07:00
hathach
c3fc5f1595
session end interrupt doesn't trigger on esp32 saola board
...
it is possibly due to the board design without vbus sense. Revisit
later.
2020-04-18 23:42:51 +07:00
hathach
fa71402e17
implement disconnection detection for stm32 synopsys
...
- disconnection is OTG INT session end bit
- add USE_SOF to disable 1ms interrupt on mcu which isn't used now by
the stack
- add suspend detection
2020-04-18 23:40:27 +07:00
hathach
6f9c256ad0
complete remove dcd_set_config(), fix unit test
2020-04-17 13:52:34 +07:00
hathach
05476d9ad7
Merge branch 'master' into remove-dcd-set-config
2020-04-17 13:38:22 +07:00
Ha Thach
85f0894fff
Merge pull request #347 from majbthrd/nuc505_config
...
nuc505: change dcd_set_config() behavior
2020-04-17 13:36:16 +07:00
Ha Thach
1f69807621
Merge pull request #354 from hathach/cxd56-disconnect-connect
...
Cxd56 disconnect connect
2020-04-17 13:12:47 +07:00
hathach
dddf30f532
added disconnect for spresense
2020-04-17 12:53:42 +07:00
hathach
50be9d7c3a
mass rename tud/dcd_irq_handler to tud/dcd_init_handler
2020-04-17 12:27:53 +07:00
hathach
89f99426fc
add code for disconnect/connect (not tested)
2020-04-17 11:48:49 +07:00
Ha Thach
4bbbba48cb
Merge pull request #351 from hathach/valentyusb-dcd-disconnect-connect
...
Valentyusb dcd disconnect connect
2020-04-17 09:52:29 +07:00
Ha Thach
19e2eb66c0
Merge pull request #350 from hathach/synopsys-msp430-dcd-disconnect-connect
...
Synopsys msp430 dcd disconnect connect
2020-04-17 09:51:15 +07:00
Ha Thach
9aa553ccc2
Merge pull request #352 from hathach/samg-dcd-disconnect-connect
...
samg implement dcd connect/disconnect
2020-04-16 23:14:42 +07:00
Ha Thach
33610751d7
Merge pull request #336 from pigrew/edpt_close
...
> If you notice my chain of events above, the bulk transfer was started BEFORE the SET_INTERFACE call. The USB device hardware swaps the order of them being delivered. On STM32, it gives priority to the lower-numbered EP index.
It shouldn't be a matter, control is 2+ stage, before sending the setup. Host should stop all communication to the endpoint that It wants to close.
2020-04-16 23:10:36 +07:00
hathach
36d4efa077
samg implement dcd connect/disconnect
2020-04-16 22:59:19 +07:00
hathach
6377699d77
implement dcd disconnect connect
2020-04-16 22:30:33 +07:00
hathach
3aaad8cd73
add int enable/disable for pullup
2020-04-16 21:30:12 +07:00
hathach
18d936b414
msp430 disconnect/connect
2020-04-16 21:04:28 +07:00
hathach
63655ac9d7
cleanup for esp32
2020-04-16 20:43:26 +07:00
hathach
4c74140b31
stm32 sysnopsys disconnect/connect
2020-04-16 20:20:20 +07:00
hathach
a009775745
dcd disconnect/connect for transdimension ip
2020-04-16 16:56:16 +07:00
hathach
418b69f2db
implement dcd disconnect/connect for lpc ip3511
2020-04-16 16:05:57 +07:00
hathach
969121df4f
added dcd disconnect/connect to lpc17/40
2020-04-16 15:52:45 +07:00
Peter Lawrence
b9fca0bbb4
nuc505: change dcd_set_config() behavior
2020-04-15 14:16:48 -05:00
Nathan Conrad
b0270f499b
stm32fsdev: dynamic allocation of PMA.
2020-04-15 11:53:30 -04:00
Nathan Conrad
16f65890eb
Merge branch 'master' into edpt_close
2020-04-14 10:22:03 -04:00
Nathan Conrad
bbc59f1ceb
stm32fsdev: add static assert for PMA size bigger than EP0 size.
2020-04-13 20:50:17 -04:00
Nathan Conrad
f8e7487355
edpt_close: Updated based on feedback.
2020-04-13 09:51:46 -04:00
hathach
f4df829399
lpc17xx move set configdevice into set address
...
for removing dcd_set_config()
2020-04-13 17:04:18 +07:00
Nathan Conrad
0eeaccaf46
Skeleton, and initial stm32fsdev implementation (that leaks memory)
2020-04-12 21:27:27 -04:00
Ha Thach
04a06ec401
Merge branch 'master' into refactor-irqhandler
2020-04-11 15:49:34 +07:00
Ha Thach
13a3081d30
Merge pull request #333 from hathach/fix-esp32s2-setup-packet
...
fix incorrect setup packet
2020-04-11 15:18:41 +07:00
Ha Thach
07809d03a7
Merge pull request #332 from pigrew/stm32fsdev-dcdconnect
...
stm32fsdev: Implement dcd_connect.
2020-04-11 13:20:31 +07:00
hathach
ae1314f1c7
fix incorrect setup packet
...
also increase usbd stack in example when debug is enabled
2020-04-11 12:55:45 +07:00
Ha Thach
2ff3f765db
Merge pull request #319 from hathach/add-esp32s2
...
port ESP32 S2
2020-04-10 23:53:03 +07:00
hathach
a37a56acd3
remove CONFIG_IDF_TARGET_ESP32S2BETA per review
2020-04-10 23:38:36 +07:00
Nathan Conrad
5bd9d14fc1
stm32fsdev: set dcd_connect API definitions to strong, Modify documentation.
2020-04-10 10:26:41 -04:00
hathach
8953bc9255
added comment note for beta chip walkaround
2020-04-10 20:25:53 +07:00
hathach
c545cfc0bc
Correct dedicated FIFO SRAM size to 1024
...
add note for up to 5 active IN endpoints (including EP0 IN)
2020-04-10 15:42:50 +07:00
hathach
978eec73b3
remove 100us delay at the end of dcd_init()
2020-04-10 15:39:59 +07:00
hathach
30945ab9f3
revert name to dcd_int_handler due to function prototype warning
2020-04-10 15:27:23 +07:00
hathach
c0695b4b55
clear USB_RXFLVI_M before read_rx_fifo()
...
more format clean up
2020-04-10 15:13:12 +07:00
hathach
933e3cdfc7
change indent from 4 -> 2 spaces
2020-04-10 15:01:12 +07:00
hathach
cec747776d
rename dcd_init_handler to dcd_irq_handler to consistent with other ports
2020-04-10 14:47:02 +07:00
hathach
d122d7de88
remove commented code
2020-04-10 14:45:55 +07:00
hathach
a40d1e800d
try to fix racing condition with setup
2020-04-10 14:04:18 +07:00
Nathan Conrad
715c4dbbf8
stm32fsdev: Implement dcd_connect.
2020-04-09 17:03:12 -04:00
hathach
d6578823bb
rename static function for dcd_cxd56 to prevent conflict
2020-04-09 12:00:45 +07:00
hathach
c1f3fbbc03
implement dcd connect/disconnect for samd and nrf
2020-04-09 11:47:02 +07:00
Ha Thach
defea45d44
Merge branch 'master' into refactor-irqhandler
2020-04-09 11:22:20 +07:00
hathach
40e23672ff
rename hal_dcd_isr to dcd_irq_handler for fomu
2020-04-08 16:47:20 +07:00
hathach
e879ad1e6f
move irq from msp430
2020-04-08 16:42:36 +07:00
hathach
8f17945b67
move irq for stm32 synopsys
2020-04-08 16:37:09 +07:00
hathach
9014ca5528
move irq for stm32 fsdev
2020-04-08 16:26:14 +07:00
hathach
880595433c
use macro for easy enable/disable SOF
2020-04-08 15:41:16 +07:00
hathach
7b7a78ab2e
disable SOF interrupt since it is not used for now
2020-04-08 15:33:07 +07:00
Peter Lawrence
ccb65fcf6a
nuvoton: add dcd_disconnect() dcd_connect()
2020-04-07 10:51:55 -05:00
hathach
06e87b47a2
revert name to dcd_init_handler()
...
since the function signature is different
2020-04-06 21:28:02 +07:00
hathach
22a9b05834
rename dcd_int_handler to dcd_irq_handler for consistency with other port
2020-04-06 19:49:25 +07:00
hathach
06377a341b
add tud_irq_handler() for all lpc ip3511 (13, 15, 11)
2020-04-06 18:00:37 +07:00
hathach
138965d1d1
add tud_irq_handler() to all NUC board
2020-04-06 17:43:56 +07:00
hathach
4179334aca
call tud_irq_handler() for all nrf5x board
2020-04-06 17:35:11 +07:00
hathach
fb05451a26
mass rename dcd_isr() to dcd_irq_handler()
2020-04-06 17:24:22 +07:00
hathach
050de0ec33
fix issue and typo with In token when Fifo empty
...
fix transmit packet endpoint's fifo
2020-04-06 16:32:55 +07:00
hathach
2d6d298302
move irqhandler to application
...
tud_isr() must be called by application to forward the irqhandle to the
stack
2020-04-06 14:11:45 +07:00
hathach
1e7c3cf95e
update dcd esp32s2 fifo allocation to match current dcd synopsys
2020-04-03 17:09:38 +07:00
hathach
a3e50242b9
add dcd_esp32s2
...
skip esp32s2_saola for make build since idf use cmake
2020-04-01 17:07:28 +07:00
Ha Thach
435485b524
Merge pull request #304 from pigrew/stm32_xfer_rewrite
...
STM32FSDEV: Rewrite transfer ISR
2020-03-25 10:19:07 +07:00
Ha Thach
95009a9e79
Merge pull request #194 from cr1901/msp430f5529
...
[WIP] MSP430 Support
2020-03-24 11:57:20 +07:00
William D. Jones
6b5157fd28
dcd_msp430x5xx: Add dummy dcd_edpt0_status_complete handler. Add
...
comment which describes why it might be needed.
2020-03-24 00:03:12 -04:00
Nathan Conrad
eaf767b0db
STM32FSDEV: Rewrite transfer ISR
2020-03-22 14:26:48 -04:00
hathach
4f871063fd
Merge branch 'master' into cr1901-msp430f5529
2020-03-22 17:19:57 +07:00
hathach
a93548cfe9
update comment per review
2020-03-17 23:39:53 +07:00
hathach
a39d170672
follow up to pr #301
...
rename OPT_MCU_NUC505_USB_DMA to simply USE_DMA
2020-03-17 10:40:45 +07:00
Peter Lawrence
df05440d92
NUC505 : added comment on DMA choice
2020-03-16 13:20:17 -05:00
Peter Lawrence
fb56c02a6f
NUC505 : fix operation with net_lwip_webserver
2020-03-15 17:44:09 -05:00
hathach
71fb3985ba
Merge branch 'nuc120' of https://github.com/majbthrd/tinyusb into majbthrd-nuc120
2020-03-10 11:53:11 +07:00
hathach
e0cdab5bf7
fix stm32 fsdev epdesc
2020-03-08 16:28:21 +07:00
hathach
c8247f0907
fix zlp for nrf52840
2020-03-08 14:20:28 +07:00
Ha Thach
5f5ee465a6
Merge pull request #291 from hathach/port-samg55
...
Port samg55
2020-03-07 16:38:59 +07:00
Peter Lawrence
7d8ecc63a6
add Nuvoton NUC505
2020-02-07 20:11:00 -06:00
hathach
46f22860fb
correct waklaround with only status IN
...
correct usb descriptor msc dual example to work with samg
2020-02-07 22:13:38 +07:00
hathach
02b2c60231
samg55 work with cdc msc example
2020-02-07 17:39:20 +07:00
hathach
087e3c7f56
Merge branch 'master' into port-samg55
2020-02-07 16:50:07 +07:00
hathach
9ca6311ac4
implement walkaround for incorrect DATA Toggle for status control.
2020-02-07 16:46:18 +07:00
Peter Lawrence
cd8eb2a06b
added support for Nuvoton NUC120
2020-01-25 13:10:32 -06:00
hathach
e2f60a5134
rt10xx: correct max endpoint count is 8
2020-01-17 17:09:23 +07:00
hathach
04d8671641
clean up, disable SOF for dcd trans since we don't use it for now
2020-01-17 12:59:00 +07:00
hathach
3208fe00b6
clean up
2020-01-17 12:06:59 +07:00
Ha Thach
1f95f439e1
Merge pull request #274 from tannewt/dcache
...
Clean and invalidate the DCache when we have one.
2020-01-17 09:47:38 +07:00
Scott Shawcroft
cd6454a330
Add if guards for dcache flushes.
2020-01-16 17:17:49 -08:00
Scott Shawcroft
ae68668df9
flush and invalidate the dcache
2020-01-15 21:59:15 -08:00
Ha Thach
12b191510a
Merge branch 'master' into nucbusreset
2020-01-16 11:22:33 +07:00
Ha Thach
537ceb0f65
Merge branch 'master' into line_endings
2020-01-16 10:55:14 +07:00
Peter Lawrence
2ed395bde3
nuc121: survive USB bus reset
2020-01-15 21:40:24 -06:00
Peter Lawrence
c04bc07c29
nuc121: enhanced driver and hopefully added readability
2020-01-15 20:09:50 -06:00
Nathan Conrad
25c1bea782
Normalize line endings
2020-01-15 14:47:43 -05:00
Peter Lawrence
7f2db321bf
nuc121: better fix for handling large OUT transfers
2020-01-15 10:23:23 -06:00
Peter Lawrence
f2a5335417
nuc121: fix handling of OUT transfers larger than max packet size
2020-01-14 22:07:38 -06:00
Sean Cross
a6b916ba85
Merge pull request #269 from antmicro/volatile_buffers_fix
...
dcd_eptri: Fix rx_buffer/tx_buffer volatile annotation
2020-01-15 07:02:11 +10:00
Mateusz Holenko
c1781e5e7c
dcd_eptri: Fix rx_buffer/tx_buffer volatile annotation
...
This makes `rx_buffer` and `tx_buffer` *pointers*
volatile in order to avoid caching them in a register.
The original notation meant "a pointer to a volatile value"
(equivalent of `volatile uint8_t *`). This resulted in
`while(rx_buffer[ep_num] != NULL) ;` loop to get stuck
forever, even though the IRQ handler set the `rx_buffer[ep_num] = NULL`.
2020-01-14 13:57:17 +01:00
Ha Thach
130250a2be
Merge branch 'master' into nuc121
2020-01-07 16:26:58 +07:00
Peter Lawrence
5c5f876461
dcd_nuc121: allow user ZLP transfers to get a callback
2020-01-04 13:36:26 -06:00
Peter Lawrence
f4371e79b1
add Nuvoton NUC121/NUC125/NUC126
2020-01-04 10:31:55 -06:00
hathach
89f3ad59da
fix #247
2019-12-27 09:42:57 +07:00
hathach
0da45c2e78
clean up
2019-12-26 22:31:29 +07:00
hathach
b5684c5c10
merge dcd_samd51 & dcd_samd21 into dcd_samd
2019-12-26 21:46:59 +07:00
hathach
49b316143a
improve samd, fix missing setup packet occasionally
2019-12-26 17:11:24 +07:00
hathach
5690e7b304
fix samd51 setup packet handling
...
issue occur due to race condition
https://github.com/adafruit/Adafruit_TinyUSB_Arduino/issues/37
2019-12-25 23:47:47 +07:00
hathach
bbada1d3e6
adding lookup table for debugging
...
add msc scsi command list
2019-12-23 18:54:06 +07:00
hathach
94e70f9b01
Merge branch 'master' into port-samg55
2019-12-21 23:53:48 +07:00
hathach
421221baa5
making more progress, but failed with WRITE10
...
incorrect queue 448 bytes instead of 512
2019-12-21 23:51:57 +07:00
hathach
050fa2fd39
able to response to scsi inquiry, but failed to response to test unit ready
2019-12-21 19:33:41 +07:00
Ha Thach
7a05b177a4
Merge pull request #236 from jeremyherbert/master
...
Update dcd_stm32_fsdev.c with note about F042Fx remapping
2019-12-12 10:17:40 +07:00
Jeremy Herbert
9d96b6d66e
Update dcd_stm32_fsdev.c
...
Add a note about pin remapping for the STM32F042Fx
2019-12-12 09:40:06 +10:00
hathach
96a9eca6a0
move VBUS sense out of dcd_synosys to bsp
2019-12-11 14:03:36 +07:00
hathach
752aea7d72
enhance samg
2019-12-09 23:58:13 +07:00
hathach
fa96078882
clear data toggle in clear stall, also set config bit
2019-12-09 23:21:06 +07:00
hathach
75a2157715
fix samd using TUSB_REQ_SET_ADDRESS in dcd_edpt0_status_complete
2019-12-09 23:20:21 +07:00
hathach
0316e0ecd4
update descriptor, enhance ep in transfer
2019-12-09 22:48:35 +07:00
hathach
759fa76280
implementing dcd_edpt_open
2019-12-09 21:36:15 +07:00
hathach
988edce745
fix build
2019-12-09 18:49:38 +07:00
hathach
208a77678c
clean up, switch and update submodule samd to circuitpython branch
2019-12-09 18:37:54 +07:00
Sean Cross
26dcc19b18
valentyusb: eptri: don't double-advance read buffer
...
Due to an error, we were double-advancing the FIFO buffer. The end
result was that the second half of most reads were getting ignored.
This wasn't found during earlier testing because only 64-byte buffers
were tested.
This corrects this error by avoiding double-advancing the buffer.
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-29 18:14:23 +08:00
hathach
e9725dcdbe
use dcd_edpt0_status_complete() to prepare for setup packet for samd21/samd51
2019-11-28 13:48:55 +07:00
hathach
d7558e8a0f
use dcd_edpt0_status_complete() to set address without blocking for samd21/samd51/stm32_fsdev
2019-11-28 13:39:29 +07:00
hathach
ac701c398b
clean up
2019-11-28 12:18:56 +07:00
hathach
552cc3ef33
implement dcd_edpt_stall
2019-11-28 11:56:35 +07:00
hathach
5dc04887e2
get passed set address
2019-11-28 11:48:08 +07:00
hathach
6bc245cb36
add dcd_edpt0_status_complete() which is useful for several mcu port
2019-11-28 11:46:36 +07:00
hathach
40b454cf28
get passed first get device descriptor
2019-11-27 23:20:48 +07:00
hathach
6225d5bcfd
able to handle setup packet
2019-11-27 16:01:25 +07:00
hathach
bc21714c7e
detect bus reset
2019-11-27 14:49:19 +07:00
hathach
745f0b4521
clean up
2019-11-27 11:02:24 +07:00
hathach
c691dc4cb2
update
2019-11-25 10:42:32 +07:00
hathach
58e8265964
usb hw init OK
2019-11-24 23:46:28 +07:00
hathach
24b2cea139
Merge branch 'master' into port-samg55
2019-11-24 21:22:42 +07:00
hathach
d991466a8e
fix rt1010 rt1020 only has 1 usb controller, rt1050 rt1060 has 2
2019-11-23 00:48:56 +07:00
hathach
38b14725f7
rename OPT_MCU_IMXRT10XX to OPT_MCU_MIMXRT10XX
2019-11-22 17:40:12 +07:00
hathach
281e8cd9ec
rename OPT_MCU_RT10XX to OPT_MCU_IMXRT10XX
2019-11-22 15:42:46 +07:00
Ha Thach
ca741dfc2a
Merge pull request #220 from hathach/develop
...
Port NXP iMX RT10XX
2019-11-22 15:16:41 +07:00
hathach
6123b600fc
rename dcd_lpc18_43 to dcd_transdimension
2019-11-22 14:47:07 +07:00
hathach
a0b2561a2d
move nxp dcd ehci controller reset and modde into dcd
...
rt1064 work with cdc msc example
2019-11-22 14:20:10 +07:00
hathach
fca4653b95
able to compile dcd 18/43 with rt1064
2019-11-22 12:34:41 +07:00