206 Commits

Author SHA1 Message Date
Reinhard Panhuber
313dd1439d Implement dcd_edpt_iso_xfer() for dcd_da146xx.c BUT WITHOUT DMA SUPPORT 2021-02-23 19:41:21 +01:00
Reinhard Panhuber
6cb9a6ebb1 Add (void *) for pointer cast. 2021-02-17 23:04:19 +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
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
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
a9fd0a454a Complete redesign of audio driver. 2021-02-12 16:28:41 +01:00
Reinhard Panhuber
84406f1654 Rework audio driver 2021-01-31 19:08:23 +01: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
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
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
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
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
Gavin Li
020ad47bb0 stm32: fix ISTR and CTR_RX/TX race conditions 2020-10-06 14:43:10 -07: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
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
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
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
Reinhard Panhuber
c557bf7b2e Implement dynamic FIFO RAM allocation according to configuration desc. 2020-08-03 19:48:05 +02:00