Jerzy Kasenberg
1503955860
dcd_da146xx: Clear transfer data on dcd_edpt_close
...
Closing endpoint clears data in affected xfer_ctl_t
2021-09-24 09:28:51 +02:00
Jerzy Kasenberg
f172c5ee13
dcd_da146xx: Remove registers pointer from xfer_ctl_t
...
Note: this commit does not change any logic.
xfer_ctl_t structure keeps all dynamic data connected with transfer.
It used to have pointer to register set that was constant and was there
for convenience only.
Removing register pointer from structure makes cleanup easier as whole
structure can be erased with memset like function.
In many cases functions were using local variable regs and xfer->regs which
were same, that could be confusing so this part is unified.
Few macros were added for easy conversion between epnum, xfer, and regs.
2021-09-24 09:28:51 +02:00
Jerzy Kasenberg
428eedcd04
dcd_da146xx: Update bus handling
...
So far bus reset was handled (with some holes in it).
Sleep and remote wakeup were not really tested and did not work.
With this change:
- bus reset is reworked
- remote wakeup works
- bus signal sleep is handled
2021-09-23 14:12:50 +02:00
Jerzy Kasenberg
c427712449
dcd_da146xx: Handle only enabled interrupts
...
Not much of an improvement but handle only interrupts
that were enabled and are expected.
2021-09-23 14:12:50 +02:00
Ha Thach
3e569f8e79
Merge pull request #1094 from kasjer/kasjer/da146xx-vbus-handling
...
dcd_da146xx: Add VBUS handling
2021-09-18 23:12:40 +07:00
hathach
3333703d25
Merge branch 'master' into zhangslice-master
2021-09-18 13:35:26 +07:00
Scott Shawcroft
2499c9382d
rpi start. doesn't work
2021-09-17 16:51:34 -07:00
Jerzy Kasenberg
6d8677a78a
dcd_da146xx: Add VBUS handling
...
DA146xx are Bluetooth devices that may be battery
powered and when not connected to USB host there
is no need for USB peripheral to be running.
This change allows to enable USB peripheral when
VBUS is present otherwise USB is down reducing
power consumption.
tud_vsub_changed() function must be called
whenever VBUS change was detected.
For bus-powered devices this function should be called
at startup since VBUS must be present while device
is working.
2021-09-17 12:10:17 +02:00
hathach
b363afc091
minor clean up
2021-09-17 00:46:29 +07:00
hathach
c65cc75c6b
use correct resume detection for kl25z
2021-09-17 00:44:39 +07:00
hathach
8dfe0898e7
minor update to dcd khci
2021-09-17 00:43:10 +07:00
kkitayam
fbe1bf375c
Fix stall interrupt handling
2021-09-15 21:39:02 +09:00
hathach
93ed3034c0
merge master and minor clean up
2021-09-15 18:35:52 +07:00
hathach
f39656b6d7
Merge branch 'master' of github.com:hathach/tinyusb into kkitayam-impl_close_all_for_khci
2021-09-15 18:29:28 +07:00
Ha Thach
03866ddf9b
Merge pull request #1062 from HiFiPhile/fifo_dcd_transdimension
...
Improvements for dcd_transdimension
2021-09-15 16:07:06 +07:00
Ha Thach
6d3fb7eb98
Merge pull request #1087 from HiFiPhile/nuc_wkp
...
NUC126: fix remote_wakeup
2021-09-14 11:40:55 +07:00
hathach
cdc63459eb
esp32sx implement dcd_remote_wakeup(), fully compliance to chapter9 test suite
2021-09-13 16:49:38 +07:00
hathach
e64bfb9ff5
implement dcd_edpt_close_all(), pass chapter9 test suite (without remote wakeup)
2021-09-13 16:16:37 +07:00
hathach
43e6555fd0
clean up
2021-09-13 13:09:38 +07:00
hathach
ce5db06ba0
clear PID along with clear stall
2021-09-13 12:05:49 +07:00
hathach
6feda5ae8f
Merge branch 'nuc_wkp' of https://github.com/HiFiPhile/tinyusb into HiFiPhile-nuc_wkp
2021-09-13 11:52:16 +07:00
hathach
9bed4e2e21
refactor nxp TDI dcd_edpt_xfer_fifo
2021-09-13 00:45:15 +07:00
hathach
038ec341f8
Merge branch 'fifo_dcd_transdimension' of https://github.com/HiFiPhile/tinyusb
2021-09-12 17:39:32 +07:00
hathach
dd60ce784c
nxp tdi: implement dcd edpt close all
2021-09-11 21:29:04 +07:00
hathach
1f7ade2b75
nxp tdi: fix error td prevent further transfer
2021-09-11 19:27:37 +07:00
MasterPhi
22571ec98e
reset PID to DATA0 on clear_stall.
2021-09-10 16:04:47 +02:00
MasterPhi
8886de0d8a
Fix remote_wakeup
2021-09-10 13:05:15 +02:00
MasterPhi
580893b3fe
Shorter expr.
2021-09-10 11:17:33 +02:00
kkitayam
2998f67eac
Fix dcd_edpt_clear_stall to reset data toggle
2021-09-10 00:18:43 +09:00
Mengsk
283783c082
dcd_edpt_xfer_fifo: use qtd_init if restriction not met.
2021-09-09 16:45:18 +02:00
hathach
ad8c0ee818
nxp tdi: enhance qhd using DCD_ATTR_ENDPOINT_MAX
2021-09-09 20:26:03 +07:00
hathach
f948cbe471
nxp tdi implement remote wakeup
...
enhance bus reset, unplugged, suspend, resume detection
2021-09-09 17:04:04 +07:00
hathach
27800f7e4f
remove connected check for DCD_EVENT_UNPLUGGED since previous bus reset can clear this
...
implement unplugged detection for trans dimension dcd
2021-09-09 16:01:05 +07:00
kkitayam
780852efb3
Fix stall handling
2021-09-09 00:55:02 +09:00
kkitayam
22b5b47045
Implement dcd_edpt_close_all for NXP khci
2021-09-08 21:52:27 +09:00
Ha Thach
d66d817c38
Merge pull request #1080 from hathach/rx-msc-compliance
...
Renesas RX reset PID to DATA0 when open endpoint
2021-09-08 18:31:42 +07:00
Ha Thach
5f141a4c13
Merge pull request #1077 from hathach/st-synopsy-compliance
...
St synopsy compliance
2021-09-08 18:00:44 +07:00
hathach
d077574097
reset PID to DATA0 when open endpoint
2021-09-08 17:56:22 +07:00
hathach
67e80f60e3
fix build with gd32vf103
2021-09-08 13:35:11 +07:00
hathach
4ac136d81d
implement remote wakeup for stm synopsys
2021-09-08 00:57:07 +07:00
hathach
a54a974fa5
make synopsys usbcv compliance
...
- implement dcd_edpt_close_all()
- reset dtoggle when open endpoint
- correct dev interrupt mask on bus reset
2021-09-07 23:02:57 +07:00
kkitayam
f3da48d46a
Implement dcd_edpt_close_all() for Renesas RX family
2021-09-07 23:28:54 +09:00
hathach
d6e9fe38be
rp2040 implement dcd_edpt_close_all()
...
aslo rename reset_ep0_pid() and clean up. We only need to reset pid when
setup packet received
2021-09-01 19:44:12 +07:00
hathach
fc889ece74
rp2040 correct ep set/clear stall
...
- stall will remove pending (not complete) transfer. Correct reset data
toggle when clear stall.
- remove buf ctrl debug code
2021-09-01 16:52:27 +07:00
hathach
ab0c3e8dd0
fix rp2040 chapter 9 TD 9.6 test
2021-08-31 17:41:08 +07:00
MasterPhi
16b802d50c
add dcd_edpt_close and iso xfer.
2021-08-31 12:02:19 +02:00
MasterPhi
864d8381a7
dcd_transmission xfer_fifo support.
2021-08-31 11:59:51 +02:00
hathach
76345ea3a1
clear stall and reset data toggle when open edpt
...
required to pass one of msc test.
2021-08-31 16:41:45 +07:00
hathach
ad21b69277
fix nrf clear data toggle sequence when clearing stall
2021-08-29 12:05:34 +07:00
hathach
66c292e2ec
fix a couple of nrf dcd issue
...
- limit out xact dma to prevent usbd overflow in certain situation after
stalled
- drained already acked data when stalling an OUT endpoint
2021-08-29 00:34:21 +07:00
hathach
8bad0af849
explicitly clear stall and data toggle for edpoint upon open()
2021-08-27 22:31:08 +07:00
hathach
81c73c235f
implement dcd_edpt_close_all() for nrf52840
2021-08-27 22:30:30 +07:00
hathach
71e77e47fa
add dcd_edpt_close_all() for clear existing configured state
...
correctly responded to TD 9.13 Set Configuration Test
2021-08-26 17:07:03 +07:00
hathach
88bb8fac3d
rename host API to be consistent with naming on device stack
...
- tuh_device_get_speed() to tuh_speed_get()
- tuh_device_configured() to tuh_mounted()
- tuh_device_ready() to tuh_ready()
2021-08-24 12:37:04 +07:00
Ha Thach
9c3fdb8135
Merge pull request #1043 from hathach/more-host-improvement
...
More host improvement
2021-08-24 12:28:41 +07:00
Greg Steiert
86201f77be
initial commit of support for K32L2B
2021-08-23 16:17:57 -07:00
hathach
8dc16dd3a7
fix rp2040 build
2021-08-24 01:19:06 +07:00
hathach
3309425211
sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB
...
separate dev0 from _usbh_devices pool to save sram
2021-08-23 19:56:53 +07:00
hathach
75cd593b60
add hcd_devtree_get_info()
...
remove usbh_hcd.h
2021-08-23 17:00:41 +07:00
hathach
a490a3fe61
add hcd attr, add note for ehci framelist on NXP derivative
2021-08-23 15:40:57 +07:00
hathach
4ca176c291
refactor ehci init api
2021-08-23 12:37:54 +07:00
hathach
6a16f6ccdd
rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX
2021-08-23 11:01:40 +07:00
MasterPhi
69e539fda4
Fix CI.
2021-08-21 12:11:35 +02:00
MasterPhi
e20755442a
nuc126: fix set_address & disable sof
2021-08-21 12:04:02 +02:00
kkitayam
ff59e98a6a
Add compile switch to enable SOF during suspend only
2021-08-19 23:57:34 +09:00
kkitayam
351581537f
Removes redundant SOF processing from the Renesas RX family.
...
The same logic regarding the resume signal was implemented by usbd.
See also: #1023
2021-08-19 22:51:10 +09:00
Ha Thach
3a248951e2
Merge pull request #1024 from HiFiPhile/nuc
...
Fix nuc126 buffer copy with IAR
2021-08-18 19:14:03 +07:00
Ha Thach
830757d9ce
Merge pull request #1020 from hathach/rp2040-disconnect-suspend
...
Add Rp2040 suspend & resume support
2021-08-18 16:45:35 +07:00
hathach
3e8276846e
correct usb memcpy for nuc120 as well
2021-08-18 16:38:13 +07:00
Mengsk
7aff4b178e
use USBD_MemCopy.
2021-08-17 00:53:12 +02:00
hathach
26d347be17
add note for renesas rx remote wakeup
2021-08-16 20:24:07 +07:00
hathach
ab2eec77d4
complete suspend, resume, remote wakeup for nrf52
2021-08-16 20:22:14 +07:00
Ha Thach
2bb63406e9
Merge pull request #959 from KarlK90/gd32vf103-support-tiny-usb
...
[PORT] Add GD32VF103 support and Sipeed Longan Nano Board support
2021-08-15 18:50:00 +07:00
hathach
09e4348adc
move gd32vf103 to its own family
2021-08-15 17:19:25 +07:00
hathach
6af1950c8d
synopsys clear DAD on bus_reset
2021-08-14 01:51:13 +07:00
Tobias Ringström
0ec794376b
Fix dcd_set_address bug when called more than once with different
...
addresses (e.g. after plugging the device into a different port).
2021-08-13 14:11:14 +02:00
hathach
17ef9f4843
add ready check for edpt claim
2021-08-12 15:54:04 +07:00
hathach
4ad47d9e26
bus_reset will reset all endpoints
...
allow for dynamic configuration as well as state-less enumeration
2021-08-12 15:40:26 +07:00
Jerzy Kasenberg
cde607338d
da1469x: Fix no VBUS startup
...
For self powered device if device started without VBUS present
it would not be correctly attached to USB bus even if tusb_vbus_changed()
was later called.
This modifies dcd_init() so it starts USB state machine without checking
if VBUS is present or not, like all others drivers do.
tusb_vbus_changed() function is also removed its content was moved to dcd_init.
2021-08-12 09:12:25 +02:00
hathach
4f2999bc04
white space
2021-08-12 00:31:26 +07:00
hathach
88d4cb402d
simplify hw_endpoint_init()
2021-08-12 00:11:04 +07:00
hathach
a2baf9427d
more dcd clean up
2021-08-11 20:36:23 +07:00
hathach
979af6c2a8
clean up endpoint set/clear stall
2021-08-11 20:29:39 +07:00
hathach
f3a6e564ee
rp2040 enable suspend and resume interrupt
2021-08-11 20:06:57 +07:00
Jerzy Kasenberg
2c7bb540b4
dcd_da1469x: Use mcu.h instead of MCU specific header
...
dcd_da1469x can work with broader range of MCUs that
share same USB core.
Specific header file that was used DA1469xAB.h now it is changed
to mcu/mcu.h which includes actual MCU specific register file.
2021-08-10 20:26:51 +02:00
Robert Manzke
ea72d64992
STM32L151 portable driver adaptations
2021-08-08 08:30:52 +02:00
Stefan Kerkmann
4cebde65ec
Remove unnecessary define guard
...
The GD32VF103 family only has USB-OTG peripherals.
2021-08-07 12:00:13 +02:00
Stefan Kerkmann
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