Uwe Bonnes
30a18e2605
stm32f723disco: USB HS enumerates.
2020-06-30 11:07:53 +02:00
Uwe Bonnes
05bfd9ac4a
dcd_synopsys: Handle HS and FS IP in one device
...
FIXME: Allow run-time selection to allow to handle both HS and FS with
one file
F746 HS port enumerates with error
config 1 interface 2 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 64
2020-06-30 11:02:41 +02:00
hathach
ab75998316
Merge branch 'master' into add-stm-hs
2020-06-30 01:55:57 +07:00
Ha Thach
05996aee64
Merge pull request #427 from kasjer/kasjer/add-da1469x-support
...
Support for DA1469x MCU from Dialog Semiconductor
2020-06-30 01:20:56 +07:00
Ha Thach
268ab9eaa8
Merge pull request #399 from duempel/redesign_synopsys_receive
...
Improvements to Synopsys EP OUT
2020-06-29 16:02:40 +07:00
Jan Dümpelmann
99df7789a7
Add author name to dcd_synopsys.c
2020-06-29 10:55:03 +02:00
Jan Dümpelmann
4f69bcea7e
Remove EP0 remaining bytes manipulation
...
Renaming edpt_xact to edpt_schedule_packets
2020-06-26 17:18:25 +02:00
Jeff Epler
b2ef8cdd42
dcd_samd: Provide implementation for OPT_MCU_SAME5X
2020-06-25 18:51:04 -05:00
hathach
d4d6e06c1d
added OPT_MCU_SAME5X option
2020-06-24 00:53:17 +07:00
Jan Dümpelmann
067287ef91
Add transaction (edpt_xact) as sub transfer
...
A transfer can have one or multiple transactions.
Usually only EP0 splits one xfer into multiple xact.
2020-06-18 17:18:28 +02:00
Mengsk
9ffb9b69a4
Disable SOF in dcd_stm32_fsdev
...
Signed-off-by: Mengsk <admin@hifiphile.com>
2020-06-18 14:18:00 +02:00
Mengsk
57b553e023
Fix IAR warnings.
...
Pa039 : use of address of unaligned structure member.
Pe188: enumerated type mixed with another type.
2020-06-17 10:08:33 +02:00
hathach
667eaa6dd6
fix stm32h743 priority with freeRTOS
2020-06-16 00:03:52 +07:00
hathach
2dd1be13e5
Enhance EP FIFO allocation for both Fullspeed and Highspeed
...
- Update shared RX FIFO calculation with FS/HS
- IN FIFO EP
- Interrupt -> use EPSize
- Bulk/ISO -> use max(EPSize, remaining-fifo / non-opened-EPIN)
2020-06-15 23:17:49 +07:00
Jan Dümpelmann
4399dd1b06
cherry pick PR399 commit : Interrupt time improvements
2020-06-14 19:13:31 +07:00
hathach
f438aedccb
overwrite setup packet
2020-06-14 18:29:38 +07:00
Jerzy Kasenberg
0635bafe0a
Add DCD for Dialog DA1469x MCU
...
Dialog Semiconductor's BLE MCU DA1469x comes with full speed USB.
It's base on National Semiconductor discrete USB controller USBN9603/4.
This adds support for:
- control/interrupt/bulk endpoints (up to 64 bytes)
- ISO endpoint were not tested and may not work correctly
- reset/sleep/wakeup are handled
- code for VBUS changes is provided
2020-06-09 15:55:46 +02:00
hathach
710c54f8cb
allow hs ep open with 512 bytes
2020-06-01 01:36:09 +07:00
hathach
f771afe6af
fixed EP0 size to 64 since LS is not supported in device mode
...
- set turn-around and report actual speed in Enum Done
- add dcd_event_bus_reset() helper to report speed
2020-05-31 23:43:29 +07:00
hathach
5ffba8536d
able to detect as hs
2020-05-31 19:41:22 +07:00
hathach
d4bf777c94
try to get synopsys work with OTG HS + external PHY
2020-05-27 11:01:33 +07:00
hathach
b4804d1592
random clean up for tdi
2020-05-26 22:15:38 +07:00
hathach
947c3eb10d
multiple port support for global otg base
2020-05-26 16:07:48 +07:00
hathach
b7ab60aa44
suporting multiple port (OTG FS + HS) for stm32
2020-05-26 15:52:02 +07:00
hathach
ff9994116e
fix nrf hanged (blocking wait) when called within critical section
2020-05-21 21:22:12 +07:00
hathach
550746097b
fix cast-align warning for nuc505
2020-05-18 13:03:41 +07:00
hathach
1a8ce043ed
enable -Wcast-align
...
suppress vendor sdk driver at board.mk
2020-05-17 14:24:15 +07:00
Jan Dümpelmann
42edbc0006
Allow EP0 to use xfer sizes larger than one packet
2020-05-15 22:26:14 +02:00
Jan Dümpelmann
28696de390
Interrupt time improvements
2020-05-15 18:21:44 +02:00
Jan Dümpelmann
3401e0f6ff
Synopsys OUT EP improvements:
...
- Use register based XFRSIZ to determine transfer complete
(xfer->queued_len and xfer->short_packet were deleted)
- Pop out as many RxFIFO data entries as available within a IRQ call
- less application interruption due to XFRC calls
2020-05-08 18:10:48 +02:00
hathach
58b99e59d4
detect if SD is actually present on the flash using SD magic
...
even with SOFTDEVICE_PRESENT defined, SD may not be present on actual
flash.
2020-05-05 23:07:56 +07:00
Ha Thach
101f234a16
Merge pull request #387 from duempel/redesign_transmit_synopsys
...
Redesign of Synopsys device transmission
2020-05-04 14:41:20 +07:00
Jan Dümpelmann
fd69cc3dcc
clean up
...
renaming function and variables
changing indent size
2020-05-04 07:59:13 +02:00
hathach
0e30afa691
abstract all UDP_CSR
2020-05-02 18:24:23 +07:00
hathach
3ad0cd041b
clean up
2020-05-02 16:29:22 +07:00
hathach
ac3c645dc1
fix EP0 data toggle issue
2020-05-02 16:09:28 +07:00
hathach
2a479175ae
remove toggle walkaround, fix control stall race condition
2020-05-02 14:51:21 +07:00
hathach
a74a823b0a
fix dcd samd race condition with setup packet
...
setup packet can complete together with previous status (in & out).
Always make sure to prepare valid buffer for holding setup packet when
queuing control status.
2020-04-30 00:29:47 +07:00
Jan Dümpelmann
59ff208c65
Changed switch into if statements
2020-04-29 12:37:29 +02:00
Jan Dümpelmann
3e6feb7f6d
Redesign of Synopsys device transmission
...
Changes:
- checking if tx buffer empty interrupt is masked
- process more than one packet in isr
- mask tx buffer empty just after all bytes were written
- use of transmit_fifo_packet instead of transmit_packet
2020-04-29 11:32:22 +02:00
hathach
958b5510cb
added comment for hw clearing TXFE
2020-04-27 13:17:47 +07:00
hathach
e785b09118
TXFE is read only bit
2020-04-27 12:06:14 +07:00
hathach
00fcf829a1
sync synopsis fix for esp32s2
2020-04-26 22:41:04 +07:00
hathach
8d18d6077b
turn off TX FIFO Empty for EPIN if all bytes are written
...
fix dcd synopsys issue with usbnet #289
2020-04-26 22:14:59 +07:00
Jerzy Kasenberg
b949ae596f
synopsys: Reduce interrupt time for IN ZLP
...
For IN endpoints output FIFO is filled in interrupt, therefor before
endpoint is enabled, DIEPTSIZ is set with correct size of packet.
Then endpoint is enabled and FIFO empty interrupt is enabled.
This works fine except for the ZLP. Enabling FIFO empty interrupt
results in interrupt handler being called all the time because
there is nothing to put in the FIFO.
Eventually it ends when IN token is received and empty
packed is transmitted out.
This change does not enable FIFO empty interrupt for ZLP reducing
CPU load.
2020-04-24 17:38:30 +02:00
Jan Dümpelmann
551724498a
Added support for STM32F1 Connectivity Line MCU
...
STM32F105 and STM32F107 are using the Synopsys IP
2020-04-22 17:39:53 +02:00
hathach
1f442c0a9a
also add wakeup event
2020-04-18 23:48:36 +07:00
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
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
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
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
Peter Lawrence
b9fca0bbb4
nuc505: change dcd_set_config() behavior
2020-04-15 14:16:48 -05:00
Nathan Conrad
b0270f499b
stm32fsdev: dynamic allocation of PMA.
2020-04-15 11:53:30 -04:00
Nathan Conrad
16f65890eb
Merge branch 'master' into edpt_close
2020-04-14 10:22:03 -04: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
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
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
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
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
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
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
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
1e7c3cf95e
update dcd esp32s2 fifo allocation to match current dcd synopsys
2020-04-03 17:09:38 +07:00
hathach
a3e50242b9
add dcd_esp32s2
...
skip esp32s2_saola for make build since idf use cmake
2020-04-01 17:07:28 +07: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
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
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
Peter Lawrence
df05440d92
NUC505 : added comment on DMA choice
2020-03-16 13:20:17 -05:00
Peter Lawrence
fb56c02a6f
NUC505 : fix operation with net_lwip_webserver
2020-03-15 17:44:09 -05:00
hathach
71fb3985ba
Merge branch 'nuc120' of https://github.com/majbthrd/tinyusb into majbthrd-nuc120
2020-03-10 11:53:11 +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
Ha Thach
5f5ee465a6
Merge pull request #291 from hathach/port-samg55
...
Port samg55
2020-03-07 16:38:59 +07: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
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
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
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
130250a2be
Merge branch 'master' into nuc121
2020-01-07 16:26:58 +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