Skip to content

doc on OTG_FS_* for STM32F4 with standalone OTG_FS_* section #855

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@

Family-specific:

* F4:
* doc on `OTG_FS_*` with standalone `OTG_FS_*` section ([#855])


* G4:
* UART: remove missing fields, derive UART/LPUART from USART (#1247)

Expand All @@ -24,6 +28,8 @@ Family-specific:
* Initial support (#1229)
* Apply exisiting patches

[#855]: https://github.com/stm32-rs/stm32-rs/pull/855

## [v0.16.0] 2025-05-13

* Updated to `svd2rust` 0.36.1, `svdtools` 0.4.6, `form` 0.13.0, use tools binaries for CI (#1174)
Expand Down
367 changes: 367 additions & 0 deletions devices/fields/usb_otg/otg_fs_device_f4.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,367 @@
# Note: if you want to include `OTG_FS_GLOBAL`, `OTG_FS_DEVICE`, `OTG_FS_HOST` and `OTG_FS_PWRCLK`,
# then try include `../peripherals/otg_fs_f4.yaml` into device yaml file instead.
#
# the main frame of this file was generated from stm32f429.svd.patched

DCFG:
PFIVL:
Interval80: [0, "80% of the frame interval"]
Interval85: [1, "85% of the frame interval"]
Interval90: [2, "90% of the frame interval"]
Interval95: [3, "95% of the frame interval"]
DAD:
SendStallDirectly:
[
0,
"Send a STALL handshake on a nonzero-length status OUT transaction and do not send the received OUT packet to the application",
]
SendStallByCondition:
[
1,
"Send the received OUT packet to the application (zero-length or nonzero-length) and send a handshake based on the NAK and STALL bits for the endpoint in the Device endpoint control register",
]
NZLSOHSK:
ByCondition: [0, ""]
SendStall: [1, ""]
DSPD:
FullSpeed: [3, "Full speed (USB 1.1 transceiver clock is 48 MHz)"]

DCTL:
POPRGDNE:
NotDone: [0, ""]
Done: [1, ""]
CGONAK:
Clear: [1, ""]
SGONAK:
Clear: [1, ""]
CGINAK:
Clear: [1, ""]
SGINAK:
Clear: [1, ""]
TCTL:
Disabled: [0, "Test mode disabled"]
JMode: [1, "Test_J mode"]
KMode: [2, "Test_K mode"]
SE0NAK: [3, "Test_SE0_NAK mode"]
Packet: [4, "Test_Packet mode"]
ForceEnable: [5, "Test_Force_Enable"]
GONSTS:
ByCondition: [0, "A handshake is sent based on the FIFO Status and the NAK and STALL bit settings"]
AllNAK:
[
1,
"No data is written to the RxFIFO, irrespective of space availability. Sends a NAK handshake on all packets, except on SETUP transactions. All isochronous OUT packets are dropped",
]
GINSTS:
ByCondition: [0, "A handshake is sent out based on the data availability in the transmit FIFO"]
AllNAK:
[
1,
"A NAK handshake is sent out on all non-periodic IN endpoints, irrespective of the data availability in the transmit FIFO",
]
SDIS:
Normal:
[
0,
"Normal operation. When this bit is cleared after a soft disconnect, the core generates a device connect event to the USB host. When the device is reconnected, the USB host restarts device enumeration",
]
Disconnect: [1, "The core generates a device disconnect event to the USB host"]
RWUSIG:
Clear: [0, ""]
WakeUp: [1, ""]

DSTS:
FNSOF: [0, 0x3fff]
EERR:
Clear: [0, ""]
Error: [1, ""]
ENUMSPD:
FullSpeed: [3, "Full speed (PHY clock is running at 48 MHz)"]
SUSPSTS:
Clear: [0, ""]
Suspended: [1, ""]

DIEPMSK:
NAKM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
INEPNEM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
INEPNMM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
ITTXFEMSK:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
TOM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
EPDM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
XFRCM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]

DOEPMSK:
NAKMSK:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
BERRM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
OUTPKTERRM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
STSPHSRXM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
OTEPDM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
STUPM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
EPDM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]
XFRCM:
Masked: [0, "Masked interrupt"]
Unmasked: [1, "Unmasked interrupt"]

DAINT:
OEPINT: [0, 0xF]
IEPINT: [0, 0xF]

DAINTMSK:
OEPM: [0, 0xF]
IEPM: [0, 0xF]

DVBUSDIS:
VBUSDT: [0, 0xFFFF]

DVBUSPULSE:
DVBUSP: [0, 0xFFF]

DIEPEMPMSK:
INEPTXFEM: [0, 0xF]

DIEPCTL0:
EPENA:
Disabled: [0, ""]
Enabled: [1, "Start transmitting data on the endpoint 0"]
EPDIS:
Clear: [0, ""]
Stop: [1, "Stop transmitting data on an endpoint"]
SNAK:
Clear: [0, ""]
Set: [1, ""]
CNAK:
Set: [1, "A write to this bit clears the NAK bit for the endpoint"]
TXFNUM: [0, 0xF]
STALL:
Clear: [0, "the core clears it when a SETUP token is received for this endpoint"]
Set: [1, ""]
EPTYP: [0, 0]
NAKSTS:
ByCondition: [0, "The core is transmitting non-NAK handshakes based on the FIFO status"]
AllNAK: [1, "The core is transmitting NAK handshakes on this endpoint"]
USBAEP: [1, 1]
MPSIZ:
Byte64: [0, "64 bytes"]
Byte32: [1, "32 bytes"]
Byte16: [2, "16 bytes"]
Byte8: [3, "8 bytes"]

DIEPCTL[1-3]:
EPENA:
Disabled: [0, ""]
Enabled: [1, "Start transmitting data on the endpoint 0"]
EPDIS:
Clear: [0, ""]
Stop: [1, "Stop transmitting data on an endpoint"]
SODDFRM:
OddFrame: [1, "Sets the Even/Odd frame (EONUM) field to Odd frame"]
SD0PID:
Set: [1, "sets the endpoint data PID (DPID) field in this register to DATA0"]
SEVNFRM:
EvenFrame: [1, "Sets the Even/Odd frame (EONUM) field to even frame"]
SNAK:
Set: [1, "sets the NAK bit for the endpoint"]
CNAK:
Set: [1, "A write to this bit clears the NAK bit for the endpoint"]
TXFNUM: [0, 0xF]
STALL:
Clear: [0, ""]
Stall: [1, "Stall all tokens from the USB host to this endpoint"]
EPTYP:
Control: [0, ""]
Isochronous: [1, ""]
Bulk: [2, ""]
Interrupt: [3, ""]
NAKSTS:
ByCondition: [0, "The core is transmitting non-NAK handshakes based on the FIFO status"]
AllNAK: [1, "The core is transmitting NAK handshakes on this endpoint"]
EONUM:
Even: [0, "Even frame"]
Odd: [1, "Odd frame"]
DPID:
Data0: [0, "DATA0"]
Data1: [1, "DATA1"]
USBAEP:
Inactive: [0, "Endpoint is inactive"]
Active: [1, "Endpoint is active"]
MPSIZ: [0, 3]

DOEPCTL0:
EPENA:
Disabled: [0, ""]
Enabled: [1, "Start transmitting data on the endpoint 0"]
EPDIS: [0, 0]
SNAK:
Clear: [0, ""]
Set: [1, ""]
CNAK:
Set: [1, "A write to this bit clears the NAK bit for the endpoint"]
STALL:
Clear: [0, ""]
Set: [1, ""]
SNPM:
Clear: [0, ""]
Set: [1, ""]
EPTYP: [1, 1]
NAKSTS:
ByCondition: [0, "The core is transmitting non-NAK handshakes based on the FIFO status"]
AllNAK: [1, "The core is transmitting NAK handshakes on this endpoint"]
USBAEP: [1, 1]
MPSIZ:
Byte64: [0, "64 bytes"]
Byte32: [1, "32 bytes"]
Byte16: [2, "16 bytes"]
Byte8: [3, "8 bytes"]

DOEPCTL[1-3]:
EPENA:
Disabled: [0, ""]
Enabled: [1, "Start transmitting data on an endpoint"]
EPDIS:
Clear: [0, ""]
Stop: [1, "Stop transmitting data on an endpoint"]
SD1PID:
Set: [1, "sets the endpoint data PID (DPID) field in this register to DATA1"]
SODDFRM:
OddFrame: [1, "Sets the Even/Odd frame (EONUM) field to Odd frame"]
SD0PID:
Set: [1, "sets the endpoint data PID (DPID) field in this register to DATA0"]
SEVNFRM:
EvenFrame: [1, "Sets the Even/Odd frame (EONUM) field to even frame"]
SNAK:
Set: [1, "sets the NAK bit for the endpoint"]
CNAK:
Set: [1, "A write to this bit clears the NAK bit for the endpoint"]
STALL:
Clear: [0, ""]
Stall: [1, "Stall all tokens from the USB host to this endpoint"]
SNPM:
Clear: [0, ""]
Set: [1, ""]
EPTYP:
Control: [0, ""]
Isochronous: [1, ""]
Bulk: [2, ""]
Interrupt: [3, ""]
NAKSTS:
ByCondition: [0, "The core is transmitting non-NAK handshakes based on the FIFO status"]
AllNAK: [1, "The core is transmitting NAK handshakes on this endpoint"]
EONUM:
Even: [0, "Even frame"]
Odd: [1, "Odd frame"]
DPID:
Data0: [0, "DATA0"]
Data1: [1, "DATA1"]
USBAEP:
Inactive: [0, "Endpoint is inactive"]
Active: [1, "Endpoint is active"]
MPSIZ: [0, 0x7FF]

DIEPINT[0-3]:
NAK:
NotNAK: [0, ""]
NAK: [1, ""]
PKTDRPSTS:
NotDropped: [0, ""]
Dropped: [1, ""]
TXFE:
NotEmpty: [0, ""]
Empty: [1, ""]
INEPNE: [0, 1]
INEPNM: [0, 1]
ITTXFE: [0, 1]
TOC:
NotTimeout: [0, ""]
Timeout: [1, ""]
EPDISD:
NotDisabled: [0, ""]
Disabled: [1, ""]
XFRC:
NotCompleted: [0, ""]
Completed: [1, ""]

DOEPINT[0-3]:
NAK:
NotNAK: [0, ""]
NAK: [1, ""]
BERR:
NotBabbled: [0, ""]
Babbled: [1, ""]
OUTPKTERR:
NoError: [0, ""]
Error: [1, ""]
STSPHSRX:
NotReceived: [0, ""]
Received: [1, ""]
OTEPDIS:
NotReceived: [0, ""]
Received: [1, ""]
STUP:
NotCompleted: [0, ""]
Completed: [1, ""]
EPDISD:
NotDisabled: [0, ""]
Disabled: [1, ""]
XFRC:
NotCompleted: [0, ""]
Completed: [1, ""]

DIEPTSIZ0:
PKTCNT: [0, 3]
XFRSIZ: [0, 0x7F]

DOEPTSIZ0:
STUPCNT:
Packet1: [1, "1 packet"]
Packet2: [2, "2 packets"]
Packet3: [3, "3 packets"]
PKTCNT: [0, 1]
XFRSIZ: [0, 0x7F]

DIEPTSIZ[1-3]:
PKTCNT: [0, 0x3FF]
XFRSIZ: [0, 0x1FFF_FFFF]

DTXFSTS[0-3]:
INEPTFSAV: [0, 0xFFFF]

DOEPTSIZ[1-3]:
RXDPID:
Data0: [0, ""]
Data1: [2, ""]
Data2: [1, ""]
MData: [3, ""]
STUPCNT:
Packet1: [1, "1 packet"]
Packet2: [2, "2 packets"]
Packet3: [3, "3 packets"]
PKTCNT: [0, 0x3FF]
XFRSIZ: [0, 0x7_FFFF]
Loading
Loading
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy