2952 Commits

Author SHA1 Message Date
email
af9a3f646c fix idfgh-6508: return type in tu_fifo_peek_n()
https://github.com/espressif/esp-idf/issues/8161
2022-01-19 09:00:43 +01:00
Ha Thach
0b6b4f2441
Merge pull request #1286 from hathach/fix-fifo-mutex-when-full
fix locked mutex when fifo is full
2022-01-19 10:45:33 +07:00
Ha Thach
983abfd6d8
Merge pull request #1279 from kasjer/kasjer/nrf5x-int-race
nrf5x: Fix EP OUT race conditions
2022-01-19 10:33:37 +07:00
hathach
161ba73c8b
fix locked mutex when fifo is full 2022-01-19 10:17:39 +07:00
Ha Thach
84f2ca77f7
Merge pull request #1283 from kasjer/kasjer/olimex-pic32-board-fixes
olimex pic32 board fixes
2022-01-19 09:55:18 +07:00
Ha Thach
92c36f187d
Merge pull request #1274 from kasjer/kasjer/nrf5x-request-clock-in-mynewt
nrf5x: Request HFXO via OS
2022-01-18 20:00:23 +07:00
Jerzy Kasenberg
f4725120a4 nrf5x: Request HFXO via OS
Mynewt (similar to Soft Device) has its own reference counting for
HFXO oscillator.
So far TinyUSB requested HFXO when VBUS was detected and stopped when
VBUS was removed.
But with Mynewt running HFXO can be stopped when other interested parties
don't require HFXO anymore. This results in very difficult to track
USB transmission errors.

This change enables Mynewt specific HFXO management in Soft Device fashion.
2022-01-18 08:12:49 +01:00
Jerzy Kasenberg
168c7095e8 pic32mz: Fix remote_wakeup without OS
Remote wakeup requires 10ms of delay when RESUME bit
is toggled.
It was covered for OS build.
For non-OS build simple delay based on board_millis() is
used to wait required amount of time.
Without this remote wakup may not work.
2022-01-17 17:59:51 +01:00
Jerzy Kasenberg
ec01428820 ft9xx: Fix Mynewt build
Includes were moved few lines down to restore build with Mynewt build system.
2022-01-17 09:14:41 +01:00
Ha Thach
efc29baead
Merge branch 'master' into port-ft90x 2022-01-17 12:36:39 +07:00
Ha Thach
976405dea3
Merge pull request #1270 from kasjer/kasjer/pic32mz
Driver for Microchip PIC32MZ family
2022-01-16 20:24:14 +07:00
hathach
c722133671 change OPT_MCU_PIC32MZ to value of 1900 2022-01-16 15:38:23 +07:00
hathach
45fb60e883 update format correction with actual bus speed 2022-01-16 12:12:57 +07:00
Jerzy Kasenberg
da44fe3fc9 nrf5x: Fix EP OUT race conditions
When dcd_edpt_xfer() starts new transfer two separate problems were observed.
For both problems stream of OUT packets was pouring from host.

First problem was that total_len and actual_len were not atomic.
In case where incoming OUT packets are less (63) than MPS (64), actual_len and total_len
are set 63.
Then transfer complete from USBD is called that will schedule next 64 bytes transfer.
At that point incoming packet would start DMA if there is place in RAM, normally
it does not happen since actual_len == total_len.
If packets arrives and interrupt is raised after total_len is set (64) but actual_len is still 63 from
previous transfer, interrupt code sees that there is place in ram (1 byte) and transfer this 1 byte
to buffer that was already filled with previous packet.
To remedy this USB interrupt is blocked during transfer setup.

Second problem can happen when dcd_edpt_xfer setups xfer->total_len and actual_len correctly
but then context switch happens before xfer->data_received is checked.
If during this time two packets arrive one will be copied to RAM second will stay in endpoint with
data_received set to 1.
Then when xfer_edpt_xfer() checks data_receive flag it starts DMA again overwriting data.
To remedy this, data_received is checked together with check if data was already transferred.
If transfer was complete, there is no need to start DMA yet.
In such case data_received will be handled in same place by next xfer_edpt_xfer() correctly.
2022-01-14 09:46:39 +01:00
Jerzy Kasenberg
340309561d Add driver for PIC32MZ MCUs
Device-only driver for PIC32MZ MCUs.
2022-01-07 14:12:42 +01:00
Valentin Milea
c2533a45bd Merge branch 'master' into feature/feedback_format 2022-01-07 15:12:07 +02:00
Valentin Milea
a284e438f1 Disable feedback format correction by default #1234 2022-01-07 15:02:52 +02:00
EmergReanimator
44406a8940 Enable breakpoints for ARM8M (e.g. cortex-m33) 2022-01-06 09:56:45 +01:00
Scott Shawcroft
47218eeb67
No exceptions on broadcom. Add parens to if 2022-01-05 16:07:17 -08:00
Scott Shawcroft
a79ffeb764
Add Raspberry Pi Zero W and Zero 2 W
These are different Broadcom chips. The peripherals are essentially
the same. The main differences are:
* The CPU(s)
* The interrupt controller
* The peripheral base address (but not the peripherals that we use)
2022-01-05 13:47:01 -08:00
Jerzy Kasenberg
2f69649bb6 Add register file for Microchip PIC32MZ 2021-12-31 22:53:27 +01:00
hathach
c5d2c82cbb
fix unreachable warnings with keil 2021-12-30 20:59:53 +07:00
hathach
adb848f754
update docs 2021-12-29 19:42:34 +07:00
hathach
5f280b3029
add license to dcd file, slightly update readme 2021-12-29 19:25:32 +07:00
hathach
30aba24ddc Merge branch 'master' of https://github.com/t123yh/tinyusb into t123yh-master 2021-12-29 18:27:29 +07:00
kkitayam
2b8b8a3a97 Fix hcd_edpt_clear_stall 2021-12-27 22:55:28 +09:00
kkitayam
2c0fcc2fa7 Add statements for control VBUS 2021-12-27 21:36:49 +09:00
kkitayam
a76799b085 Add hcd for Renesas RX 2021-12-27 21:19:02 +09:00
Jerzy Kasenberg
7a596b9e55 Fix Mynewt build for Microchip PIC32MZ devices.
definition of DEBUG breaks Microchip pic32 builds for Mynewt.
When MCU is not VALENTYUSB_EPTRI there is no need to have any
preprocessor definitions.
It may not look like a big deal but for xc32 builds, compiler
automatically force-includes some file that have structure with field name
DEBUG that result in build error in dcd_eptri.c when this file
is not really needed.

