Commit Graph

191 Commits

Author SHA1 Message Date
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 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 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 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 c7f51cde40 implement usbh_edpt_busy (WIP), remove hcd_edpt_busy 2021-06-10 17:19:21 +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 4b2f32b778
update hub 2021-05-31 15:47:37 +07:00
hathach db8ea7ea1c clean up 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 1e07fc024c add rhport to hcd_init() 2021-02-22 22:32:56 +07:00
hathach ec458292fe fix host build 2021-01-25 13:25:47 +07:00
hathach 67a9cdc35b fix compiler warning 2021-01-22 11:33:25 +07:00
graham sanderson e0aa405d19 RP2040 support 2021-01-19 19:52:07 -06:00
hathach 14461beffa remove legacy blocking usbh_control_xfer()
reworking cdc host driver
2020-11-02 09:19:34 +07:00
hathach 2efdc2fb64 get hub work more reliably 2020-11-02 08:46:24 +07:00
hathach 6eafdfab93 update usbh with hub to use async control transfer
work ok with msc + hub, but definitely need more testing.
2020-11-02 00:54:04 +07:00
hathach e029d6d726 added host set_config driver
to resolve control conflict with SET_CONFIGURE for class driver
- open will be called to open endpoint only
- set_config called later to initialized class driver
2020-11-01 17:46:46 +07:00
hathach 3623f578a4 more clean up 2020-10-13 14:11:17 +07:00
hathach 87b989e8b4 add usbh_edpt_claim/release
implement USBH_EVENT_FUNC_CALL
2020-10-12 00:35:45 +07:00
hathach 2b54dcb9f6 move functions around 2020-09-07 15:39:46 +07:00
hathach 7a3b24827e clean up 2020-09-07 15:25:03 +07:00
hathach 66a10ec9c8 rework usbh control transfer
use series of complete callback instead of blocking semaphore, which is
more noOS friendly. still working with hid host
2020-09-07 15:19:20 +07:00
hathach b3e81673c0 change xfer_cb return type from void to bool 2020-09-06 12:11:07 +07:00
hathach 15ad585e67 replacing hcd_pipe_xfer by usbh_edpt_xfer 2020-09-06 11:49:00 +07:00
hathach 9a6d7c648e clean up enum task 2020-09-05 21:12:43 +07:00
hathach 828f720207 refactor hub class
- separate connect/disconnect handling
- hub work with full speed, but doesn't seem to work with Low speed
device (with mcb1800)
- need to update msc host after migrating from isr to xfer_cb (blocked
at inquiry)
2020-09-05 20:20:45 +07:00
hathach 7ffb6acc16 more clean up 2020-09-05 17:16:46 +07:00
hathach b8b95e8494 add in_isr to all hcd event functions 2020-09-05 15:46:50 +07:00
hathach 90c8c14652 clean up 2020-09-05 15:19:01 +07:00
hathach bc09b6065f refactor extract parse_configuration_descriptor() 2020-09-05 15:16:45 +07:00
hathach d87f2a9691 remove usbh control mutex 2020-09-05 15:05:25 +07:00
hathach f7cf8cdf27 defer xfer_isr to xfer_cb 2020-09-05 14:41:31 +07:00
hathach 4d57b4ea33 clean up 2020-09-05 13:57:07 +07:00
hathach 35aee4a6af more hid host work 2020-09-03 23:57:51 +07:00
hathach c492aef4c7 revert to use float-abi
define __USE_CMSIS instead of __USE_LPCOPEN will have startup enable FPU
on startup properly. Although it is only relevant to lpx43/40 series,
change all to __USE_CMSIS for consistency
2020-09-02 00:46:08 +07:00
hathach 84425c50b3 add more logging to host stack
tested host with lpc4357, don't use fpu with lpc m4 since it seems to
cause hardfault (stack does not make use of fpu anyway).
2020-09-01 19:16:50 +07:00
hathach 58cedf4c06 usb0 host on mcb1800 work with fullspeed mode.
use usbh_edpt_open() to correctly map ep2drv[]
2020-05-19 00:55:43 +07:00
hathach 905a80d1b2 temporarily remove osal_task_delay() from osal
- add hcd_uframe_number() API, update EHCI to return uframe number
- get host running on ea4357
2020-05-04 14:11:58 +07:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
hathach 03deeea465 fix segger host example 2019-11-22 00:33:10 +07:00
hathach 6a076d8aae rename CFG_TUSB_HOST_CUSTOM_CLASS to CFG_TUH_VENDOR 2019-07-19 16:31:51 +07:00
hathach 13e01c7dca
add TU_ prefix to compiler ATTR to prevent name conflict with application 2019-06-06 10:39:37 +07:00
hathach f4762ff012 host fix address alloc when it reach max devices 2019-05-23 10:59:43 +07:00
hathach 61ec407752
update license year to 2019 2019-05-14 11:48:05 +07:00
hathach da452d4ba6
cleanup, remove the use of _TINY_USB_SOURCE_FILE_ 2019-03-27 17:48:42 +07:00
hathach c211ee19dd migrate license from BSD 3 clause to MIT 2019-03-20 16:11:42 +07:00
hathach e4e8413acc
add tusb_inited() API, check for inited() before running device/host task 2019-01-29 19:05:07 +07:00
hathach a3713f801d clean up compiler attribute 2018-12-14 13:08:21 +07:00
hathach 1c49c479ca seperate tusb_task() to tud_task() and tuh_task()
tusb_task() still exists for backward compatible
2018-12-13 14:51:37 +07:00
hathach af1ffe4675 remove task void* param 2018-12-13 13:53:43 +07:00
hathach bc46dc6edf osal clean up
remove OSAL_TASK_DEF, osal_task_create. Applicaton should create a task
and call tinyusb_task(). This make API consistent with NO OS.
2018-12-13 13:49:09 +07:00
hathach 5fd60e5761
clean up 2018-12-12 12:36:40 +07:00
hathach 6c0b0917e1
rename descriptor_* helper to tu_desc_* 2018-12-12 12:01:15 +07:00
hathach 6d86db3977
rename edpt_dir/number/addr to tu_edpt_* 2018-12-12 11:51:31 +07:00
hathach e3514b8054
rename hcd_device_remove to hcd_device_close 2018-12-12 11:34:09 +07:00
hathach 67d6d753d6
replace all hcd pipe close by hcd_device_remove 2018-12-12 00:00:33 +07:00
hathach 600fac1845
fix build error with ohci 2018-12-11 16:18:56 +07:00
hathach 0d04e6eb96
rename to hcd_edpt_open() 2018-12-11 13:12:21 +07:00
hathach b0717275c8
ehci periodic 2018-12-11 10:50:05 +07:00
hathach 7a626dbc8b
completely remove pipe handle for cdc/hub/ehci 2018-12-11 00:56:21 +07:00