embassy-stm32

Crates

git

Versions

stm32l4s5qi

Flavors

Module ospi

Module ospi 

Source
Expand description

OCTOSPI Serial Peripheral Interface

Notes on OCTOSPIM (OctoSPI manager / mux) Some chips have an OCTOSPIM peripheral, such chips, like the STM32H735, have a default mapping as follows:

RM0468 Rev 3: “In the default out-of-reset configuration, all the OCTOSPI1 and OCTOSPI2 signals are mapped, respectively, on Port 1 and on Port 2.”

This mapping is maintained by this implementation in that:

  • OCTOSPIM.P1CR is used for OCTOSPI1.
  • OCTOSPIM.P2CR is used for OCTOSPI2.

However, it is possible to have a bootloader which does not follow this convention and runs your code from memory-mapped flash, which will then break things when you use the functions in this module. In this very special case, use a function that resides in RAM to re-configure the OctoSPI.

Additionally, there are other issues when running code from memory-mapped mode, since the reference manual states:

“The OCTOSPIM configuration can be changed only when all OCTOSPIs are disabled”

this implementation does indeed disable both OCTOSPI peripherals before OCTOSPIM reconfiguration.

Finally, for simplicity, this implementation currently enforces that DQS, NCS and CLK are on the same physical group, however this is not a requirement of the hardware. i.e. using P1_NCS and P1_CLK is ok, but P1_NCS and P2_CLK is not and you will get a compile error if you try. PR’s welcome to change this as needed.

Re-exports§

pub use enums::*;

Modules§

enums
Enums used in Ospi configuration.

Structs§

Config
OPSI driver config.
Ospi
OSPI driver.
TransferConfig
OSPI transfer configuration.

Enums§

OspiError
Error used for Octospi implementation

Traits§

D0Src
D0Src pin trait
D1Src
D1Src pin trait
D2Src
D2Src pin trait
D3Src
D3Src pin trait
D4Src
D4Src pin trait
D5Src
D5Src pin trait
D6Src
D6Src pin trait
D7Src
D7Src pin trait
DQSSrc
DQSSrc pin trait
Instance
OSPI instance trait.
NSSSrc
NSSSrc pin trait
NckSrc
NckSrc pin trait
OctoDma
OctoDma DMA request trait
SckSrc
SckSrc pin trait
Word
Word sizes usable for OSPI.