hathach
460bef9dbb
host msc example work well with rp2040 pio-usb
2022-11-21 15:49:38 +07:00
Ben Avison
01edbb8af6
IAR doesn't support __attribute__((fallthrough))
...
IAR generates warning Pa167 'the "fallthrough" attribute is not supported'.
It doesn't generate warnings when one switch case falls through to another,
so simply make TU_ATTR_FALLTHROUGH expand to an empty string.
Also replace one instance of __attribute__ with the macro.
2022-09-13 18:00:51 +01:00
Ben Avison
53f0d5538b
Don't assume ints automatically convert to enums
...
IAR generates warning Pe188 'enumerated type mixed with another type'.
2022-09-13 18:00:50 +01:00
Ryzee119
2b2354d302
Hub: Clear other port feature changes
2022-08-16 18:25:46 +09:30
Ryzee119
3c7b5dcaff
Hub: Handle hub device status change interrupt
2022-08-16 18:25:43 +09:30
Ryzee119
aafea8ef5d
Hub: Rename port status callback to be more generic
2022-08-15 17:43:04 +09:30
Ryzee119
5efef4393c
Hub: Expand hub helpers to handle device events
2022-08-15 17:42:56 +09:30
hathach
7e4c0f64cd
abtract attribute fallthrough
2022-07-14 18:39:47 +07:00
graham sanderson
4bd47bcb99
disable bad gcc 6 warning
2022-07-12 13:29:47 -05:00
hathach
345558307d
fix incorrect null-dereference warnings when compiling with gcc7
2022-07-12 00:50:52 +07:00
hathach
a0ef489890
fix all warnings with host rp2040
2022-06-27 17:11:24 +07:00
hathach
0042eccb3b
fix redundant-decls warnings by usbd/usbh
2022-06-24 22:52:11 +07:00
Ha Thach
d7b579a978
Merge pull request #1480 from Ryzee119/multihub_rebase
...
Host: Add support for multi-level usb hubs
2022-06-16 16:33:48 +07:00
hathach
f4a7b5b80c
add note for recursive calls of process_device_unplugged() in case of hub
2022-06-16 14:37:57 +07:00
hathach
040ef0640d
more dynamic controller for host
2022-06-10 14:53:03 +07:00
hathach
8cbc34de11
add tuh_configure() for port/dynamic host behavior config
2022-06-08 01:17:01 +07:00
Ryzee119
7df7590f7f
Hub: Remove multi-level hub bypass
2022-06-04 18:58:20 +09:30
Ryzee119
b7c8cb3c41
Hub: Unplug downstream devices on non-root hub disconnect
2022-05-29 14:15:57 +09:30
Ryzee119
9e30ec4f16
Hub: Retry port status transfer if failed
2022-05-29 14:15:23 +09:30
Ryzee119
688a3a0cc2
Fix non-trivial designated initializers compile error
2022-05-29 14:15:18 +09:30
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
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
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
hathach
d97c154695
add need_pre for pio usb, but not work out well
2022-04-05 00:04:47 +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
45052c625e
Merge branch 'master' into pio-host
2022-03-20 00:51:00 +07: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
hathach
fd2ea2605e
fix -Wnull-dereference warnings
2022-03-16 10:55:18 +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
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
Scott Shawcroft
f291243121
Fix string descriptor fetch
2022-03-04 11:38:02 -08: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
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
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
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
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
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
31aa077cb0
rename TUSB_OPT_HOST_ENABLED to CFG_TUH_ENABLED
2022-02-25 18:35:21 +07:00
hathach
4a5a53b3b8
improve rphort management for usbd
2022-02-25 18:35:21 +07:00
hathach
3e3fe1e429
improve hcd_device_close() for rp2040
2021-11-30 17:36:52 +07:00
rppicomidi
006522e437
on unplug release device endpoints
2021-11-30 17:17:06 +07:00
hathach
9cd5a87c64
add support for EFM32GG
...
merge GG12 GG12 to simply OPT_MCU_EFM32GG
2021-10-30 20:42:55 +07:00
hathach
dbd31895bc
change usage of TU_CHECK_MCU() to prevent macro conflict
2021-10-25 17:04:03 +07:00
hathach
5af989384b
remove ep descriptor wMaxPacketSize bitfield due to endian issue
2021-10-24 13:11:21 +07:00
hathach
6fcf4bee8c
suppress null-dereference by usbh and lwip
2021-10-18 11:42:00 +07:00
hathach
a5f516893b
more with -Wcast-qual
2021-10-17 16:36:53 +07:00
hathach
75ad0c7d31
clean up
2021-10-01 22:53:14 +07:00
hathach
b474522245
make vendor driver more flexible
...
- skip additional custom descriptor between interface and endpoints
- can have up to 2 bulk endpoint ( 1 in & 1 out)
2021-09-14 21:30:38 +07:00
hathach
25ea8f9c9e
update configuration parser
2021-09-14 21:02:38 +07:00
hathach
5404d6d8ae
usbd pre-compute total interface length without replying on driver open
2021-09-14 12:47:20 +07:00
hathach
3debeb637a
test hid controller with rp2040
2021-08-24 21:34:51 +07:00
hathach
3c0c051df1
add tuh_vid_pid_get()
...
complete Sony PS4 dualshock controller example
2021-08-24 19:10:23 +07:00
hathach
88bb8fac3d
rename host API to be consistent with naming on device stack
...
- tuh_device_get_speed() to tuh_speed_get()
- tuh_device_configured() to tuh_mounted()
- tuh_device_ready() to tuh_ready()
2021-08-24 12:37:04 +07:00
hathach
5d152503ee
fix dev0 out of bound array due to leftover
2021-08-24 12:16:23 +07:00
hathach
353c070d00
exclude dev0 from usbh devices pool
2021-08-24 01:06:05 +07:00
hathach
3309425211
sepearate CFG_TUH_DEVICE_MAX and CFG_TUH_HUB
...
separate dev0 from _usbh_devices pool to save sram
2021-08-23 19:56:53 +07:00
hathach
75cd593b60
add hcd_devtree_get_info()
...
remove usbh_hcd.h
2021-08-23 17:00:41 +07:00
hathach
a490a3fe61
add hcd attr, add note for ehci framelist on NXP derivative
2021-08-23 15:40:57 +07:00
hathach
6a16f6ccdd
rename CFG_TUSB_HOST_DEVICE_MAX to CFG_TUH_DEVICE_MAX
2021-08-23 11:01:40 +07:00
hathach
800f85329e
add tuh_hid_receive_report() for applicaiton to explicitly request report
2021-08-23 11:00:21 +07:00
hathach
22a5b1608c
change host driver open return type to bool
...
the descriptor len used by driver will be calculated by usbh
2021-08-20 19:31:38 +07:00
hathach
97703587d9
improve host configuration parsing
...
- remove driver class code binding
- fully support IAD
- auto calculate total length for interface descriptor for driver
2021-08-20 19:08:38 +07:00
hathach
62f2efbe8c
hid host skip get report descriptor if too large instead of assert
2021-08-20 18:26:56 +07:00
hathach
1cef2b6a42
extra common edpt helper for device and host stack
...
tu_edpt_validate() and tu_edpt_bind_driver()
2021-08-20 18:01:10 +07:00
hathach
5811122cfd
change usbh open driver to have max_len and return driver len
2021-06-28 17:39:57 +07:00
Ha Thach
6e939de9d6
Merge pull request #891 from hathach/host-rp2040-double-buffer
...
RP2040 double buffer
2021-06-28 17:39:09 +07:00
Niklas Hauser
264dc35b95
Fix typo in TUH configuration define
2021-06-21 05:32:43 +02:00
hathach
910e11a8ab
fix ci build
2021-06-11 19:04:16 +07:00
hathach
572d986a02
improve usbh
2021-06-11 17:14:22 +07:00
hathach
43656dc0a7
more clean up
2021-06-10 23:29:02 +07:00
hathach
c7f51cde40
implement usbh_edpt_busy (WIP), remove hcd_edpt_busy
2021-06-10 17:19:21 +07:00
hathach
7e6cba7359
remove hcd_edpt_stalled()
2021-06-10 16:55:12 +07:00
hathach
13cb016042
add usbh_classdriver.h
2021-06-10 16:48:20 +07:00
hathach
4e98ce9147
use hcd_frame_number() instead of uframe
2021-05-31 18:15:47 +07:00
hathach
04797bc5a5
clean up
2021-05-31 16:05:55 +07:00
hathach
4b2f32b778
update hub
2021-05-31 15:47:37 +07:00
hathach
65e5872d81
add hub_port_set_feature()
2021-05-31 15:19:07 +07:00
hathach
3fb80e76ce
remove obsolete hcd_pipe_queue_xfer()/hcd_pipe_xfer()
2021-05-31 12:08:37 +07:00
hathach
5cf930d78a
fix cast-align warning in msc host
2021-05-31 11:11:00 +07:00
hathach
9ad6fadf6a
more include clean up
2021-05-27 18:34:07 +07:00
hathach
4f03332118
clean up
2021-05-23 20:14:01 +07:00
hathach
641f55f1f1
remove CFG_TUH_HID_KEYBOARD and CFG_TUH_HID_MOUSE
2021-05-18 12:58:24 +07:00
hathach
db8ea7ea1c
clean up
2021-05-18 12:58:24 +07:00
hathach
791efecfdf
add tuh_device_ready()
2021-05-18 12:58:24 +07:00
hathach
b7a8b278c8
rename tuh_device_is_configured() to tuh_device_configured()
...
- remove tuh_device_get_state()
- more hid mouse clean up
2021-05-18 12:58:24 +07:00
hathach
69defb5edc
rename and moving
2021-05-18 12:58:24 +07:00
hathach
a5cd81a226
correct hid host mount/unmount callback
...
rename HOST_CLASS_HID to CFG_TUH_HID
2021-05-18 12:58:24 +07:00
hathach
e0dbb489ae
rename CFG_TUSB_HOST_ENUM_BUFFER_SIZE to CFG_TUH_ENUMERATION_BUFSZIE
...
add usbh_get_enum_buf
2021-05-18 12:58:24 +07:00
hathach
e83bdcdfdc
reworking hid host
2021-05-18 12:58:24 +07:00
hathach
13613eafb7
correct ehci control endpoint address report on xfer complete
...
improve host log
2021-05-18 12:58:24 +07:00
hathach
3a7f8b3ac3
separte tusb_init/inited() to tud/tuh init/inited
...
add rhport to tud_init()
2021-05-18 12:58:24 +07:00
hathach
2666e1efec
add tuh_inited() and tud_inited()
2021-05-18 12:58:24 +07:00
hathach
98f5082191
rename var to be consistent
2021-05-18 12:58:24 +07:00
hathach
1dd2cd43dd
add hcd_ehci.h as interface for ehci port
2021-05-18 12:58:24 +07:00
hathach
f6b48c07fc
add rp2040 to host example build
2021-02-26 14:05:08 +07:00
hathach
451650fa32
move ehci and ohci to portable folder
2021-02-23 23:09:48 +07:00