summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-10-10Dynamically check STM32F3 IRQ remap optionNiklas Hauser
2020-10-09Revert dcd_alloc_mem_for_conf() but keep changes from @kasjer for ISO EPReinhard Panhuber
Add tud_audio_set_itf_close_EP_cb()
2020-10-09update tud_hid_boot_mode_cb/tud_hid_set_idle_cb support mul interfaceshathach
also clean up code
2020-10-09rename multiple hid callbackhathach
2020-10-09Merge pull request #524 from zlittell/f_MultipleHIDInterfacesHa Thach
Feature multiple hid interfaces
2020-10-08Fix tu_verify argsZachery Littell
2020-10-08Cleanup per review on PRZachery Littell
2020-10-08DA146xx: Allow transmitting of packets larger then 64 bytesJerzy Kasenberg
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-08DA146xx: Add support for ISO endpointsJerzy Kasenberg
Few changes were needed to have working ISO endpoints.
2020-10-08DA146xx: Add dcd_edpt_closeJerzy Kasenberg
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-08DA146xx: Allow receiving of packets larger then 64 bytesJerzy Kasenberg
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-07fix variable names. add itf n callbacks to multihidZachery Littell
2020-10-07Remove CFG_TUD_AUDIO_TX_DMA_RINGBUFFER_SIZE which is not needed any moreReinhard Panhuber
2020-10-07Merge pull request #529 from gh2o/stm32-raceHa Thach
stm32 fsdev: fix ISTR and CTR_RX/TX race conditions
2020-10-07tab -> spaceshathach
2020-10-07fix audio_test buildhathach
2020-10-06stm32: fix ISTR and CTR_RX/TX race conditionsGavin Li
2020-10-06Merge branch 'uac2' of https://github.com/PanRe/tinyusb into PanRe-uac2hathach
2020-10-06Merge pull request #516 from PanRe/tusb_fifo_unmaksed_pointersHa Thach
Tusb fifo unmaksed pointers
2020-10-03Change CFG_TUSB_CONFIG_FILE mechanism to improve header file scanningNiklas Hauser
2020-10-03Allow overwriting TU_ASSERT etc macrosNiklas Hauser
2020-10-03Use tu_printf instead of printfNiklas Hauser
2020-10-03Use C++11 static_assert when availableNiklas Hauser
2020-10-03Revert #define CFG_TUSB_DEBUG 2 to #define CFG_TUSB_DEBUG 0Reinhard Panhuber
Change 1 << 31 to 0x100000000 in audio.h
2020-10-02fix simple pull request comments. Implement descriptor index hack.Zachery Littell
2020-10-02Merge pull request #518 from kasjer/kasjer/nrf5x-iso-supportHa Thach
nrf5x iso support
2020-10-01add index to report descriptor callback. this is breaking and needs to be ↵Zachery Littell
reviewed
2020-10-01create N functions and inlines for multi hid interfacesZachery Littell
2020-10-01Change AUDIO_CS_INTERFACE_HEADER to AUDIO_CS_AC_INTERFACE_HEADERReinhard Panhuber
2020-10-01nrf5x: Add support for ISO endpointsJerzy Kasenberg
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-01nrf5x: Increase size of mps to 16 bitsJerzy Kasenberg
msp stores max packet size. For ISO endpoints 8 bits is not enough so it's changed to 16 bits.
2020-10-01nrf5x: Add dcd_edpt_closeJerzy Kasenberg
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-01device: Make number of endpoints configurableJerzy Kasenberg
Currently number of endpoints was hard coded to 8. NRF52 has 9 IN and 9 OUT endpoints. ISO endpoints are 0x08 and 0x88 and without this change those two ISO endpoint could not be used.
2020-09-29Change AUDIO_FUNC_PROTOCOL_CODE_UNDEF for midi in usbd.hReinhard Panhuber
2020-09-28Change AUDIO_PROTOCOL_V1 to AUDIO_FUNC_PROTOCOL_CODE_UNDEF in midi.c.Reinhard Panhuber
The USB specification does not define any AUDIO_PROTOCOL_V1!
2020-09-28Fix minor issue.Reinhard Panhuber
- Change set_EP0_max_pkt_size() to set_EP0_max_pkt_size(void).
2020-09-28Cleanup for PR.Reinhard Panhuber
2020-09-28Merge remote-tracking branch 'upstream/master' into uac2Reinhard Panhuber
2020-09-28audio: Add descriptor for mono speakerJerzy Kasenberg
This provides descriptor for mono speaker with explicit feedback.
2020-09-28synopsys: Fix odd/even frame handling for ISOJerzy Kasenberg
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-28audio_device: Update explicit feedback supportJerzy Kasenberg
Feedback can be specified by the user code and will be sent at feedback endpoint specified interval.
2020-09-28synopsys: Remove compilation warning in dcd_edpt_closeJerzy Kasenberg
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-28audio_device: Allow one FIFO for N channelsJerzy Kasenberg
This allow to build with single FIFO for devices with multiple channels. Having just one FIFO greatly reduces time needed to feed endpoint. This change also allows to have one FIFO with 24 bit samples that is not rounded up to 32 bit elements. CFG_TUD_AUDIO_RX_ITEMSIZE and CFG_TUD_AUDIO_TX_ITEMSIZE can be manually defined. This allows to use FIFO more efficiently when 24 bits samples are already using 3 bytes, in this case there is no need to put them into FIFO one by one. For 8, 16, 32 bits samples size efficient FIFO access is always used when single FIFO is selected. This also changes FIFO element size to 1, FIFO usage was confusing in some place it treated content as byte base in other it looked like ITEM size is to be used. Also bufsize that in most (maybe all) cases was really meaning item count. bufsize now mean buffer size in bytes so there is no confusion.
2020-09-28audio_device: Fix tud_audio_n_read_flush TU_VERIFY usageJerzy Kasenberg
void function used TU_VERIFY in a way that returned bool value. It would not compile.
2020-09-28audio_device: Fix audio_rx_done_type_I_pcm_ff_cb bufor size checkJerzy Kasenberg
Function was not checking buffer size correctly due missing parenthesis.
2020-09-28audio_device: Fix audio_rx_done_type_I_pcm_ff_cb prototypeJerzy Kasenberg
Function prototype did not have return type specified by mistake.
2020-09-28audio_device: Store rhport in interface dataJerzy Kasenberg
Some API uses interface number as argument, some wants to have rhport. To accommodate need of rhport for functions that don't have it rhport can be extracted from interface data.
2020-09-28audio: Update ISO endpoint attributesJerzy Kasenberg
Explicit feedback attribute was missing. No synchronization now also has definition.
2020-09-28audio_device: Fix inline function specifiersJerzy Kasenberg
Having just inline keyword for function specified in header may not be enough to generate code for function. Adding static solves this problem. static inline is used in all other inline functions in TinyUSB.
2020-09-28synopsys: Fix fifo allocation schemaJerzy Kasenberg
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.