Commit Graph

277 Commits

Author SHA1 Message Date
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
hathach 0de6a05d73 fix ohci hcd_init() signature change 2021-02-23 19:45:53 +07:00
hathach c5b8980398 separate hcd_init from ehci 2021-02-22 22:40:51 +07:00
hathach 1e07fc024c add rhport to hcd_init() 2021-02-22 22:32:56 +07:00
hathach 8a2e4c79fd make hcd tdi more generic 2021-02-22 18:02:52 +07:00
Jeremiah McCarthy 21f1cd4ec7 Implement requested PR changes
Removes CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, and makes the manual padding
behavior standard.  Replaced unused variable name with TU_RESERVED.
2021-02-18 13:26:03 -05:00
Jeremiah McCarthy f8fbc0930b Add alternate bitfield padding option
Adds configuration option CFG_TUSB_ALT_BIT_PACKING_ALIGNMENT, which
substitutes bitfield variable " : 0" padding syntax with an unused
variable of size equal to the remaining number of bits.

This change resolves aligned access issues for some platforms.

Default behavior is original if the option is not explicitly enabled.
2021-02-16 10:43:52 -05:00
hathach ec458292fe fix host build 2021-01-25 13:25:47 +07:00