Commit Graph

281 Commits

Author SHA1 Message Date
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
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 2907b1e438 clean up 2020-11-07 10:37:33 +07: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 9c07a2a4e2 rework msc host
- msc host enum is now async
- implement async tuh_msc_scsi_command() / tuh_msc_request_sense() /
tuh_msc_test_unit_ready()
2020-10-13 00:07:51 +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 1d83ad0ebb rename tuh_isr/hcd_isr to tuh_int_handler/hcd_int_handler 2020-09-03 13:12:25 +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 be708bb8a4 Merge branch 'master' into update-host 2020-09-01 12:02:25 +07:00
hathach 503c15217e
example to call tud_init() after freeRTOS kernel is started
add note for usb init when using with RTOS
2020-07-23 09:20:45 +07:00
hathach d108ea4326 implement hcd_uframe_number for ohci
able to get 8 byte descriptors using LPC1769 + base, but failed to reset
and set address.
2020-05-22 21:45:34 +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
hathach 4a3a448340 clean up things, add makefile for host example 2020-05-04 00:29:52 +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 bbec47b647 adding tud_isr/tuh_isr with lpc18/43 2019-11-21 22:20:30 +07:00
hathach 043697ab95 rename lpc 17/18 irq to dcd_isr/hcd_isr 2019-11-21 16:08:08 +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 3e6d911ce9
more clean up use inline bit funciton instead of macros 2019-05-14 12:54:29 +07:00
hathach 61ec407752
update license year to 2019 2019-05-14 11:48:05 +07:00
hathach 6135019230
clean up 2019-05-14 11:46:22 +07:00
hathach 801f3c9d8d
more clean up 2019-03-27 21:00:15 +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 2a60427bdc rename bit_* helper to tu_bit_*, BIT_* to TU_BIT_* for consistency 2018-12-14 15:30:54 +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 a76d3a8726
clean up 2018-12-12 14:53:11 +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 c88e16bd11
clean up 2018-12-12 00:48:53 +07:00
hathach aaf65831d8
update ohci for hcd_device_remove 2018-12-12 00:48:41 +07:00
hathach def20ce35b
clean up ehci warnings 2018-12-12 00:13:48 +07:00
hathach 67d6d753d6
replace all hcd pipe close by hcd_device_remove 2018-12-12 00:00:33 +07:00
hathach c94df51503
more clean up 2018-12-11 19:35:08 +07:00
hathach 364666c206
ehci clean up 2018-12-11 17:05:56 +07:00
hathach d05021009b
more ohci clean up 2018-12-11 16:29:43 +07:00
hathach 600fac1845
fix build error with ohci 2018-12-11 16:18:56 +07:00
hathach dbc560658a
more hcd_pipe to hcd_edpt rename 2018-12-11 13:15:05 +07:00
hathach 0d04e6eb96
rename to hcd_edpt_open() 2018-12-11 13:12:21 +07:00
hathach 7deac61d5f
clean up 2018-12-11 13:09:40 +07:00
hathach b8c63ff624
ehci struct rename 2018-12-11 13:01:07 +07:00
hathach b0717275c8
ehci periodic 2018-12-11 10:50:05 +07:00
hathach 73e6bb6f5d
clean up 2018-12-11 01:06:10 +07:00
hathach 7c2056defb
remove pipe handle in host msc 2018-12-11 01:03:15 +07:00
hathach 7a626dbc8b
completely remove pipe handle for cdc/hub/ehci 2018-12-11 00:56:21 +07:00
hathach e863c99a6f
fix msc host 2018-12-10 23:15:53 +07:00
hathach 212deaf2f8
usbh name change 2018-12-10 22:19:01 +07:00
hathach 9c3c782b64
host msc built but got hardfault with inquiry command 2018-12-10 22:11:02 +07:00
hathach dffe9b335e
clean up host pipe api 2018-12-10 20:26:47 +07:00
hathach 5886ccdb03
ehci clean up 2018-12-10 20:16:26 +07:00
hathach 4e7596ca9c
add tuh_mount_cb/tuh_umount_cb 2018-12-10 19:25:57 +07:00
hathach 9c4c797502
add ep addr to host cdc 2018-12-10 19:01:28 +07:00
hathach 0ae8a1aa89
remove pipe handle.dev_addr 2018-12-10 16:58:17 +07:00
hathach a486da33ee
usbh clean up 2018-12-10 05:55:02 +07:00
hathach 57233cead7
rename usbh_xfer_isr to hcd_event_xfer_complete 2018-12-10 05:47:33 +07:00
hathach a31f83dbb0
removing pipe handle 2018-12-10 05:44:08 +07:00
hathach 75baedf27d
removing pipe handle, remove xfer type 2018-12-10 05:33:25 +07:00
hathach 8ef93ef85d
usbh remove class code in xfer isr callback 2018-12-10 05:19:08 +07:00
hathach ac67e0ea3f
clean up 2018-12-10 05:15:49 +07:00
hathach 6a6e7d0ecb
refactor usbh class driver 2018-12-10 05:07:22 +07:00
hathach 05913a7350
change usbh class driver open signature 2018-12-09 12:34:05 +07:00
hathach 637285e9ae
clean up ehci 2018-12-09 00:10:49 +07:00
hathach f6f0910778
hub clean up 2018-12-08 20:56:56 +07:00
hathach d3ac4c14a3
refactor hcd api 2018-12-08 20:51:48 +07:00
hathach 607658d047
rename MODE_HOST_SUPPORTED to TUSB_OPT_HOST_ENABLED 2018-12-07 23:38:52 +07:00
hathach e019916263
clean up ehci, support only 1 controller 2018-12-07 23:35:42 +07:00
hathach 98dd0c4d4d
clean up 2018-12-07 23:28:51 +07:00