Commit Graph

997 Commits

Author SHA1 Message Date
Ha Thach 95009a9e79
Merge pull request #194 from cr1901/msp430f5529
[WIP] MSP430 Support
2020-03-24 11:57:20 +07:00
William D. Jones 6b5157fd28 dcd_msp430x5xx: Add dummy dcd_edpt0_status_complete handler. Add
comment which describes why it might be needed.
2020-03-24 00:03:12 -04:00
hathach 8a22eba7b4 add TODO note to remove tud_network_mac_address 2020-03-23 15:24:30 +07:00
Nathan Conrad eaf767b0db STM32FSDEV: Rewrite transfer ISR 2020-03-22 14:26:48 -04:00
hathach 4f871063fd Merge branch 'master' into cr1901-msp430f5529 2020-03-22 17:19:57 +07:00
hathach a93548cfe9 update comment per review 2020-03-17 23:39:53 +07:00
hathach a39d170672 follow up to pr #301
rename OPT_MCU_NUC505_USB_DMA to simply USE_DMA
2020-03-17 10:40:45 +07:00
Ha Thach e47f992157
Merge pull request #301 from majbthrd/nuc505tweak
NUC505 : fix operation with net_lwip_webserver
2020-03-17 10:24:09 +07:00
Peter Lawrence df05440d92 NUC505 : added comment on DMA choice 2020-03-16 13:20:17 -05:00
Ha Thach 14ab9bf2fe
Merge pull request #298 from pigrew/UART_CRLF
Use CRLF on UART log messages?
2020-03-16 11:23:07 +07:00
Ha Thach f13835a2fb
Merge pull request #290 from majbthrd/usbnet-stm32rndis
usbnet RNDIS correction (STM32 RNDIS now valid)
2020-03-16 11:16:57 +07:00
Peter Lawrence fb56c02a6f NUC505 : fix operation with net_lwip_webserver 2020-03-15 17:44:09 -05:00
Peter Lawrence 5e8ff1f7c2 usb RNDIS revision on @pigrew suggestions 2020-03-15 16:05:45 -05:00
Nathan Conrad 7f6316dbe1 Use CRLF on UART. 2020-03-14 14:26:14 -04:00
Ha Thach 41d9ab5056
Merge pull request #295 from hathach/develop
add webserver into ci build
2020-03-10 14:33:26 +07:00
hathach 71fb3985ba Merge branch 'nuc120' of https://github.com/majbthrd/tinyusb into majbthrd-nuc120 2020-03-10 11:53:11 +07:00
hathach 85a3315a99 Adding lwip_webserver to ci
- buil_al.py skip specific MCU if .skip.MCU_ exists
- reduce stm32f070 heap & stack size to compile webserver
2020-03-09 15:51:29 +07:00
hathach e0cdab5bf7 fix stm32 fsdev epdesc 2020-03-08 16:28:21 +07:00
hathach c8247f0907 fix zlp for nrf52840 2020-03-08 14:20:28 +07:00
hathach 7aa5a53652 fix log printf 2020-03-08 13:26:36 +07:00
Ha Thach 5f5ee465a6
Merge pull request #291 from hathach/port-samg55
Port samg55
2020-03-07 16:38:59 +07:00
Peter Lawrence d74facfd0a usbnet RNDIS correction 2020-03-04 17:54:11 -06:00
Ha Thach 093b1381f2
Merge pull request #287 from majbthrd/usbnet
add CDC-ECM/RNDIS/CDC-EEM network device class with example
2020-03-03 23:59:43 +07:00
Peter Lawrence 4a4682a80a update net class to follow API naming convention 2020-03-03 10:31:46 -06:00
Ha Thach 048f5e34dc
Merge pull request #280 from majbthrd/nuc505
add Nuvoton NUC505
2020-03-03 21:35:06 +07:00
Peter Lawrence fee79d7466 add CDC-ECM/RNDIS/CDC-EEM network device class with example 2020-03-02 21:15:01 -06:00
Chang Feng b8ea0f0a6b
Add langid support to descriptor string callback.
Signed-off-by: Chang Feng <chang_196700@hotmail.com>
2020-02-26 13:07:15 +08:00
Andrei Gramakov 8d84bdff21 add a number for esp32-s2 2020-02-19 12:50:36 +01:00
Peter Lawrence 7d8ecc63a6 add Nuvoton NUC505 2020-02-07 20:11:00 -06:00
hathach 46f22860fb correct waklaround with only status IN
correct usb descriptor msc dual example to work with samg
2020-02-07 22:13:38 +07:00
hathach 02b2c60231 samg55 work with cdc msc example 2020-02-07 17:39:20 +07:00
hathach 087e3c7f56 Merge branch 'master' into port-samg55 2020-02-07 16:50:07 +07:00
hathach 9ca6311ac4 implement walkaround for incorrect DATA Toggle for status control. 2020-02-07 16:46:18 +07:00
hathach b6b9fe42af more log for debugging 2020-02-07 16:43:44 +07:00
Peter Lawrence cd8eb2a06b added support for Nuvoton NUC120 2020-01-25 13:10:32 -06:00
hathach e2f60a5134 rt10xx: correct max endpoint count is 8 2020-01-17 17:09:23 +07:00
hathach 04d8671641 clean up, disable SOF for dcd trans since we don't use it for now 2020-01-17 12:59:00 +07:00
hathach 3208fe00b6 clean up 2020-01-17 12:06:59 +07:00
hathach c3f4c75cfc Merge branch 'master' into develop 2020-01-17 10:58:04 +07:00
Ha Thach 1f95f439e1
Merge pull request #274 from tannewt/dcache
Clean and invalidate the DCache when we have one.
2020-01-17 09:47:38 +07:00
Scott Shawcroft cd6454a330
Add if guards for dcache flushes. 2020-01-16 17:17:49 -08:00
Scott Shawcroft ae68668df9
flush and invalidate the dcache 2020-01-15 21:59:15 -08:00
Ha Thach 12b191510a
Merge branch 'master' into nucbusreset 2020-01-16 11:22:33 +07:00
hathach 05fd02194e correct return value of midid_xfer_cb 2020-01-16 11:12:26 +07:00
Ha Thach 537ceb0f65
Merge branch 'master' into line_endings 2020-01-16 10:55:14 +07:00
Peter Lawrence 2ed395bde3 nuc121: survive USB bus reset 2020-01-15 21:40:24 -06:00
Peter Lawrence c04bc07c29 nuc121: enhanced driver and hopefully added readability 2020-01-15 20:09:50 -06:00
Nathan Conrad 25c1bea782 Normalize line endings 2020-01-15 14:47:43 -05:00
Peter Lawrence 7f2db321bf nuc121: better fix for handling large OUT transfers 2020-01-15 10:23:23 -06:00
Peter Lawrence f2a5335417 nuc121: fix handling of OUT transfers larger than max packet size 2020-01-14 22:07:38 -06:00
Sean Cross a6b916ba85
Merge pull request #269 from antmicro/volatile_buffers_fix
dcd_eptri: Fix rx_buffer/tx_buffer volatile annotation
2020-01-15 07:02:11 +10:00
Mateusz Holenko c1781e5e7c dcd_eptri: Fix rx_buffer/tx_buffer volatile annotation
This makes `rx_buffer` and `tx_buffer` *pointers*
volatile in order to avoid caching them in a register.

