Commit Graph

951 Commits

Author SHA1 Message Date
hathach 5d05f8758f
more clean up 2021-10-26 13:36:43 +07:00
hathach 4ebfd00d67
clean up 2021-10-26 13:33:40 +07:00
hathach de413183d4
use dwc2->epin 2021-10-26 13:07:00 +07:00
hathach e7655a7567
update the access epout 2021-10-26 13:02:26 +07:00
hathach 34844c9061
use dwc2->fifo[] 2021-10-26 12:53:29 +07:00
hathach 5e1a031800
complete dwc2 regs struct 2021-10-26 12:22:41 +07:00
hathach 3755814f57
add epin, epout to dwc2 regs 2021-10-26 11:49:59 +07:00
hathach 8df078dc9e
more rename 2021-10-26 11:11:46 +07:00
hathach 7369d2441d
update dwc2_type 2021-10-26 00:55:24 +07:00
hathach 460052c8a0
spacing 2021-10-25 21:20:58 +07:00
hathach dbd31895bc
change usage of TU_CHECK_MCU() to prevent macro conflict 2021-10-25 17:04:03 +07:00
hathach 85e18b9172
house keeping 2021-10-25 15:58:12 +07:00
hathach 4ccf60954d
moving esp32s2 to dwc2, abstract dwc2_set_turnaround() 2021-10-25 15:51:41 +07:00
hathach 61c80840c3
update dwc int enable/disable 2021-10-25 00:40:21 +07:00
hathach 4ab931a361
more clean up 2021-10-25 00:23:18 +07:00
hathach 0e7c103e98
minor rename 2021-10-25 00:11:17 +07:00
hathach 32742571da
switch gd32 and stm32f4 to use new dwc2 driver 2021-10-25 00:06:57 +07:00
hathach 06de6b725c
adding generalized dwc2 driver 2021-10-24 23:24:46 +07:00
Ha Thach 55e0b5882a
Merge pull request #1160 from cr1901/msp-fix
msp430x5xx: Set base of transmit_packet buffer earlier to avoid incre…
2021-10-24 17:28:11 +07:00
hathach 109b7a6661 more wMaxPacketSize 2021-10-24 14:39:02 +07:00
hathach 5af989384b remove ep descriptor wMaxPacketSize bitfield due to endian issue 2021-10-24 13:11:21 +07:00
William D. Jones 07c74c76d0 msp430x5xx: Set base of transmit_packet buffer earlier to avoid incrementing past unsent data. 2021-10-23 14:04:44 -04:00
Ha Thach 311c05b401
Merge branch 'master' into fix-warnings 2021-10-23 21:23:56 +07:00
Ha Thach 4bfab30c02
Merge pull request #1139 from hathach/release-0.12.0
update changelog and increase version for 0.12.0
2021-10-19 13:27:53 +07:00
hathach 826b34a8ac enable -Wnull-dereference 2021-10-18 00:13:40 +07:00
hathach 099d3b377f add volatile to EPx_REGS for -Wcast-qual
since gcc does difference between volatile struct and member when
casting pointer
2021-10-17 17:33:14 +07:00
hathach 31cd366935 more -Wcast-qual 2021-10-17 17:32:03 +07:00
hathach a5f516893b more with -Wcast-qual 2021-10-17 16:36:53 +07:00
hathach 0b249618b0 fix -Wcast-qual 2021-10-15 23:54:31 +07:00
Jerzy Kasenberg bf4b133084 dcd_da146xx: Drop unexpected data
USB3CV tool verifies MSC device by sending too short or
too long packets.
In case of too long packets (msc_device requested 31 bytes
but incoming data had 32 bytes) extra byte(s) were left in
FIFO resulting in some data mismatch later on.

Now if more data is received in packet that expected extra
bytes are just dropped.
2021-10-15 12:02:15 +02:00
Jerzy Kasenberg 49aa0b72a8 dcd_da146xx: Fix EPIN stall notification handling
Normal TX handler for IN non-0 endpoints is called during
outgoing transfer or just after it was finished.
It may need to fill TX fifo with same data if TX_DONE is present
but ACK_STAT is not.
It may need to fill more data when called during transfer.
But it may also be called when STALL was sent.
In this case TX_DONE is set ACK_STAT is not, just like for packets
that were sent but no ACK was received.
Code was trying to send something again. There was nothing to send
so empty ZLP was scheduled for stalled endpoint.
This ZLP was later send to host where valid response was required.

This change checks if notification was for STALL endpoint and
does not try to fill TX FIFO in that case.
2021-10-15 12:02:15 +02:00
graham sanderson 06d9555389 More warning cleanup
- physically suppress warnings in TinyUSB headers using pragmas so they don't break -Werror compilation of external files that include them
 - fix compiler warnings in rp2040 port
 - add cmake method to rp2040 port to allow an external project to suppress warnings in TinyUSB itself
2021-10-14 15:23:26 -05:00
graham sanderson 7667299b48 Remove compiler warning 2021-10-14 12:13:39 -05:00
Ha Thach 9da234cd7c
Merge pull request #1101 from kasjer/kasjer/da146xx-bus-reset-sleep
da146xx bus reset and sleep reworked
2021-10-13 16:33:54 +07:00
hathach 103309b88b
Merge branch 'master' of github.com:hathach/tinyusb into zhangslice-master
examples/device/hid_composite_freertos/src/FreeRTOSConfig/FreeRTOSConfig.h
2021-09-29 15:27:41 +07:00
Ha Thach 1c17cb1c45
Merge pull request #1103 from kasjer/kasjer/da146xx-close-cleanup
dcd_da146xx: Remove registers pointer from xfer_ctl_t
2021-09-24 20:55:16 +07:00
Jerzy Kasenberg fbac58e3e4 dcd_da146xx: Implement dcd_edpt_close_all()
Unconditionally disables all endpoints except EP0.
2021-09-24 10:46:16 +02:00
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
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