Moving DEBUG and LOG_USB few lines down should not break eptri builds.
2021-12-27 10:14:38 +01:00
Gordon McNab
8d373b0887 Update midi_test endpoints and FT9xx code 2021-12-15 12:23:58 +00:00
Ha Thach
bfb5e32e1f
Merge pull request #1233 from vmilea/rp2040_bugfix/ep_close
Handle the closing of endpoints on RP2040
2021-12-09 23:38:17 +07:00
Ha Thach
6bf7fba2a4
Merge pull request #1221 from kasjer/kasjer/fix-nrf5x-vbus-race-condition
nrf5x: Fix race condition during startup
2021-12-09 00:44:44 +07:00
Valentin Milea
ae970ba2e2 Handle xfer events before closing EP 2021-12-08 12:34:00 +02:00
Gordon McNab
5039a5e54c Update code to implement changes from upstream master 2021-12-08 09:34:29 +00:00
Gordon McNab
9a7db98593 Merge branch 'master' into port-ft90x 2021-12-08 08:36:43 +00:00
Jerzy Kasenberg
21db2351fd nrf5x: Fix race condition during startup
When NRF5x device is reset by software (after DFU for example),
power event is ready from the beginning.
When power interrupt is triggered before tud_init() finished
USBD_IRQn is enabled before it would be enabled in tud_init().
This in turn may result in BUS RESET event being sent from
USB interrupt to USB task when queue is not initialized yet.
This scenario often happens in Mynewt build where queue creation
takes more time.

To prevent this scenario USBD_IRQn is not enabled in power event
interrupt handler before dcd_init() was called.
2021-12-08 08:27:27 +01:00
Valentin Milea
36e69b86bf Remove buffer reclaim logs 2021-12-07 15:35:30 +02:00
Ha Thach
c157837878
Merge pull request #1213 from kkitayam/add_hcd_for_msp_exp432e401y
Add a HCD driver for MSP-EXP432E401Y
2021-12-07 19:24:41 +07:00
Valentin Milea
ef879e8a8a Support disabling feedback format correction #1234 2021-12-06 18:49:58 +02:00
Yunhao Tian
96979a2c4a Fix handling of RXRDY bit 2021-12-06 19:56:27 +08:00
Yunhao Tian
1ffc366aa9 Change FIFO size to 4KB (not sure)
The datasheet says 2KB FIFO, but accroding to many
code examples, the F1C100s has at least 4KB of FIFO memory.
This is working with cdc_msc example,
but I'm not sure, this should be checked.
2021-12-05 22:40:05 +08:00
Yunhao Tian
f308603a3a Fix a typo that leads to incorrect RX handling 2021-12-05 22:31:09 +08:00
Yunhao Tian
702698ee29 Add FIFO size check 2021-12-05 18:18:41 +08:00
Yunhao Tian
64b81fd4d3 Close all EPs upon reset 2021-12-05 18:08:01 +08:00
Yunhao Tian
fa0e4d91f9 Save current EP before querying other EPs 2021-12-05 18:07:35 +08:00
Valentin Milea
48e1f6d899 Handle the closing of endpoints on RP2040 2021-12-04 16:04:48 +02:00
Yunhao Tian
68ca62dfd7 Add BSP support for F1C100s 2021-12-04 18:02:07 +08:00
Yunhao Tian
dff54d854d Modify sunxi_musb code 2021-12-04 17:18:39 +08:00
kkitayam
7137a0a92f Fix buffer overrun at pipe_read_packet() 2021-12-04 01:25:34 +09:00
kkitayam
81285273a6 Fix memory overrun at pipe_read_packet() 2021-12-04 01:18:42 +09:00