The original notation meant "a pointer to a volatile value"
(equivalent of `volatile uint8_t *`). This resulted in
`while(rx_buffer[ep_num] != NULL) ;` loop to get stuck
forever, even though the IRQ handler set the `rx_buffer[ep_num] = NULL`.
2020-01-14 13:57:17 +01:00
Ha Thach 744674bb28
Merge pull request #240 from majbthrd/master
implement multiple interfaces support
2020-01-11 12:23:13 +07:00
Ha Thach 130250a2be
Merge branch 'master' into nuc121 2020-01-07 16:26:58 +07:00
Ha Thach d6a8d42bd6
Merge pull request #254 from majbthrd/multi-setconfig
gracefully handle multiple SET_CONFIGURATION requests
2020-01-05 17:48:55 +07:00
Peter Lawrence 5c5f876461 dcd_nuc121: allow user ZLP transfers to get a callback 2020-01-04 13:36:26 -06:00
Peter Lawrence f4371e79b1 add Nuvoton NUC121/NUC125/NUC126 2020-01-04 10:31:55 -06:00
majbthrd 6b3eb5f173 fix missing parentheses in TU_MIN and TU_MAX macros (#256) 2019-12-30 23:12:18 +07:00
Jeremy Herbert db24b2f372 Let device respond to endpoint requests on EP0 (#251)
Since endpoint 0 is used for control requests, it doesn't have a class driver attached to it. As such, the corresponding `_usbd_dev.ep2drv` entry points to driver `0xFF`, which is invalid and this makes the `TU_ASSERT(drvid < USBD_CLASS_DRIVER_COUNT);` line fail, and eventually causes an endpoint stall. So as-is the stack cannot respond to any endpoint requests on endpoint 0.

However, standard requests on endpoint 0 do not need a class driver to produce a valid response. This commit changes the order of execution so that the assert is only checked if the endpoint is not 0.
2019-12-30 10:58:06 +07:00
Peter Lawrence e7bf66b29e gracefully handle multiple SET_CONFIGURATION requests 2019-12-28 16:49:52 -06:00
Peter Lawrence ff0e7d2bed implement multiple interfaces support 2019-12-28 14:27:32 -06:00
hathach 89f3ad59da
fix #247 2019-12-27 09:42:57 +07:00
hathach 0da45c2e78
clean up 2019-12-26 22:31:29 +07:00
hathach b5684c5c10
merge dcd_samd51 & dcd_samd21 into dcd_samd 2019-12-26 21:46:59 +07:00
hathach 49b316143a
improve samd, fix missing setup packet occasionally 2019-12-26 17:11:24 +07:00
hathach 5690e7b304
fix samd51 setup packet handling
issue occur due to race condition
https://github.com/adafruit/Adafruit_TinyUSB_Arduino/issues/37
2019-12-25 23:47:47 +07:00
hathach 605129eb66 invoke scsi complete callback before queue for csw status
there is racing issue with samd + qspi flash testing with arduino
otherwise.
2019-12-24 21:24:43 +07:00
hathach 2caa1ac078 Merge branch 'master' into develop 2019-12-24 21:13:05 +07:00
hathach bbada1d3e6 adding lookup table for debugging
add msc scsi command list
2019-12-23 18:54:06 +07:00
hathach 94e70f9b01 Merge branch 'master' into port-samg55 2019-12-21 23:53:48 +07:00
hathach 421221baa5
making more progress, but failed with WRITE10
incorrect queue 448 bytes instead of 512
2019-12-21 23:51:57 +07:00
hathach 050fa2fd39
able to response to scsi inquiry, but failed to response to test unit ready 2019-12-21 19:33:41 +07:00
hathach a1e55e57a4
clean warnings 2019-12-20 17:09:42 +07:00
samveen ba8a232970 add "`" and "~" to keycode -> ASCII table 2019-12-17 12:47:05 +05:30
samveen fdce63b268 [tusb]fix typo in comment 2019-12-16 23:01:26 +05:30
Ha Thach 7a05b177a4
Merge pull request #236 from jeremyherbert/master
Update dcd_stm32_fsdev.c with note about F042Fx remapping
2019-12-12 10:17:40 +07:00
Jeremy Herbert 9d96b6d66e
Update dcd_stm32_fsdev.c
Add a note about pin remapping for the STM32F042Fx
2019-12-12 09:40:06 +10:00
hathach 96a9eca6a0 move VBUS sense out of dcd_synosys to bsp 2019-12-11 14:03:36 +07:00
hathach 752aea7d72 enhance samg 2019-12-09 23:58:13 +07:00
hathach fa96078882 clear data toggle in clear stall, also set config bit 2019-12-09 23:21:06 +07:00
hathach 75a2157715 fix samd using TUSB_REQ_SET_ADDRESS in dcd_edpt0_status_complete 2019-12-09 23:20:21 +07:00
hathach 0316e0ecd4 update descriptor, enhance ep in transfer 2019-12-09 22:48:35 +07:00
hathach 759fa76280 implementing dcd_edpt_open 2019-12-09 21:36:15 +07:00
hathach 988edce745 fix build 2019-12-09 18:49:38 +07:00
hathach 208a77678c clean up, switch and update submodule samd to circuitpython branch 2019-12-09 18:37:54 +07:00
Jerzy Kasenberg 4a1f7d0243 Fix mynewt osal queue definition
Queue table has pointers instead of data os_event structs.
This resulted in crashes when elements were put to queue and
overwritten variables that were just after mpool desiged
for queue.
2019-12-01 12:38:36 +01:00
Sean Cross 26dcc19b18 valentyusb: eptri: don't double-advance read buffer
Due to an error, we were double-advancing the FIFO buffer.  The end
result was that the second half of most reads were getting ignored.

This wasn't found during earlier testing because only 64-byte buffers
were tested.

This corrects this error by avoiding double-advancing the buffer.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-29 18:14:23 +08:00
hathach e9725dcdbe use dcd_edpt0_status_complete() to prepare for setup packet for samd21/samd51 2019-11-28 13:48:55 +07:00
hathach d7558e8a0f use dcd_edpt0_status_complete() to set address without blocking for samd21/samd51/stm32_fsdev 2019-11-28 13:39:29 +07:00
hathach ac701c398b clean up 2019-11-28 12:18:56 +07:00
hathach 552cc3ef33 implement dcd_edpt_stall 2019-11-28 11:56:35 +07:00
hathach 5dc04887e2 get passed set address 2019-11-28 11:48:08 +07:00
hathach 6bc245cb36 add dcd_edpt0_status_complete() which is useful for several mcu port 2019-11-28 11:46:36 +07:00
hathach 40b454cf28 get passed first get device descriptor 2019-11-27 23:20:48 +07:00
hathach 6225d5bcfd able to handle setup packet 2019-11-27 16:01:25 +07:00
hathach bc21714c7e detect bus reset 2019-11-27 14:49:19 +07:00
hathach 302746d02c Merge branch 'develop' into port-samg55 2019-11-27 12:35:59 +07:00
hathach fe1eadf177 fix #229 2019-11-27 12:34:30 +07:00
hathach 8a1b6327ba extract code to invoke_class_control()
- also rename usbd_class_drivers to _usbd_driver
2019-11-27 12:12:52 +07:00
hathach 745f0b4521 clean up 2019-11-27 11:02:24 +07:00
hathach c691dc4cb2 update 2019-11-25 10:42:32 +07:00
hathach 58e8265964 usb hw init OK 2019-11-24 23:46:28 +07:00
hathach 24b2cea139 Merge branch 'master' into port-samg55 2019-11-24 21:22:42 +07:00
hathach d991466a8e fix rt1010 rt1020 only has 1 usb controller, rt1050 rt1060 has 2 2019-11-23 00:48:56 +07:00
hathach 38b14725f7 rename OPT_MCU_IMXRT10XX to OPT_MCU_MIMXRT10XX 2019-11-22 17:40:12 +07:00
hathach 281e8cd9ec rename OPT_MCU_RT10XX to OPT_MCU_IMXRT10XX 2019-11-22 15:42:46 +07:00
Ha Thach ca741dfc2a
Merge pull request #220 from hathach/develop
Port NXP iMX RT10XX
2019-11-22 15:16:41 +07:00
hathach 6123b600fc rename dcd_lpc18_43 to dcd_transdimension 2019-11-22 14:47:07 +07:00
hathach a0b2561a2d move nxp dcd ehci controller reset and modde into dcd
rt1064 work with cdc msc example
2019-11-22 14:20:10 +07:00
hathach fca4653b95 able to compile dcd 18/43 with rt1064 2019-11-22 12:34:41 +07:00
hathach 2ead26a12d more clean up 2019-11-22 12:26:40 +07:00
hathach ccb09db3b7 more clean up 2019-11-22 12:16:47 +07:00
hathach 7e16a9a1db more constant rename clean up 2019-11-22 12:14:55 +07:00
hathach 8aacd1eacd refactor dcd_lpc18_43, making it capatible with rt10xx 2019-11-22 12:11:13 +07:00
hathach 623b16af2e clean up dcd lpc18_43
drop supporting both device mode on both ports.
2019-11-22 00:58:18 +07:00
hathach 1f52273d99 move dcd_lpc18_43.h into .c file 2019-11-22 00:38:22 +07:00
hathach 03deeea465 fix segger host example 2019-11-22 00:33:10 +07:00
hathach f5d737aa7e moving irq to bsp for lpc17/40 2019-11-21 23:19:38 +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
Sean Cross a9282eab51 eptri: clear proper endpoint when opening IN port
When opening a USB port, we ensure the buffer is NULL and has
a length of 0.

Due to a mistake in specifying the endpoint type, we never actually
cleared the value when opening an IN endpoint.  This patch fixes
the comparison when opening an IN endpoint.

This fixes issue #218.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-20 17:45:21 +08:00
hathach 1aa3f085cb adding support for NXP rt1064 evk board, boad test led + sw8 work.
LTO is temporary disabled
2019-11-20 15:30:39 +07:00
hathach c2fb813658
Merge pull request #217 from xobs/valentyusb-eptri
WIP: Add Valentyusb eptri
2019-11-18 12:37:34 +07:00
hathach 56abce44f3
Merge pull request #208 from hathach/fix-issue-207
Fix issue 207
2019-11-14 10:10:42 +07:00
Sean Cross cc73990530 tusb: rename `foosn` to `valentyusb`
Use the name `valentyusb` as the vendor for the `valentyusb`
project, rather than the manufacturer name of the Fomu device.

This is because the `valentyusb` core can be used across multiple
vendors, much like how other cores can be used across chip vendors.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 8c5f02960b valentyusb: rename from `foosn`
While Fomu is produced by Foosn, the actual name of the hardware
block is `valentyusb`.  Rename the module to match that.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross e05e9801e4 fomu: gate debug/logging features
This gates the majority of the debug and logging features behind
testable macros.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 3292920933 fomu: first stable working commit
This appears to be stable, and works well.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 1882a87212 fomu: remove reference to SETUP_CTRL.ACK
THis bit isn't used anymore, so remove it.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:47 -08:00
Sean Cross 729c8d073c fomu: dcd_fomu: add next_ev support
Now that we have the `USB_NEXT_EV` register, take advantage of
it to work around issue #207.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:09:38 -08:00
Sean Cross 913032ae1d dcd_fomu: nearly there
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 835a72c595 fomu: semi-working dcd file
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 843136d0e4 fomu: commit latest version
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 22fd7bf85e fomu: first fully-working release
This is able to transfer lots of data back and forth across MSC.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 4a8475b8a7 src: add eptri to tusb
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 0559fd13fb fomu: fix some issues with dcd_fomu
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 359189ea2d tusb_verify: add riscv assert support
This simply executes an "ebreak" instruction.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:08:01 -08:00
Sean Cross 32bb68409e portable: fomu: get msc to enumerate
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:12 -08:00
Sean Cross 36ede44885 fomu: wip support
Signed-off-by: Sean Cross <sean@xobs.io>
2019-11-13 09:03:12 -08:00
hathach 4008f0d1e6 update dcd nrf5x to be indepent from nrf_usbd.h
fix build error with nrfx 2.0
2019-11-11 00:01:12 +07:00
hathach fc86a308f6 clean up 2019-11-05 11:45:02 +07:00
hathach 5209091c28
Merge branch 'master' into fix-issue-207 2019-11-05 10:20:30 +07:00
hathach 3d748e6e2e Merge branch 'master' into port-samg55 2019-11-05 10:18:32 +07:00
hathach 1ab3a1035c Merge branch 'master' into cr1901-msp430f5529 2019-11-05 10:17:36 +07:00
hathach 3c49ff153e
Merge pull request #149 from pigrew/ZLP_Request2
Zlp request2
2019-11-05 00:05:21 +07:00
Nathan Conrad 8d0fa158d7 Change one more TU_ASSERT to TU_VERIFY in usbd. 2019-11-04 11:33:14 -05:00
hathach 2727983a2d fix #211 2019-11-04 22:52:29 +07:00
Nathan Conrad a94fe05ecb usbd: Change TU_ASSERT to TU_VERIFY as the assertion can be hit when bad data is sent from host. 2019-11-04 08:59:29 -05:00
Nathan Conrad c98acd3873 Use control transfer function to send control data (in usbtmc) 2019-11-04 08:54:18 -05:00
hathach 6baa79b330 board test works 2019-11-04 14:54:04 +07:00