Commit Graph

2627 Commits

Author SHA1 Message Date
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
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