Commit Graph

1217 Commits

Author SHA1 Message Date
hathach c3fc5f1595 session end interrupt doesn't trigger on esp32 saola board
it is possibly due to the board design without vbus sense. Revisit
later.
2020-04-18 23:42:51 +07:00
hathach fa71402e17 implement disconnection detection for stm32 synopsys
- disconnection is OTG INT session end bit
- add USE_SOF to disable 1ms interrupt on mcu which isn't used now by
the stack
- add suspend detection
2020-04-18 23:40:27 +07:00
hathach ce6a81e74d
fix typo 2020-04-17 22:10:31 +07:00
hathach 464b1e8e89
correct return for write flush 2020-04-17 15:57:24 +07:00
hathach 4571ce0d29
add a bit of document for cdc device API. also improve cdc write flush when complete. 2020-04-17 15:54:20 +07:00
Ha Thach 0b1b9a2b9e
Merge pull request #260 from majbthrd/cdczlp
CDC device: fix behavior for transfers that are a whole multiple of endpoint buffer
2020-04-17 15:00:12 +07:00
hathach 6f9c256ad0
complete remove dcd_set_config(), fix unit test 2020-04-17 13:52:34 +07:00
hathach 05476d9ad7 Merge branch 'master' into remove-dcd-set-config 2020-04-17 13:38:22 +07:00
Ha Thach 85f0894fff
Merge pull request #347 from majbthrd/nuc505_config
nuc505: change dcd_set_config() behavior
2020-04-17 13:36:16 +07:00
Ha Thach 1f69807621
Merge pull request #354 from hathach/cxd56-disconnect-connect
Cxd56 disconnect connect
2020-04-17 13:12:47 +07:00
hathach dddf30f532
added disconnect for spresense 2020-04-17 12:53:42 +07:00
hathach 50be9d7c3a
mass rename tud/dcd_irq_handler to tud/dcd_init_handler 2020-04-17 12:27:53 +07:00
hathach 89f99426fc
add code for disconnect/connect (not tested) 2020-04-17 11:48:49 +07:00
Ha Thach 4bbbba48cb
Merge pull request #351 from hathach/valentyusb-dcd-disconnect-connect
Valentyusb dcd disconnect connect
2020-04-17 09:52:29 +07:00
Ha Thach 19e2eb66c0
Merge pull request #350 from hathach/synopsys-msp430-dcd-disconnect-connect
Synopsys msp430 dcd disconnect connect
2020-04-17 09:51:15 +07:00
Ha Thach 9aa553ccc2
Merge pull request #352 from hathach/samg-dcd-disconnect-connect
samg implement dcd connect/disconnect
2020-04-16 23:14:42 +07:00
Ha Thach 33610751d7
Merge pull request #336 from pigrew/edpt_close
> If you notice my chain of events above, the bulk transfer was started BEFORE the SET_INTERFACE call. The USB device hardware swaps the order of them being delivered. On STM32, it gives priority to the lower-numbered EP index.

