2941 Commits

Author SHA1 Message Date
Jerzy Kasenberg
e49cad84e2 dcd_pic32: Fix memory overwrite in incoming data
When transfer was finished rx_fifo_read() read all that
was to read RXPKTRDY was cleared allowing next packet to
be received.
Then xfer_complete was called.
Interrupt for OUT endpoint was left enable, that would not
be a problem if data was handled fast and new transfer was
scheduled.
For MSC when host sends a lot of data this interrupt that was
enabled could cause epn_handle_rx_int() to be called after
transfer was completed and next was not scheduled yet.
Without TU_ASSERT that was added to detect this, incoming
data was written past buffer provided by user code resulting
in random memory corruption.

This just blocks RX interrupt when transfer is finished,
and also only unmasked rx interrupts are handled.
2022-05-01 14:26:24 +02:00
Jerzy Kasenberg
c145777e0e dcd_pic32: Add asserts transfer sanity check
TU_ASSERTS added to detect transfer inconsistency.
2022-05-01 14:14:42 +02:00
Jerzy Kasenberg
d51743a21c Add TU_BREAKPOINT for mips architecture
_mips is provided by xc32-gcc
2022-05-01 14:05:49 +02:00
hathach
0b30a10ab3 configure hid_to_cdc example to build with rp2040 with pio usb as host 2022-04-29 22:24:36 +07:00
hathach
85dcb73774 more clean up 2022-04-28 18:00:30 +07:00
hathach
a72d4e2462 make hcd_event_handler() fastfunc, and force inline other helper 2022-04-27 20:54:21 +07:00
hathach
ae5490e5a5 clean up 2022-04-27 20:52:56 +07:00
hathach
4a661dead0 add TU_ATTR_FAST_FUNC for rp2040 __not_in_flash() section 2022-04-27 17:57:52 +07:00
hathach
455bddddcd
minor clean up 2022-04-26 18:47:09 +07:00
hathach
4d11c658ff
improve pio usb endpoint handler 2022-04-26 13:08:03 +07:00
hathach
26a25279bc
follow pio usb changes 2022-04-26 00:35:16 +07:00
Nikitarc
15c01f20ec Update tusb_option.h
Makes ISO compiler happy
2022-04-25 14:06:15 +02:00
hathach
2f9b9a31be
more with pio usb 2022-04-22 18:26:58 +07:00
hathach
12debd7763
keep up with pio usb 2022-04-22 01:06:17 +07:00
hathach
98bbb0d402
Merge branch 'master' into pio-host 2022-04-21 12:05:22 +07:00
hathach
6a022c73db
add note for tud_task() behavior in freertos example 2022-04-20 18:35:38 +07:00
hathach
b034c18077
add tud_task_ext(), tuh_task_ext() as exteneded version that take timeout and in_isr
also allow exit tud_task,tuh_task after processing all events for
running other background task for user
2022-04-20 18:29:41 +07:00
Nikitarc
c422b9ef41 Update dwc2_stm32.h
Add missing #endif
2022-04-20 11:29:03 +02:00
hathach
669e36d674
fix freertos issue when 1 tick > 1 ms 2022-04-20 14:37:42 +07:00
hathach
a90839688c
add msec timeout to osal_queue_receive(), tud_task() and tuh_task() both pending for event queue with timeout of 1 ms 2022-04-20 13:25:38 +07:00
Nikitarc
52190e7308 Update dwc2_stm32.h
Support STM32H7 with only 1 USB port: H72x / H73x / H7Ax / H7Bx
2022-04-19 21:53:00 +02:00
hathach
a32cb1bb93 clean up pio driver 2022-04-18 17:49:21 +07:00
Skyler Mansfield
35668fc523 hcd_rp2040: Add bulk in/out+interrupt out support.
Added support for allocating hw_endpoints for non-interrupt endpoints.
Allow endpoints to be used in either direction by updating bit checks.
2022-04-17 01:30:03 +01:00
Skyler Mansfield
16c13bc110 tusb_types:
Added descriptive strings for edpt_dir and edpt_type
2022-04-17 01:16:49 +01:00
Reinhard Panhuber
11f0ffd9a8 Generalize feedback value min and max 2022-04-16 14:47:42 +02:00
hathach
b5a9537eea
support pio dcd endpiont stall 2022-04-16 01:19:51 +07:00
hathach
05bfc1a9eb pio device works well 2022-04-15 01:04:12 +07:00
hathach
cc5a4720e5 catch up with pio lib 2022-04-14 22:00:47 +07:00
Reinhard Panhuber
7094ff7125 Introduce 3 fb calc options: NO_SOF_BY_USER, SOF_BY_AUDIO_D, SOF_BY_USER 2022-04-09 16:36:26 +02:00
hathach
d5d4909c20 proof of concpet that device pio-usb work with host pio-usb 2022-04-08 13:36:05 +07:00
hathach
d97c154695 add need_pre for pio usb, but not work out well 2022-04-05 00:04:47 +07:00
hathach
d7d7e61f34 correct pio usb speed, and close device 2022-04-03 22:48:08 +07:00
hathach
7ea75d3c09 use pio usb host init 2022-04-03 20:44:16 +07:00
hathach
f6851cf187 clean up hcd pio 2022-04-03 00:17:58 +07:00
hathach
f881e77e66 extracting hw root port 2022-04-02 19:19:00 +07:00
hathach
c25f835aea update to use pio hw endpoint 2022-04-01 23:31:43 +07:00
hathach
db6cba6a7b rename pio to pio_usb 2022-04-01 16:38:41 +07:00
hathach
e6e3dfedc8 hid example work well 2022-04-01 16:34:36 +07:00
hathach
75bca96bc6 pio usb control work well including stall response 2022-04-01 16:01:24 +07:00
hathach
e94d11a5b3 implement pio_usb_irq_handler 2022-03-31 12:56:53 +07:00
hathach
e2f0aef93b make use pio_usb_port_reset_start/end 2022-03-30 16:41:55 +07:00
hathach
65b6b79e99
clean up and comment out tud_sof_isr_set 2022-03-29 16:53:45 +07:00
Greg Davill
cdb8a1a2a1 Clean up driver 2022-03-23 00:00:06 +10:30
Greg Davill
325923b6c6 Update comments about endpoint buffer modes 2022-03-22 23:40:54 +10:30
Greg Davill
a09c1648f5 Fix typo 2022-03-22 23:31:20 +10:30
Greg Davill
fccbcfc889 Add WCH CH32V307 port
Add WCH mcu submodule
Add CH32V307V-R1-1v0 bsp
2022-03-22 00:30:46 +10:30
Reinhard Panhuber
5cd67baf15 Disable SOF ISR feedback calcuation by default s.t. examples still work 2022-03-20 12:57:53 +01:00
Reinhard Panhuber
8ffdbfebce Streamline call of tud_audio_set_itf_cb() within audiod_set_interface() 2022-03-20 12:08:27 +01:00
Reinhard Panhuber
5aba464270 Add magic checks 2022-03-20 12:04:10 +01:00
Reinhard Panhuber
ff2dc0a547 Streamline feedback calc, find fb interval from descriptors, inc. checks 2022-03-20 11:21:33 +01:00