Jan Dümpelmann
378e6aab8c
Clear ep0_pending if rx short packet
2020-06-30 17:56:25 +02:00
Jan Dümpelmann
9e35ef73f7
Fix receiving of short packet data (ep out)
2020-06-30 12:55:39 +02:00
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
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
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
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
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
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
Jan Dümpelmann
fd69cc3dcc
clean up
...
renaming function and variables
changing indent size
2020-05-04 07:59:13 +02: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
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
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
50be9d7c3a
mass rename tud/dcd_irq_handler to tud/dcd_init_handler
2020-04-17 12:27:53 +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
hathach
4c74140b31
stm32 sysnopsys disconnect/connect
2020-04-16 20:20:20 +07: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
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
Nathan Conrad
5bd9d14fc1
stm32fsdev: set dcd_connect API definitions to strong, Modify documentation.
2020-04-10 10:26:41 -04:00
Nathan Conrad
715c4dbbf8
stm32fsdev: Implement dcd_connect.
2020-04-09 17:03:12 -04: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
Nathan Conrad
eaf767b0db
STM32FSDEV: Rewrite transfer ISR
2020-03-22 14:26:48 -04:00
hathach
e0cdab5bf7
fix stm32 fsdev epdesc
2020-03-08 16:28:21 +07:00
hathach
94e70f9b01
Merge branch 'master' into port-samg55
2019-12-21 23:53:48 +07:00
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
75a2157715
fix samd using TUSB_REQ_SET_ADDRESS in dcd_edpt0_status_complete
2019-12-09 23:20:21 +07:00
hathach
988edce745
fix build
2019-12-09 18:49:38 +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
6bc245cb36
add dcd_edpt0_status_complete() which is useful for several mcu port
2019-11-28 11:46:36 +07:00
hathach
820a3705f5
Merge branch 'master' into develop
2019-10-02 12:13:47 +07:00
hathach
0673be7724
ported stm32f1, tested with f103 blue pill
2019-10-02 12:01:34 +07:00
Nathan Conrad
1e193212d7
Add testcase for EP0 stall recovery to USBTMC test script.
2019-10-02 00:31:47 -04:00
Nathan Conrad
e5f38e3e86
Remove references to EP kind.
2019-10-02 00:11:16 -04:00
Nathan Conrad
838cfe02c1
Merge remote-tracking branch 'origin/master' into ST_FSDEV_EP0
2019-10-02 00:09:07 -04:00
hathach
6183dbd0ce
add -Wextra for more warnings to example
...
non-stack warning (probably mcu driver) should be suppressed in the
board.mk
2019-09-27 00:15:43 +07:00
Nathan Conrad
f19082f02d
Reset TX and RX endpoints to NAK when receiving setup packet.
2019-09-25 20:55:15 -04:00
Nathan Conrad
048e0448c0
ST FSDEV:Remove setting the EP kind, as I think it was causing issues during enumeration (sometimes). Also move a membar.
2019-09-25 20:54:59 -04:00
hathach
7ba8e81852
Merge pull request #177 from cr1901/fifo-fix
...
dcd_synopsys: Fix off-by-one error in FIFO allocation.
2019-09-22 11:38:54 +07:00
William D. Jones
108f756e22
dcd_synopsys: Fix off-by-one error in FIFO allocation.
2019-09-21 23:01:06 -04:00
Nathan Conrad
ce9f133d25
FSDEV: go to NAK when unstalling; on reset, set EP0 to NAK, prioritize reset interrupt, fix small typos.
2019-09-21 12:00:04 -04:00
hathach
94c9cf0eff
doc update
2019-09-20 16:14:35 +07:00
hathach
7b2f8cc73a
added stm32 L0 support
...
close #125
2019-09-20 13:49:33 +07:00
Nathan Conrad
525b4cdb72
Use ESOF for wakeup timing.
2019-09-19 09:51:40 -04:00
Nathan Conrad
642afeea8b
s/static const/define/
2019-09-19 09:30:16 -04:00
Nathan Conrad
85623584f9
Remove debug assertions.
2019-09-19 09:24:52 -04:00
Nathan Conrad
89ffe78f84
ST FSDEV: No need to always reset the interrupt priority, also add some synchronization primitives after disabling interrupts.
2019-09-16 22:56:17 -04:00
Nathan Conrad
a33a854793
Include board header file... :X
2019-09-16 20:56:57 -04:00
Nathan Conrad
d341337c6a
Implement remote wakeup + perhaps better sleep?
2019-09-16 20:25:50 -04:00
Nathan Conrad
6b9783cead
s/unsigned int/uint32_t/
2019-09-16 09:20:15 -04:00
Nathan Conrad
05c13342a3
Implement EP with size <64.
2019-09-15 23:51:42 -04:00
Nathan Conrad
18303e742e
Covert macros to inline functions.
2019-09-15 23:46:03 -04:00
Nathan Conrad
ae873a709e
Wrote TX instead of RX.
2019-09-15 23:33:36 -04:00
Nathan Conrad
4ea212a432
This demonstrates that I don't pre-build things before committing them... oops.
2019-09-13 23:52:43 -04:00
Nathan Conrad
c831311a12
Off-by-one error in Synopsys assertions. (and move some braces to their own lines.
2019-09-13 23:38:58 -04:00
hathach
986beda9eb
adding stm32l4 support, board test run with stm32l476disco, usb doens't work yet
2019-09-13 11:22:44 +07:00
hathach
ff7261600c
ported stm32f2, added board stm32f207zg nucleo
...
close #127
2019-09-12 10:41:03 +07:00
Nathan Conrad
d3507b0787
Merge remote-tracking branch 'origin/master' into stfsdev_cleanups
2019-09-11 20:36:48 -04:00
Nathan Conrad
3326b9d008
Use types with explicit bit widths.
2019-09-11 20:33:47 -04:00
hathach
7f166d860d
stm32f7 work with dcd synopsis
...
close #124
2019-09-11 22:48:07 +07:00
Nathan Conrad
7b93177890
Use TU_VERIFY_STATIC, use more uint instead of uint8_t/uint16_t. Create reg16_clear_bits function to reduce typec conversion warnings.
2019-09-11 09:45:48 -04:00
Nathan Conrad
784dc52b62
Update header comments.
2019-09-11 09:44:25 -04:00
Nathan Conrad
4cf2b30759
Fix bug where the EPREGs were not being initialized as expected.
2019-09-11 09:43:57 -04:00
hathach
678ba586df
Merge pull request #122 from cr1901/synopsys
...
Synopsys Refactor
2019-09-11 10:37:49 +07:00
Nathan Conrad
4f6bedeac9
Rename the STM32 MCU options.
2019-09-10 12:57:43 -04:00
Nathan Conrad
23d39f2b15
Remove OPT_MCU_STM for L and G series.
2019-09-10 12:13:36 -04:00
Nathan Conrad
65e72de7ce
Move interrupt handler into device driver, and rename the OPT_MCU_STM32 constants.
2019-09-10 09:35:52 -04:00
Nathan Conrad
49c58be4ce
Fix silly typo in the F3xx support.
2019-09-10 01:31:14 -04:00
Nathan Conrad
bc2a65b20b
A few bug fixes, remove the unstested device notices, note supported boards in READMEs, and implement PMA
...
access stride (used on MCU's with 512 byte USB buffers).
2019-09-10 01:03:24 -04:00
Nathan Conrad
f7b0aeec52
Start clock on F0 and F0, and handle USB interrupts.
2019-09-09 19:20:26 -04:00
Nathan Conrad
d1976a30b3
Update F3 BSP and create F070RB BSP. Both are untested (but compile).
2019-09-09 16:14:38 -04:00
Nathan Conrad
5ec59c2a30
Add STM32 FSDEV driver.
2019-09-09 14:55:39 -04:00
Nathan Conrad
b4c8a09f20
Remove STM32 F3 port.
2019-09-09 13:29:26 -04:00
William D. Jones
1385d7c494
stm32: Refactor so F4 and H7 use a single Synopsys IP source file.
2019-09-09 10:48:14 -04:00
William D. Jones
82cd4b5350
dcd_stm32f4: Merge relevant changes from dcd_stm32h7.
2019-09-09 10:27:46 -04:00
William D. Jones
3efc81b285
dcd_stm32h7: Merge relevant changes from dcd_stm32f4. USB2 -> USB works as alias.
2019-09-09 10:14:20 -04:00
hathach
e123cad7bb
enhance dcd stm32f4 to support max 4 or 6 endpoints on 407 or 412
2019-09-08 23:10:51 +07:00
hathach
4663f9084d
ported board stm32f412g discovery
...
- added soft connect for enable pull up register dcd stm32f4
2019-09-08 21:57:02 +07:00
hathach
56f1ccd68a
fix #97
2019-09-05 21:59:19 +07:00
William D. Jones
8f8ca77a91
stm32h7: Mark USB FIFOs as volatile, otherwise optimizations will remove
...
reads/writes to the FIFOs.
2019-09-04 01:06:07 -04:00
William D. Jones
910fd867c7
stm32h7: Fix indentation error where OUT XFER interrupt wasn't handled
...
in the correct scope.
2019-09-03 01:37:44 -04:00
William D. Jones
1a3dc9cba1
stm32h7: USB_OTG_FS -> USB2_OTG_FS.
2019-09-03 01:28:41 -04:00
William D. Jones
f703a74daa
stm32h7: Implement STALL logic for endpoints.
2019-09-03 01:28:41 -04:00
William D. Jones
28b131ea94
stm32h7: Implement dcd_edpt_open. cdc_msc_hid demo functional.
2019-09-03 00:37:50 -04:00
William D. Jones
d4302dacc5
stm32h7: Fix accidental overwrite of STUPCNT field in DOEPTSIZ register.
2019-09-03 00:25:21 -04:00
William D. Jones
9210167603
stm32h7: Implement dcd_set_address.
2019-09-02 21:00:30 -04:00
William D. Jones
0d0b802ee0
stm32h7: Implement IN and OUT receive for EP0; device descriptor returned.
2019-09-02 19:32:11 -04:00
William D. Jones
f602534536
stm32h7: Implement setup packet events.
2019-09-02 13:34:33 -04:00
William D. Jones
8b165e1024
stm32h7: Ensure FS (and the only) PHY is selected for OTG_HS2.
2019-08-30 22:07:35 -04:00
William D. Jones
7153561984
stm32h7: Enable USB peripheral (device does not enumerate yet).
2019-08-30 21:57:06 -04:00
William D. Jones
0fb9ab9a09
stm32h7: Add empty template cdc_msc_hid example for STM32H743 Nucleo board that compiles.
2019-08-24 12:40:18 -04:00
hathach
ed6fa460e9
stm32 minor change
2019-07-19 10:59:35 +07:00
hathach
73d7ab201e
remove dcd_edpt_busy()
2019-06-10 22:29:18 +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
61ec407752
update license year to 2019
2019-05-14 11:48:05 +07:00
hathach
b28cc6ddb1
added dcd_remote_wakeup() stub for all ports
2019-03-30 14:47:11 +07:00
hathach
1c2beba85c
working on suspend and resume
...
change dcd_init signature
2019-03-29 16:23:00 +07:00
hathach
1e9848d917
replace dcd_edpt_(clear)stall by usbd_edpt_(clear)stall
...
- remove dcd_edpt_stalled() from dcd porting
2019-03-27 16:09:49 +07:00
hathach
4722376654
remove dcd_get_frame_number()
2019-03-27 01:01:48 +07:00
hathach
43eb1a8b16
added stub for dcd_stm32f3
2019-03-22 23:57:56 +07:00
hathach
ba1bea5d53
simplify board API, adding stm32f3 discovery
...
- remove board header since it is not used
2019-03-22 22:06:48 +07:00
hathach
c211ee19dd
migrate license from BSD 3 clause to MIT
2019-03-20 16:11:42 +07:00
hathach
f932cf3854
stm32 update fifo in comment
2019-03-17 15:16:52 +07:00
hathach
5e92d67015
stm32 update TX Fifo for edpt IN, both CDC + MSC work great
...
- call dcd_event_xfer_complete() when enough bytes received
- add dcd_get_frame_number()
2019-03-15 18:43:09 +07:00
hathach
eda56769b9
dcd_set_address include status response, usbd control stall both control in and out
2019-03-13 23:14:48 +07:00
hathach
195a44172a
update stm32 dcd stall control endpoint
2019-03-13 16:54:10 +07:00
William D. Jones
c95ad426c6
stm32f4: Refactor IN and OUT endpoint interrupt handling into their own functions.
2019-02-27 11:01:08 -05:00
William D. Jones
f43161353c
stm32f4: Refactor RX FIFO read into its own function; remove RXFLVL
...
resetting (read only) and masking (no nested ints).
2019-02-27 10:39:37 -05:00
William D. Jones
c51b11f103
Move all paths using "stm" to "st" subdirectories, update config.mk.
2019-02-27 09:15:07 -05:00