Release Notes for STM32 USB-C Power Delivery G0 Device Driver

Copyright © 2018 STMicroelectronics

Purpose

The USB-PD device driver provides a set of functions to manage the physical layer (i.e. low level of the type C state machine and low level of message transport). This includes :

Update History

Main Changes

Maintenance release

Headline
Implementation of OCP recovery procedure
Low Power implementation on USBPD SRC applications
Codespell corrections.
fix(device): briefly enable type c state machine in low power before checking SR register in order for it to be updated
fix(device): change offmode to stop mode in low power context
fix(device): avoid issue when an AMS is interrupted
fix(frs): fix definitnion of FRSTX pins for series using only a common pin

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.31
  • STM32CubeIDE v1.8.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v4.1.0 or higher

Main Changes

Maintenance release

Headline
Update FRS BSP API used for VBUS management
FRS updates (false detections)
MCUAstyle corrections.
Add GitHub readme

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.31
  • STM32CubeIDE v1.8.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v4.1.0 or higher

Main Changes

Maintenance release

Headline
Increase delay between CC lines enabling and CC states check
Update FRS event reception processing (protected under _FRS flag)
FRS updates (Trace, comments)
Optimize two tone merge test on LeCroy (TD.PD.PHY.ALL.05)
Copyright Year correction + CodeSpell corrections.

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.31
  • STM32CubeIDE v1.7.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v4.0.0 or higher

Main Changes

Maintenance release

Headline
Release Note and Licensing model update
Correction of USBPD Core stack version mentioned in Dependencies

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.6
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.31
  • STM32CubeIDE v1.7.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v4.0.0

Main Changes

Maintenance release

Headline
[USBPD][DEVICES][TCPP03] : Enable TCPP03 support in G0 series

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.32.3
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.26
  • STM32CubeIDE v1.2.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v3.2.0

Main Changes

Maintenance release

Headline
[USBPD][G0] Patch to avoid reception validated by GOODCRC during Error Recovery
[USBPD][G0] patch to avoid detection interrupt in the TCPP01 case
[USBPD][G0] Update to manage the low power mode in TCPP01 context

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • STM32CubeIDE v1.2.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v2.6.0

Main Changes

Maintenance release

Headline
Correct misspelled words
Remove condition for CAD_StateMachine prototype
Add USBPDM1_VCC_FEATURE_ENABLED switch from all the series
Provide external API in CAD to allow application to know which RP present in Sink
Source path are missing for MW and Utilities
Add debug code to display the message discarded at PHY level
CAD_AccesorySupport not defined for NO_PD
Increase tCCDebounce as delay removed from application
Integration of the FRS, need core adding FRS callback
Patch to avoid reception validated by GOODCRC during Error Recovery

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.32.3
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • STM32CubeIDE v1.2.0

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v3.2.0

Main Changes

Maintenance release

Headline
CAD power role overwritten in configuration _SRC & _SNK
update to avoid issue in errorrecovery when prower role swap failed
UCPD IT should be not enabled for NoPD configuration
Fix a pb with NRTOS version on Keil environment (Ellisys test failed)
TD.PD.C.E5 patch for NRTOS application
Solve issue in DISCO configuration (SINK not working at all since integration of BSP V2.6)
Ellisys 4.9.4 Source Vconn Swap (Testing Ufp) failed
Solve randomness reloading of CC1 and CC2 values in local variables in CAD_Check_HW() function according to optimizations options, code sequences.
Improve the disconnection timing to avoid issue with Ellisys (4.8.3)
Align new BSP Power interfaces with BSP v2.6
Initialize power in init function to avoid issues with safety

Known Limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.32.3
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7.2

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP. This tag has been used for official certification of G0 + TCPP01 (SINK PPS 100W - TID3036)

Backward compatibility

No compatibility break with previous version

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v2.11.0 or v3.0.0

Main Changes

Maintenance release

Fixed bugs list
Headline
[LOWPOWER] update to allow stop mode in attached cases
[LOWPOWER] improvement link with lowpower management
[LOWPOWER] rework aroun VBUS init/deinit TIMER Init/Deinit
USBPD_PHY_GetRetryTimerValue
Update to improve the state machine : increase timing detection, symetrie VBUSInit, VBUSDeInit
Change switch SRC to _SRC
Conf_template.h updates.
Add DMA LL Struct initialisation function call.
Rework around CC disabled
Add TIMDenit management - add VBUSDenit - add VCONNDeinit - state machine detection optimization
Detach not detected in NRTOS in case of switch from SRC to RA (ellisys)
Update to avoid wrong detection
Trace in case of attachment read the CC state from register
Change return value from uint32_t to uint16_t for HW_IF_PWR_GetVoltage (compatibility with F0)
Add a workaround to fix a glitch issue in NRTOS version
Update exported function description for CAD and timerserver
Update PHY function description
Remove USE_STM32G081B_EVAL_REVx switches

Known limitations

Outstanding bugs list : None

Requirements not met or planned in a forthcoming release : None

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.20.2
  • Keil Microcontroller Development Kit (MDK-ARM) toolchain V5.25
  • System Workbench STM32 (SW4STM32) toolchain V2.7.2

Supported Devices and boards

All STM32G0xx devices embedding USBPD IP

Backward compatibility

This version introduces a compatibility break compared to previous version (HW IF PWR interface update)

Dependencies

This software release is compatible with USB-C Power Delivery Core Stack Library v2.6.0

Main Changes

Maintenance release

Fixed bugs list
Headline
Editorial correction (renaming toggle by toggle)
Wrong parameter for errorrecovery

Known limitations

Development Toolchains and Compilers

Supported Devices and boards

Backward compatibility

Dependencies

Main Changes

Maintenance release

Fixed bugs list
Headline
Update for cubemx integration
Remove BSP reference, now managed through the header file usbpd_devices_conf.h
Remove reference to disco board
Update for error recovery management

Known limitations

Development Toolchains and Compilers

Supported Devices and boards

Backward compatibility

Dependencies

Main Changes

Maintenance release

Fixed bugs list
Headline
LL_UCPD_Init prototype misalignment

Known limitations

Development Toolchains and Compilers

Supported Devices and boards

Backward compatibility

Dependencies

Main Changes

Maintenance release

Fixed bugs list
Headline
Minor update to avoid detection behavior in case of vconn management

Known limitations

Development Toolchains and Compilers

Supported Devices and boards

Backward compatibility

Dependencies

Main Changes

Maintenance release

Fixed bugs list
Headline
Main change add a file usbpd_devices_conf.h to configure the device

Known limitations

Development Toolchains and Compilers

Supported Devices and boards

Backward compatibility

Dependencies

Main Changes

Initial release

Headline
First official version for STM32G0xx device (source code available).

Known limitations

Development Toolchains and Compilers

Supported Devices and boards

Backward compatibility

Dependencies