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
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
hathach
45052c625e
Merge branch 'master' into pio-host
2022-03-20 00:51:00 +07:00
Reinhard Panhuber
fdfde8883f
Implement power of two, shift, and float calculation
2022-03-19 13:37:54 +01:00
hathach
821be65b03
rename usbh_edpt_open() to tuh_edpt_open()
2022-03-19 14:59:31 +07:00
hathach
4795cca04a
add parse config descriptor to example
...
move usbh_edpt_open() to public API, remove rhport from its signature
2022-03-19 00:43:31 +07:00
hathach
ba1185bf28
implement tuh_edpt_xfer() for non-control
2022-03-18 22:22:21 +07:00
hathach
9ae0304b1e
move code around
2022-03-18 18:04:25 +07:00
hathach
8750e3b577
move daddr into xfer struct
2022-03-18 16:39:35 +07:00
hathach
2ff8978dde
update sync API, move timeout into xfer struct
...
remove tuh_control_xfer_sync()
2022-03-18 13:38:30 +07:00
hathach
85c6d6d37d
minor update for control xfer
2022-03-18 12:51:12 +07:00
hathach
c063ab4944
try to fix ci
2022-03-18 00:56:51 +07:00
hathach
f89ff939d8
rename user_arg to user_data
2022-03-17 22:37:51 +07:00
hathach
9dd2f11f4a
add CFG_TUH_API_EDPT_XFER to enable generic edpt xfer
2022-03-17 21:20:20 +07:00
hathach
55428d7dd2
rename tuh_control_xfer_t to tuh_xfer_t
2022-03-17 20:52:16 +07:00
hathach
102b99a0e8
add actual_len supported
2022-03-17 20:48:32 +07:00
hathach
8aedb2ff37
slightly change the signature of tuh_control_xfer
2022-03-17 17:25:53 +07:00
hathach
66942b814b
change return type of callback to void
2022-03-17 16:55:29 +07:00
hathach
deab8c276a
remove const in xfer callback
2022-03-17 16:53:54 +07:00
hathach
6df420f7f3
move result into transfer struct
2022-03-17 16:24:43 +07:00
hathach
68bfd048a5
change tuh_control_xfer_t struct
2022-03-17 12:53:52 +07:00
hathach
98d4ed0584
update hid host to use new control xfer for set config
2022-03-16 18:44:41 +07:00
Reinhard Panhuber
ceac9d64c0
Disable CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR
...
By default disable
CFG_TUD_AUDIO_ENABLE_FEEDBACK_DETERMINATION_WITHIN_SOF_ISR such that
current examples still work.
2022-03-16 08:05:31 +01:00
Reinhard Panhuber
9fde8f2d9e
Fix DSTS_FNSOF in dwc2.c
2022-03-16 07:53:47 +01:00
Reinhard Panhuber
92ac041869
Add todos and comments
2022-03-16 07:13:38 +01:00
hathach
fd2ea2605e
fix -Wnull-dereference warnings
2022-03-16 10:55:18 +07:00
Reinhard Panhuber
90502739c3
Fix cycle count calculation
2022-03-15 20:45:06 +01:00
Reinhard Panhuber
c9b444e771
Implement 16.16 fixed point feedback value calculation
2022-03-15 20:30:31 +01:00
Reinhard Panhuber
26339e694f
Merge remote-tracking branch 'upstream/add-sof-isr' into add-sof-isr
2022-03-14 20:40:57 +01:00
Reinhard Panhuber
f212899b54
Add SOF callback function for feedback value determination in uac - wip!
2022-03-14 20:40:33 +01:00
Ha Thach
41ffd54fa0
Merge branch 'master' into add-sof-isr
2022-03-14 11:57:01 +07:00
hathach
2929afe2fa
add synchronous (blocking) support for usbh control transfer
...
- add synchronous version of all get descriptor API
- update bare example to use sync API for string descriptor
- change order of index, language_id in tuh_descriptor_get_string() to
match similar API of libusb
- add index to tuh_descriptor_get_hid_report()
2022-03-13 17:45:46 +07:00
hathach
56695569e7
minor changes
2022-03-12 14:28:24 +07:00
hathach
ac4483a7c5
misplace fallthrough
2022-03-12 14:26:48 +07:00
hathach
a5a565f7eb
rework usbh enumeration process using user arg from control transfer as state
2022-03-12 14:20:57 +07:00
hathach
ec28593ce5
update hid,msc to new usbh control API
2022-03-11 22:13:57 +07:00
hathach
bcdeb386cc
rework usbh control xfer
...
- change API of tuh_control_xfer and its callback
- rename tuh_control_complete_cb_t to tuh_control_xfer_cb_t
- add user argument to control callback
- migrate usbh and hub
2022-03-11 21:57:55 +07:00
hathach
6b5490ced6
merge device_info into bare_api example
2022-03-11 13:12:36 +07:00
hathach
a715077b10
remove usbh_control.c
2022-03-11 09:57:35 +07:00
hathach
951ece17e1
fix build warning
2022-03-10 23:20:12 +07:00
hathach
66c933fb61
fix enumeration issue when plugging hub with multiple devices attached
2022-03-10 23:16:59 +07:00
hathach
171d021ab5
refactor and integrate usbh control xfer back to usbh.c
...
fix enumeration with hub when reset port before set address
2022-03-10 22:22:05 +07:00
hathach
b9ca301527
remove obsolete device state
2022-03-10 13:19:15 +07:00
hathach
5e9f522b9a
refactor host control xfer
2022-03-10 12:56:15 +07:00
hathach
b05401a5ab
merge control stage host and device value
2022-03-10 11:59:51 +07:00
hathach
97636eff8e
more clean up
2022-03-10 00:36:49 +07:00
hathach
0e5e644d27
minor clean up
2022-03-09 17:51:35 +07:00
hathach
d56cde33ef
refactor usbd to also use common endpoint claim/release
2022-03-09 17:34:12 +07:00
hathach
110879074f
implement tu_edpt_release()
2022-03-09 17:26:55 +07:00
hathach
a5fb20533c
adding tusb_private.h to implement common edpt claim
2022-03-09 17:17:36 +07:00
hathach
708f05668d
add tusb_debug.h remove tusb_error.h
...
move debug utils to new header
2022-03-09 16:44:19 +07:00
hathach
2f593e767c
update use of mutex for host
2022-03-09 12:26:56 +07:00
hathach
f920e1c171
rename host descriptor function
2022-03-09 11:21:13 +07:00
hathach
db9d97c947
add tuh_descriptor_hid_report_get()
2022-03-09 11:03:29 +07:00
Ha Thach
8bf18430b8
Merge pull request #1389 from hathach/fix-1359
...
fix issue 1359
2022-03-08 14:24:22 +07:00
hathach
6b2ea2bd1d
fix issue 1359
2022-03-08 13:53:33 +07:00
hathach
606f932d92
added dcd_sof_enable() stubs for all other ports
2022-03-07 23:05:05 +07:00
hathach
85dbcf5473
implement dcd_sof_enable() for rp2040
2022-03-07 23:04:47 +07:00
hathach
707a633de3
added dcd_sof_enable(), tud_sof_isr_set()
...
make number of interface configurable (default to 8)
CFG_TUD_INTERFACE_MAX
2022-03-07 23:03:51 +07:00
hathach
ce60e98f6d
remove broadcom/synopssy (repalced by synopsys/dwc2)
2022-03-07 23:00:11 +07:00
Ha Thach
7180883fae
Merge pull request #1379 from Qianhao2579/master
...
Modify the wrong macro definition code
2022-03-07 16:09:16 +07:00
Ha Thach
1bd31c22e1
Merge pull request #1374 from kasjer/kasjer/stm32wb55
...
stm32wb55 support
2022-03-07 16:09:06 +07:00
Jerzy Kasenberg
a18ac84229
Add support for STM32WB mcu
2022-03-07 09:35:12 +01:00
QianHao
65bf5ddb1b
Modify the wrong macro definition code
2022-03-07 08:04:49 +00:00
Ha Thach
4c6bb161e2
Merge pull request #1289 from kasjer/kasjer/vendor-update
...
vendor: Write improvements
2022-03-06 11:16:35 +07:00
Scott Shawcroft
f291243121
Fix string descriptor fetch
2022-03-04 11:38:02 -08:00
Ha Thach
8e0b8c15ea
Merge pull request #1369 from tannewt/host_string_desc
...
Add host string descriptor functions
2022-03-04 22:59:16 +07:00
hathach
56c2d4b666
fix naming, and build
2022-03-04 22:31:48 +07:00
hathach
271f905521
add tuh_descriptor_string_manufacturer/produce/serial_get
2022-03-04 22:23:56 +07:00
hathach
15ced09bb2
add tuh_configuration_set()
2022-03-04 21:41:27 +07:00
hathach
2bdf4d811a
add tuh_descriptor_configuration_get()
2022-03-04 21:14:59 +07:00
hathach
7480c2e46b
correct qhd and qtd count for ehci/ohci
2022-03-04 21:04:52 +07:00
hathach
032e2c2929
add CFG_TUH_INTERFACE_MAX config
2022-03-04 19:28:53 +07:00
hathach
e08a875d52
add tuh_descriptor_get() and tuh_descriptor_device_get()
2022-03-04 19:26:54 +07:00
hathach
3a7d1cfead
minor cleanup
2022-03-04 17:26:21 +07:00
hathach
96165a1950
rename HCD_MAX_XFER to CFG_TUH_ENDPOINT_MAX
...
minor clean up
2022-03-04 17:07:04 +07:00
Ha Thach
5453c7e97f
Merge pull request #1370 from hathach/fix-esp-idf
...
fix build with esp32s2, also use dwc2 for esp example
2022-03-04 15:20:51 +07:00
hathach
f72da8ee7d
fix build with esp32s2, also use dwc2 for esp example
2022-03-04 14:45:26 +07:00
Scott Shawcroft
eb6b5d1219
Unused ok
2022-03-03 21:57:44 -08:00
Scott Shawcroft
2cd73ca602
Add host string descriptor functions
...
Plus typo fixes, GCC11 array bounds fix, snprintf for malloc-free
debug and pragmas for alignment checks.
2022-03-03 21:53:12 -08:00
hathach
fa62d5abc9
got interrupt endpoint working
2022-03-03 21:57:29 +07:00
hathach
635fb9dcdd
try to fix ci
2022-03-02 12:33:47 +07:00
hathach
918f3e9cae
minor rename
2022-03-02 12:22:20 +07:00
hathach
1d29817139
start to add pio usb (host) support
...
run as proof of concept
2022-03-01 23:55:53 +07:00
Ha Thach
7c627f58d7
Merge pull request #1343 from Daft-Freak/patch-1
...
Open OUT endpoint for HID host
2022-02-28 20:00:40 +07:00
Ha Thach
8e84529c8d
Merge pull request #1345 from alexandre-perrin/iar-cpp-verify-static
...
Fix CPP compilation with IAR
2022-02-28 17:02:33 +07:00
Ha Thach
c9b0fbc907
Merge pull request #1354 from hathach/mcu-specific
...
Mcu specific
2022-02-26 21:30:07 +07:00
Ha Thach
6dd4d50213
Merge pull request #1352 from ETCLabs/fix-ehci-isr-status-clear-error
...
Updated the clearing of the status register bits to use a straight '=…
2022-02-26 18:05:59 +07:00
Ha Thach
f392054e70
Merge pull request #1353 from ETCLabs/iar-compiler-error-on-src-host-usbh.c
...
The IAR compilier does not resolve references to fields in the anonym…
2022-02-26 18:05:35 +07:00
hathach
2fe3a925fb
add highspeed detect for f723/730/733
2022-02-26 17:34:29 +07:00
hathach
a4ba3f2891
add TUP_USBIP_DWC2
2022-02-26 17:13:06 +07:00
hathach
11c89d43ab
more internal rename
2022-02-26 17:06:50 +07:00
hathach
bc63f59af2
mcu specific rename
2022-02-26 15:23:29 +07:00
Ha Thach
244154e087
Merge pull request #1311 from Wini-Buh/CCRX_Ext
...
Solve problems with CCRX toolchain
2022-02-26 14:34:18 +07:00
Tom Peterson
c06ecbef0c
The IAR compilier does not resolve references to fields in the anonymous structs defined within the usbh_dev0_t and usbh_device_t structs as they are defined. The problem seems to relate to the placement of the 'volatile' keyword at the struct level. I fixed the problem by removing the 'volatile' from the struct level, and instead placing it on each of the field declarations within the structs.
2022-02-25 16:49:55 -06:00
Tom Peterson
39fdbc8ffc
Updated the clearing of the status register bits to use a straight '=', rather than an '|='. Use of the latter caused an extra, unwanted read of the status register before the write-to-clear operation, which, in some cases, allowed new status bits to assert (relative to the initial read of the status register two statements earlier), and then be cleared blindly and unconditionally during the write-back. This had the potential (and, in my case, observed) effect of dropping the handling of an enabled interrupt. Ultimately, the system would lock up in a busy state, with no hope of clearing the condition. See Issue #1339 for more information.
2022-02-25 12:39:09 -06:00
Ha Thach
5b7a01ba79
Merge pull request #1350 from hathach/enhance-multipl-ports
...
Enhance rhports management
2022-02-26 01:00:07 +07:00
Ha Thach
13a4582ce2
Merge pull request #1349 from iabdalkader/fix_inquiry_data
...
Set the standard inquiry response additional length field.
2022-02-26 00:22:55 +07:00
iabdalkader
8eeda60bd0
Set the standard inquiry response additional length field.
...
* The standard inquiry response additional length field needs to be set to
the length in bytes of the remaining standard inquiry data (i.e. N - 5),
otherwise the kernel driver issues a warning about short inquiry response..
2022-02-25 18:42:23 +02:00
hathach
0997589c45
more symbol rename
2022-02-25 23:05:15 +07:00
hathach
89115253da
internal symbol rename
2022-02-25 22:45:05 +07:00
hathach
309540473b
minor house keeping
2022-02-25 22:26:35 +07:00
hathach
99ad3ae2ca
rename and move dcd_attr.h to tusb_mcu_attr.h
2022-02-25 18:35:21 +07:00
hathach
a8af609dfe
auto detect max rhport speed based on mcu
2022-02-25 18:35:21 +07:00
hathach
31aa077cb0
rename TUSB_OPT_HOST_ENABLED to CFG_TUH_ENABLED
2022-02-25 18:35:21 +07:00
hathach
d10326cb4e
rename TUSB_OPT_DEVICE_ENABLED to CFG_TUD_ENABLED
...
TUSB_OPT_DEVICE_ENABLED still usable for backward compatible
2022-02-25 18:35:21 +07:00
hathach
4a5a53b3b8
improve rphort management for usbd
2022-02-25 18:35:21 +07:00
Ha Thach
b797d1aa50
Merge pull request #1340 from tannewt/hid_to_cdc
...
Add concurrent host and device example
2022-02-25 18:21:37 +07:00
hathach
a8d6e82395
enhance dual role examples
2022-02-25 17:36:05 +07:00
Alexandre Perrin
81e33477ea
Fix CPP compilation with IAR
...
IAR defines __STDC_VERSION__ in cpp as well.
Which causes TU_VERIFY_STATIC to be defined as _Static_assert
instead of cpp's static_assert.
This reorders __cplusplus__ to be first, then to fallback to
__STDC_VERSION__ if not CPP.
2022-02-23 18:27:52 +01:00
Charlie Birks
83b638f230
Open OUT endpoint for HID host
2022-02-23 13:03:20 +00:00
Charlie Birks
c0a65ba0f6
Support interrupt OUT in RP2040 HCD
2022-02-23 12:25:01 +00:00
hathach
566e3abcea
increase version, update doc for release
2022-02-23 11:55:57 +07:00
Ha Thach
e04f15ff3d
Merge pull request #1280 from kasjer/kasjer/nrf5x-dma-race
...
nrf5x: Fix DMA access race condition
2022-02-22 21:00:51 +07:00
Ha Thach
4612332af7
Merge pull request #1331 from hathach/fix-esp-build
...
fix build with latest esp idf
2022-02-18 16:22:50 +07:00
hathach
52645fcc1b
fix build with latest esp idf
2022-02-18 13:07:21 +07:00
hathach
a53e83665e
fix HID_REPORT_ID_N()
2022-02-17 12:12:42 +07:00
Ha Thach
fcca8bb4ca
Merge pull request #1327 from hathach/msc-request-sense
...
Add msc request sense callback
2022-02-15 23:17:58 +07:00
hathach
46f4f7ff49
minor rename set sense function
2022-02-15 22:53:23 +07:00
hathach
391edc7afb
msc example response PREVENT_ALLOW_MEDIUM_REMOVAL command as unsupported command
...
LUN1 of msc_disk_dual will be set to not ready to simulate medium not
present (e.g SD card removed)
2022-02-15 22:40:08 +07:00
hathach
456c06aa5e
add tud_msc_request_sense_cb() as weak callback
...
set default error sense to NOT READY, Medium not present
2022-02-14 18:17:49 +07:00
Ha Thach
63cb3cdc74
Merge pull request #1304 from kkitayam/add_hcd_for_frdm_kl25z
...
Add hcd driver for frdm kl25z
2022-02-09 16:14:50 +07:00
Wini-Buh
5414cf275b
Merge branch 'hathach:master' into CCRX_Ext
2022-02-02 21:06:37 +01:00
Ha Thach
d6fb1859a4
Merge pull request #1291 from kasjer/kasjer/da1469x-fix-resume
...
da1469x: fix resume
2022-02-02 20:20:39 +07:00
Roland
7beb92864e
Merge branch 'CCRX_Ext' of https://github.com/Wini-Buh/tinyusb into CCRX_Ext
2022-02-01 23:49:20 +01:00
Roland
e1f0c484c6
Modifications for CCRX toolchain
2022-02-01 23:45:52 +01:00
Ryzee119
453ba529a6
OHCI: Fix array out of bounds issue
...
If using a USB hub, a request outside the array size can occur
Original line:
ffb257ac17/src/portable/ohci/ohci.h (L162)
It can happen in a few places but one such example is here:
ffb257ac17/src/portable/ohci/ohci.c (L460)
ie. if HUB address is 5, this would be an array index out of bounds on control endpoints as `CFG_TUH_DEVICE_MAX+1` is only 5.
This fix just includes num of hubs in the reserve array size.
Fixing locally fixed this issue.
2022-01-28 14:02:34 +10:30
kkitayam
03d2e32dc1
Fix handling for pending transfers
2022-01-27 23:38:19 +09:00
kkitayam
60a0be82da
Change hcd_edpt_xfer to send at the next SOF
2022-01-27 22:25:36 +09:00
kkitayam
cc06a3585e
Add handling for NAK response
2022-01-27 20:57:41 +09:00
kkitayam
cdab869472
Fix handling control transfer
2022-01-27 20:57:41 +09:00
kkitayam
a4bc6075ce
Add HCD functions for KL25Z
2022-01-27 20:57:40 +09:00
hathach
578a123282
fix mynewt build sunxi
2022-01-26 12:59:53 +07:00
Ha Thach
7de166390e
Merge branch 'master' into master
2022-01-25 22:29:05 +07:00
Jerzy Kasenberg
7b078367e8
dcd_da1469x: Re-enable RX after resume
...
Going to suspend states disable reception on non-0 RX endpoints.
Now when USB resume condition is detected, all RX endpoints
with pending transfers are resumed.
2022-01-20 16:28:09 +01:00
Jerzy Kasenberg
ae4d901d83
dcd_da1469x: Fix over-run/under-run mask
...
Bit mask enabling/disabling over-run/unde-run was shifted
by one nibble, so interrupt was never enabled.
It did not force any issue as this situation could only
happen on ISO endpoints without DMA.
2022-01-20 10:01:18 +01:00
Jerzy Kasenberg
4ca2215684
vendor: Add tx flush functionality
...
So far tud_vendor_n_write() always flushed data.
It requires to have whole vendor packed constructed
before in one buffer.
With this change data do get flushed when endpoint size
is filled on write, when there is no enough data to
fill endpoint data is not sent and subsequent calls to
write functions can add more bytes.
Vendor code needs to call tud_vendor_n_flush() when packet is
ready to be sent.
2022-01-19 15:08:12 +01:00
Jerzy Kasenberg
d069ea1421
vendor: Add tx callback
...
Other drivers already have notification about data sent.
It allows batter control in application on vendor
protocol level.
2022-01-19 14:06:00 +01:00
Ha Thach
e40547ada1
Merge pull request #1265 from kkitayam/add_hcd_for_renesas_rx
...
Add HCD driver for Renesas RX
2022-01-19 19:07:21 +07:00
Jerzy Kasenberg
36b6ed8ff9
nrf5x: Fix EP OUT race conditions in OS build
...
When two tasks entered dcd_edpt_xfer() it was possible that
first disabled interrupt to setup total_len and actual_len
but second task for another endpoint enabled interrupt
between total_len and actual_len resulting in race
condition with interrupt, hence mutex is added on top of interrupt being blocked.
2022-01-19 09:48:04 +01:00
Jerzy Kasenberg
980ffe3b4e
nrf5x: Fix DMA access race condition
...
In multi-thread mode starting DMA in thread mode was
prone to race condition resulting in infinite loop.
It may happen on single core CPU with strict priority based
tasks scheduler where ready high prio task never yields to
ready low prio task (Mynewt).
Sequence that failed (T1 - low priority task, T2 - high priority task)
- T1 called start_dma()
- T1 set _dcd.dma_running (DMA not started yet, context switch happens)
- T2 took CPU and saw that _dcd.dma_running is set, so waits for _dcd.dma_running to be 0
- T1 never gets CPU again, DMA is not started T2 waits forever
OSAL mutex resolves problem of DMA starting from thread-context.
2022-01-19 09:06:43 +01:00
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