RM0444 Rev 5 1327/1390
RM0444 USB Type-C™ / USB Power Delivery interface (UCPD)
1346
DMA (Direct Memory Access) can be enabled for reception by setting the RXDMAEN bit in
the UCPD_CR register.
Whenever a Rx message is expected:
• Program a DMA receive operation (and spare buffer) a little longer than the maximum
possible message (length depends on extended message support).
• After receiving RXORDDET, DMA operation starts working in the background.
• On reception of RXMSGEND interrupt, read RXPAYSZ.
• Double-check RXPAYSZ vs. the number of DMA Rx bytes (must correspond but DMA
read of RXDR is slightly after RXDR gets last byte).
• Process the DMA Rx buffer.
• Prepare next Rx DMA buffer as soon as possible in order to be ready.
38.5 UCPD low-power modes
A summary of low-power modes is shown below in Table 239.
The UCPD is able to wakeup the MCU from Stop mode when it recognizes a relevant event,
either:
• Type-C event relating to a change in the voltage range seen on either of the CC lines,
visible in TYPEC_VSTATE_CCx
• Power delivery receive message with an ordered set matching those filtered according
to RXORDSETEN[8:0], visible by reading RXORDSET
Wakeup from Stop mode is enabled by setting the WUPEN bit in the UCPD_CFG2 register.
At UCPD level three types of event requiring kernel clock activity may occur during Stop
mode:
• Activity on the analog PHY voltage threshold detectors which could later be confirmed
to be a stable change between voltage ranges defined in the Type-C specification
• Activity on Power Delivery BMC receiver (coming from the selected CC line) which
could potentially generate an Rx message event (that is, RXORDSET) later
• Activity on Power Delivery FRS detector which could potentially generate an FRS
signaling detection event (that is, FRSEVT) later
Table 239. Effect of low power modes on the UCPD
Mode Description
Sleep No effect
Stop
Detection of events (Type-C, BMC Rx, FRS detection) remains operational and
can wake up the MCU.
Standby
UCPD is not operating, and cannot wake up the MCU. Pull-downs remain active
if configured.
Unpowered Dead battery pull-downs remain active.