Commit Graph

50 Commits

Author SHA1 Message Date
hathach
172c9f70c7 clean up 2024-04-02 16:55:49 +07:00
hathach
7d3d60f96d add hcd_configure() to change max NAK dynamically 2024-04-02 16:38:40 +07:00
hathach
e802fe0677 refactor: add hxfr per endpoint 2024-04-02 16:04:03 +07:00
hathach
bd2210b812 always limit number of NAK per endpoint per usb frame to save cpu usage. Default to 1 NAK per endpoint 2024-04-02 12:36:00 +07:00
IngHK
b644e4d955 fixed spelling 2024-03-31 10:27:54 +02:00
IngHK
fe304576d0 reactivated TU_ASSERT(_hcd_data.hirq & HIRQ_SNDBAV_IRQ,); 2024-03-31 10:27:15 +02:00
IngHK
c1a17a7369 removed debug code 2024-03-31 10:27:15 +02:00
IngHK
fbb2818864 added multiple attemp counting per frame 2024-03-31 10:27:14 +02:00
IngHK
79bc09a68c improved code readability 2024-03-31 10:27:00 +02:00
IngHK
f3fccaad26 improved/fixed trigger 1st retryable EP 2024-03-31 10:27:00 +02:00
IngHK
0bb26c97c3 removed redundant return true; 2024-03-31 10:27:00 +02:00
IngHK
009d85722b replaced bits xfer_pending, xfer_complete and retry_pending by common 4 bits state 2024-03-31 10:26:59 +02:00
IngHK
11a54bc8e1 renamed define NAK_RETRY_HANDLING to CFG_TUH_MAX3421_MAX_ATTEMPS_PER_FRAME as official option 2024-03-31 10:26:39 +02:00
IngHK
818c64efec fixed EP0 control handling 2024-03-31 10:26:39 +02:00
IngHK
998090d1a7 added further debug log outputs 2024-03-31 10:26:12 +02:00
IngHK
9fdb1c1684 draft MAX3421E NAK retry handling next frame 2024-03-26 08:12:24 +01:00
hathach
fbb20373c1 implement hcd_deinit() for max3421 2024-03-26 10:26:42 +07:00
hathach
551e47a464 allow rp2040 to use max3421e as host controller
- fix warnings build hcd max3421 with rp2040
- add tinyusb_host_max3421 target for rp2040 cmake, -DMAX3421_HOST=1
will enable this
- add max3421 driver implementation for rp2040 family
- update tusb_config for host to allow easy enable host selection for
rp2040 (default/pio-usb/max3421)
2023-12-26 22:50:01 +07:00
Ha Thach
be4d65221b Merge pull request #2346 from IngHK/LogLineEnds
made log line end consistent \r\n
2023-11-29 17:12:08 +07:00
IngHK
7e1fe2ff83 made log line end consistent \r\n 2023-11-24 22:02:58 +01:00
hathach
1f71625a32 add tuh_max3421_reg_read(), tuh_max3421_reg_read() for application usage
added max3241 for feather m4 and tested
2023-11-20 21:31:06 +07:00
hathach
46106c6ef4 skip tuh_max3421_spi_cs_api() in hcd_init()
only call tuh_max3421_spi_cs_api() in SPI start/end transfer since
Arduino port use this to call begin/endTransaction()
2023-11-02 15:22:02 +07:00
hathach
9cba9a753b update s3 devkitm with max3421 pin following metro s3, check max3421 version to make sure it is valid 2023-10-27 17:40:53 +07:00
hathach
67e34267a6 change tuh_max3421_spi_xfer_api() signature
tested working with sam d21 and d51, not tested with nrf52, seem not
working with esp32
2023-10-04 18:00:32 +07:00
hathach
6b8933cfe8 fix build with new freertos host example 2023-09-28 12:55:59 +07:00
hathach
76c43a5bdc Merge branch 'master' into add-max3421-esp32 2023-09-27 17:52:18 +07:00
hathach
3b0ffd0f48 change hcd_int_handler(rhport, in_isr) signature: add in_isr
change tuh_int_handler() to take in_isr as optional parameter (default =
true)
2023-09-27 15:51:03 +07:00
hathach
2f6592de7f update max3421 to have hcd_int_handler_ext() 2023-09-27 11:30:18 +07:00
hathach
a7c136c03f adding host/cdc_msc_hid_freertos example 2023-09-25 16:53:11 +07:00
hathach
81cd995108 add default CFG_TUH_MAX3421 = 0, default spi speed for samd21/samd51 to 12Mhz 2023-09-18 22:15:31 +07:00
hathach
c074488f75 minor rename 2023-09-09 12:20:16 +07:00
hathach
21ab40bab2 - wrap up hcd max3421, work well with nrf52840
- also add usbh_defer_func()
2023-09-07 12:38:18 +07:00
hathach
ed0a233d48 vastly improve attach/detach device, still have issue where thing is still hanged occasionally. 2023-08-31 21:28:27 +07:00
hathach
3b7d5aa042 improve connection & disconnection detection. But there is still issue when CONDETIRQ occurs but we are disabled interrupt (for osal queue access). 2023-08-31 16:52:09 +07:00
hathach
41493426b3 use ep buf to keep setup packet, work well with hid device 2023-08-30 16:21:43 +07:00
hathach
1ab488eb06 call xfer_complete_isr() when result is not successful (stalled or failed) 2023-08-30 16:04:18 +07:00
hathach
2a814a99af - hcd_setup_send() also check for busy flag
- xact_inout() to support send setup
2023-08-29 20:27:37 +07:00
hathach
3740a3287a - correct tuh_max3421e_int_api() for nrf52
- hcd_int_disable/enable is software only to reduce interrupt lag
2023-08-29 18:22:21 +07:00
hathach
b31924e13e - add xfer_complete_isr()
- merge addr0 ep to pool
- add control status to xact in/out
- use atomic flag busy to ensure only 1 transfer is active at any time
- execute pending transfer after one is complete (or clear busy flag)
- change rtt mode to block if full
2023-08-28 12:41:44 +07:00
hathach
502b1bdda6 more update to transaction 2023-08-27 23:45:34 +07:00
hathach
cd7464a884 try next endpoint when received NAK 2023-08-25 17:37:09 +07:00
hathach
ac00b91472 add xact_out(), xact_in() to manage transfer 2023-08-25 17:26:57 +07:00
hathach
ecf2f91042 use endpoint pool for more flexible multiple devices support 2023-08-25 16:36:28 +07:00
hathach
09ceaa6cf3 add osal mutex for spi 2023-08-25 13:18:47 +07:00
hathach
f5ebc1700f add spi lock with interrupt enable/disable 2023-08-25 12:12:44 +07:00
hathach
e6cf125e53 save data toggle, always retry NAK. work with msc device 2023-08-24 16:46:20 +07:00
hathach
344932d27e add tuh_max3421e_int_api(), retry control if received NAK 2023-08-24 16:27:47 +07:00
hathach
3ed5d6c372 complete enumeration 2023-08-24 16:27:12 +07:00
hathach
2c237b1ae4 able to complete 1st get device descriptor and set address 2023-08-23 17:49:28 +07:00
hathach
e3f3179924 able to get 8 byte descriptor, but read(RCVBC) always return 0
- rename max3421e to max3421
- fix incorrect bitmask for HCTL, fix initial device connect
- fix bus reset cause connect IRQ
2023-08-23 15:08:12 +07:00