It shouldn't be a matter, control is 2+ stage, before sending the setup. Host should stop all communication to the endpoint that It wants to close.
2020-04-16 23:10:36 +07:00
hathach 36d4efa077
samg implement dcd connect/disconnect 2020-04-16 22:59:19 +07:00
hathach 6377699d77
implement dcd disconnect connect 2020-04-16 22:30:33 +07:00
Ha Thach bfec3b4479
Merge pull request #345 from hathach/add-alt-itf
Implement setInterface(alt) for usb net driver
2020-04-16 21:33:03 +07:00
hathach 3aaad8cd73
add int enable/disable for pullup 2020-04-16 21:30:12 +07:00
hathach 18d936b414
msp430 disconnect/connect 2020-04-16 21:04:28 +07:00
Nathan Conrad 2994d100cd Remove transfer queue filtering. May need to be revisited later. 2020-04-16 09:59:40 -04:00
hathach 63655ac9d7
cleanup for esp32 2020-04-16 20:43:26 +07:00
hathach 4c74140b31
stm32 sysnopsys disconnect/connect 2020-04-16 20:20:20 +07:00
hathach a009775745
dcd disconnect/connect for transdimension ip 2020-04-16 16:56:16 +07:00
hathach 418b69f2db
implement dcd disconnect/connect for lpc ip3511 2020-04-16 16:05:57 +07:00
hathach 969121df4f
added dcd disconnect/connect to lpc17/40 2020-04-16 15:52:45 +07:00
hathach 2eed58d096
per review 2020-04-16 11:13:54 +07:00
Peter Lawrence b9fca0bbb4 nuc505: change dcd_set_config() behavior 2020-04-15 14:16:48 -05:00
hathach 86ff5651ad
correct usbnet control complete response
don't return false with STD request get/setInterface() or targeted Data
Interface (itfnum +1)
2020-04-15 23:10:52 +07:00
hathach 0ddbda08cb
always response if GET_INTERFACE even if class driver does not support alt interface 2020-04-15 23:08:49 +07:00
Nathan Conrad b0270f499b stm32fsdev: dynamic allocation of PMA. 2020-04-15 11:53:30 -04:00
hathach caa1dceed9
implement alternate setInterface() request
mostly forward these request (recipient = interface) to class driver.
2020-04-15 17:51:02 +07:00
hathach d315393fbb
use IAD to assign itf2drv mapping correctly
merge net_data back into net driver
2020-04-15 16:18:24 +07:00
hathach 0b39168dc2
add IAD for CDC ECM, remove EEM descriptor template 2020-04-15 15:40:53 +07:00
hathach b03b9eb939
change cdc template protocol to None 2020-04-15 15:14:26 +07:00
hathach 93ffe317b2
clean up 2020-04-15 13:53:50 +07:00
hathach 3bfb402d8c
clean up 2020-04-15 11:44:12 +07:00
hathach 1faa3b2768
tested usbnet, completely remove class code 2020-04-15 11:41:26 +07:00
hathach c74f7e708e
remove class_code/subclass/protocol from driver structure, add name for logging 2020-04-15 11:06:35 +07:00
hathach f1a6f92fab
Merge branch 'master' into class-driver-id 2020-04-15 10:47:49 +07:00
hathach 490771a094
test vendor 2020-04-15 10:39:01 +07:00
hathach c1c9ca5629
test with tmc 2020-04-15 10:37:31 +07:00
hathach e713b534fa
test ok with cdc and msc 2020-04-15 10:30:34 +07:00
hathach bae570f7c7
tested with midi 2020-04-15 10:30:07 +07:00
Peter Lawrence 7fa8d87291 usbnet: remove CDC-EEM 2020-04-14 21:10:43 -05:00
hathach 8614dcece7
tested with hid 2020-04-15 01:01:07 +07:00
hathach 3ef6e33533
use class driver open() for interface support detection
tested with dfu_runtime
2020-04-15 01:00:37 +07:00
hathach ae60146274 use explicit all_subclass and all_protocol since 0xFF is stil valid 2020-04-14 22:35:34 +07:00
Nathan Conrad 16f65890eb Merge branch 'master' into edpt_close 2020-04-14 10:22:03 -04:00
hathach b90b00d43b
complete adding subclass and protocol to driver id 2020-04-14 18:35:50 +07:00
hathach 593fe154ec
adding subclass & protocol to class driver structure 2020-04-14 18:00:59 +07:00
Ha Thach 57ffa94a52
Merge pull request #334 from majbthrd/usbnet_osagnostic
usbnet: OS-agnostic (Windows/Linux/macOS) network driver
2020-04-14 17:39:50 +07:00
Nathan Conrad bbc59f1ceb stm32fsdev: add static assert for PMA size bigger than EP0 size. 2020-04-13 20:50:17 -04:00
Nathan Conrad de208b31cf edpt_close: Remove item from queue instead of modifying it. 2020-04-13 11:05:34 -04:00
Nathan Conrad f8e7487355 edpt_close: Updated based on feedback. 2020-04-13 09:51:46 -04:00
hathach f4df829399 lpc17xx move set configdevice into set address
for removing dcd_set_config()
2020-04-13 17:04:18 +07:00
Nathan Conrad 0eeaccaf46 Skeleton, and initial stm32fsdev implementation (that leaks memory) 2020-04-12 21:27:27 -04:00
Peter Lawrence bb3bbcc00b usbnet: OS-agnostic (Windows/Linux/macOS) network driver 2020-04-12 15:41:18 -05:00
Ha Thach 04a06ec401
Merge branch 'master' into refactor-irqhandler 2020-04-11 15:49:34 +07:00
Ha Thach 13a3081d30
Merge pull request #333 from hathach/fix-esp32s2-setup-packet
fix incorrect setup packet
2020-04-11 15:18:41 +07:00
Ha Thach 07809d03a7
Merge pull request #332 from pigrew/stm32fsdev-dcdconnect
stm32fsdev: Implement dcd_connect.
2020-04-11 13:20:31 +07:00
hathach ae1314f1c7 fix incorrect setup packet
also increase usbd stack in example when debug is enabled
2020-04-11 12:55:45 +07:00
Ha Thach 2ff3f765db
Merge pull request #319 from hathach/add-esp32s2
port ESP32 S2
2020-04-10 23:53:03 +07:00
hathach a37a56acd3 remove CONFIG_IDF_TARGET_ESP32S2BETA per review 2020-04-10 23:38:36 +07:00
Nathan Conrad 5bd9d14fc1 stm32fsdev: set dcd_connect API definitions to strong, Modify documentation. 2020-04-10 10:26:41 -04:00
hathach 8953bc9255 added comment note for beta chip walkaround 2020-04-10 20:25:53 +07:00
hathach c545cfc0bc Correct dedicated FIFO SRAM size to 1024
add note for up to 5 active IN endpoints (including EP0 IN)
2020-04-10 15:42:50 +07:00
hathach 978eec73b3 remove 100us delay at the end of dcd_init() 2020-04-10 15:39:59 +07:00
hathach 30945ab9f3 revert name to dcd_int_handler due to function prototype warning 2020-04-10 15:27:23 +07:00
hathach c0695b4b55 clear USB_RXFLVI_M before read_rx_fifo()
more format clean up
2020-04-10 15:13:12 +07:00
hathach 933e3cdfc7 change indent from 4 -> 2 spaces 2020-04-10 15:01:12 +07:00
hathach cec747776d rename dcd_init_handler to dcd_irq_handler to consistent with other ports 2020-04-10 14:47:02 +07:00
hathach d122d7de88 remove commented code 2020-04-10 14:45:55 +07:00
hathach a40d1e800d try to fix racing condition with setup 2020-04-10 14:04:18 +07:00
hathach 1b3d1b52c9 fix uint32_t format with log 2020-04-10 13:54:50 +07:00
Nathan Conrad 715c4dbbf8 stm32fsdev: Implement dcd_connect. 2020-04-09 17:03:12 -04:00
hathach d6578823bb rename static function for dcd_cxd56 to prevent conflict 2020-04-09 12:00:45 +07:00
hathach c1f3fbbc03 implement dcd connect/disconnect for samd and nrf 2020-04-09 11:47:02 +07:00
hathach 11201f1a06 adding dcd_connect/disconnect 2020-04-09 11:42:42 +07:00
Ha Thach defea45d44
Merge branch 'master' into refactor-irqhandler 2020-04-09 11:22:20 +07:00
hathach 40e23672ff rename hal_dcd_isr to dcd_irq_handler for fomu 2020-04-08 16:47:20 +07:00
hathach e879ad1e6f move irq from msp430 2020-04-08 16:42:36 +07:00
hathach 8f17945b67 move irq for stm32 synopsys 2020-04-08 16:37:09 +07:00
hathach 9014ca5528 move irq for stm32 fsdev 2020-04-08 16:26:14 +07:00
hathach 880595433c use macro for easy enable/disable SOF 2020-04-08 15:41:16 +07:00
hathach 7b7a78ab2e disable SOF interrupt since it is not used for now 2020-04-08 15:33:07 +07:00
Peter Lawrence ccb65fcf6a nuvoton: add dcd_disconnect() dcd_connect() 2020-04-07 10:51:55 -05:00
Ha Thach bfc43bad81
Merge pull request #321 from pigrew/tweak20200331
Misc. tweaks, and fix for USBTMC descriptors without an INT EP
2020-04-07 12:12:44 +07:00
Nathan Conrad 06d7fdc228 Use #define for OSAL_TIMEOUT_WAIT_FOREVER. 2020-04-06 12:40:58 -04:00
hathach 06e87b47a2 revert name to dcd_init_handler()
since the function signature is different
2020-04-06 21:28:02 +07:00
hathach 22a9b05834 rename dcd_int_handler to dcd_irq_handler for consistency with other port 2020-04-06 19:49:25 +07:00
hathach 06377a341b add tud_irq_handler() for all lpc ip3511 (13, 15, 11) 2020-04-06 18:00:37 +07:00
hathach 138965d1d1 add tud_irq_handler() to all NUC board 2020-04-06 17:43:56 +07:00
hathach 4179334aca call tud_irq_handler() for all nrf5x board 2020-04-06 17:35:11 +07:00
hathach fb05451a26 mass rename dcd_isr() to dcd_irq_handler() 2020-04-06 17:24:22 +07:00
hathach dc4bf02dcb mass rename tud_isr to tud_irq_handler 2020-04-06 17:04:49 +07:00
hathach c026236824 house keeping 2020-04-06 16:33:04 +07:00
hathach 050de0ec33 fix issue and typo with In token when Fifo empty
fix transmit packet endpoint's fifo
2020-04-06 16:32:55 +07:00
hathach 5a00c6ca96 Merge branch 'master' into add-esp32s2 2020-04-06 14:43:49 +07:00
hathach 2d6d298302 move irqhandler to application
tud_isr() must be called by application to forward the irqhandle to the
stack
2020-04-06 14:11:45 +07:00
hathach c2606c0213 allow application to implement its own os 2020-04-05 18:22:16 +07:00
hathach 1e7c3cf95e update dcd esp32s2 fifo allocation to match current dcd synopsys 2020-04-03 17:09:38 +07:00
Nathan Conrad 84a9715958 tu_verify: Change some define functions use do-while statement. 2020-04-02 23:22:48 -04:00
Nathan Conrad 55fd9fe392 Typo of usbtmc. 2020-04-02 23:16:28 -04:00
Nathan Conrad 0d5f3c7f04 Set OSAL_TIMEOUT_WAIT_FOREVER to be a const, to avoid a pedantic gcc warning about signedness. 2020-04-02 23:07:31 -04:00
hathach a3e50242b9 add dcd_esp32s2
skip esp32s2_saola for make build since idf use cmake
2020-04-01 17:07:28 +07:00
Peter Lawrence 794212d44e revise argument order for TUD_CONFIG_DESCRIPTOR macro 2020-03-31 10:53:47 -05:00
Peter Lawrence 87f313da48 add provision for multiple configurations 2020-03-30 13:47:17 -05:00
Ha Thach dc6f90eaf7
Merge pull request #311 from majbthrd/usbnet_ecm_macos
usbnet: tweak CDC-ECM after MacOS testing
2020-03-28 14:33:17 +07:00
Peter Lawrence 622a6c77a1 usbnet: tweak CDC-ECM after MacOS testing 2020-03-27 20:30:57 -05:00
Nathan Conrad 6606cf2896 USBD: Use tud_control_xfer only for data 2020-03-27 15:54:37 -04:00
Ha Thach 435485b524
Merge pull request #304 from pigrew/stm32_xfer_rewrite
STM32FSDEV: Rewrite transfer ISR
2020-03-25 10:19:07 +07:00
Ha Thach 9a48e98fad
Merge branch 'master' into develop 2020-03-24 12:16:15 +07:00
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 aafddfe637 following suggestion by @kasjer 2020-03-15 18:32:02 -05:00
Peter Lawrence e7efcb6fd5 merge with current master 2020-03-15 18:28:13 -05: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
Kay Sievers 73228a67ef MIDI: Add packet interface
This changes the internal buffering to the raw 4-byte messages. The
conversion of the messages to a byte-stream moved to the read/write
methods.

It adds a raw packet interface to send and retrieve the raw 4-byte
USB MIDI message:
  static inline bool     tud_midi_receive    (uint8_t packet[4]);
  static inline bool     tud_midi_send       (uint8_t const packet[4]);

MIDI USB packets carry virtual cable/wire/plug data in the packet header,
which cannot be exported in the byte-stream interface. The raw packet
interface allows to send and and receive the complete USB message.
2020-01-16 10:11:37 +01: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
Peter Lawrence 53732805b7 CDC device: help ensure code is consistent with the size of the buffers it operates on 2020-01-11 15:31:42 -06:00
Peter Lawrence 33c715bdd0 CDC device: fix behavior for transfers that are a whole multiple of endpoint buffer 2020-01-11 14:21:43 -06: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