Copyright © 2017(-2021) STMicroelectronics
The USB-PD core stack library component provides SW implementation of the USB-PD protocol stack, as described in USB-IF specifications. This implementation covers features of modules as :
The library is provided in binary format, comes on top of the STM32Cube HAL driver and offers all the APIs required to develop an USB PD application.
The USB-PD library is developed following the Universal Serial Bus Power Delivery Specification Revision 3.0, V2.0 (August 29, 2019) and Universal Serial Bus type-C Cable and Connector Specification, Revision 2.0 (August, 2019). It has passed successfully the official certification.
Here is the list of references to user documents:
Fixed bugs list
Headline |
---|
Codespell corrections |
NA
NA
Fixed bugs list
Headline |
---|
[OS] Fix THREADX thread ID struct handling |
[OS] Fix define for CMSIS OS v2 |
[PE] Update FRS AMS to manage power requirement |
[PE] Clear RX event before FRS ACCEPT |
[OS] update to kill PE if does not stop executing itself |
[OS] replace OS Free RTOS API with cmsis OS API |
[SNK] After a soft reset we shall wait for source capa |
Fix typo error, add legacy define for USPBPD_WRITE32 |
[DEF] Add defines for STATUS message |
[PE] SOP’ message needs to be sent only if sender is VCONN owner |
[PE] Add the support of the USB4 (message USB_ENTER and DATA_RESET) |
[PE] Revision message must be answered |
[PE] Status message has 6 bytes whereas 7 are mandatory |
[PRL] Update to handle retry and crc timer for more than 2 ports |
[PRL] MessageId is not well incremented after retry |
[PRL] In PD3 GoodCRC is always sent with PD revision 1 |
[CORE] Update the stack to manage 3 ports in parallel |
MCUAstyle, Codespell |
[CORE] Solve CubeIDE compilation warning in OS_CREATE_TASK macro use. |
[Licensing] Update the way to declare licenses in Cube and X-CUBE components |
{PE] SNK AMS HardReset : the USB stack shutdown must be done after VBUS has reached VSAFE_0V |
[PRL] PHY state BUSY is no taken into account |
[UCSI] Add new ID for UCSI trace |
[THREADX] remove pool allocation inside the stack and Add a pool pointer on the InitOS function |
NA
NA
Fixed bugs list
Headline |
---|
Update Release Note |
NA
NA
Fixed bugs list
Headline |
---|
Messages should be discarded when device was about to send HardReset |
Messages must be discarded when VBUS is out of range (like during HR) |
NO_PD mode only, a type C state machine shall runs therefore the CAD task must be created |
Add the data role reset during hard reset AMS |
Astyle update |
OS update around the thread creation |
OS Add the support of the ThreadX RTOS |
Stack state machine issue seen in PHY.E2/E3 |
Codespell update |
OS PE task management improvement to replace create/terminate by suspend/resume |
OS Add file usbpd_os_port.h to manage the OS portability |
Update in Task definition and creation macros for CMSIS RTOS V2 |
OS improvement of the os porting layer |
[CAD] VconnCCIs shall be set for a snk attachment |
When an Hard Reset receive too quickly after a message the hardreset is not done" |
MISRAC2012 update |
NA
NA
Fixed bugs list
Headline |
---|
Update timer in Low Power Mode not correctly set |
NA
NA
Headline |
---|
Enable VCONN support in MIN_SRC library |
[PE] Update to avoid PE lock when called PE_Wakeup inside a critical section |
Add a MIN_DRP configuration in the stack libraries |
[CAD] Hard fault issue detected with CortexM33 (L5) |
[LPM] replace the LPM call by tiny_lpm function |
[PE] new sop’ msge shouldn’t be sent after src_cap till DUT is not in explicit |
[PE] PE_SNK state machine state change abnormally |
Add mechanisme to guarantee the goodcrc timing |
Implement BIST Shared Capacity Test Mode message |
The RP resistor shall be reset to the default value during the HardReset AMS |
[PE] Hard fault in the usbpd stack library if USBPD_PE_GetDataInfo not implemented in the application |
[PE] Role alignment during HardReset |
[PE] TxOK/NG shouldn’t be checked in PD2 |
[DOC] Update to add timeout information inside the MSC |
conflict when PE perform HardReset and CAD a detach |
Rework InitCore function |
MISRA corrections |
Codespell and MCUAStyle corrections |
[DRD] update around the identical data role for SRC and SNK |
[SRC] add a notification USBPD_NOTIFY_STATE_SRC_READY |
[PE] PE_powerrole after power swap |
[CORE] Update to be aligned with latest USB-PD spec (remove the 2nd UFP VDO) |
[PE] Add defines for conditions on PE_Request_Control |
[PE] AMC and AMA deprecated in PD3.0. AMA only used in PD2.0. |
[PE] Soft_reset should be sent prior to HardReset in case of non response of src_cap post PR_swap |
Tests TD4.3.x failed on Lecroy with NO_PD Sink version |
Add a system of hook function to request an action of USB stack |
Avoid double definition with LE16 & LE32 macros used in usbh.def |
NA
Dependencies with TRACER_EMB V1.4.0 or latest
Headline |
---|
Conflict when PE perform HardReset and CAD a detach |
NA
Dependencies with TRACER_EMB V1.4.0
Headline |
---|
SOPSupported not well reset after detach |
DR_swap management issue |
LeCroy new merge test : fail on PRSWAP because tester expecting Hard Reset |
Keep USBPD_CAD_Process API for all the configuration |
PE_datatrole is not aligned to PE_powerRole in DPM_UserCableDetection |
SOFT_RESET sent to SOP1 is not well manage |
cable_reset management to be improved |
Correct misspelled words |
Provide external API in CAD to allow application to know which RP present in Sink |
Should not answer GoodCRC to SOP1 soft reset |
TxOK / TxNG should not be toggled while in PD2 second part to reset the PD capabilities in case of HARDRESET |
Expose RX buffer size to the devices module (to avoid buffer overflow) |
Reduce size of USBPD_SettingsTypeDef in case of NO_PD configuration |
Remove notification USBPD_NOTIF_PROTOCOL_ERROR when stack has received a NAK message to VDM identity request |
Move before resetting VCONN status to be able to correctly switch off VCONN during detach |
Add UFP and VPD VDOs for VDM discovery identity |
Add ErrorRecovery API and remove CAD detection API |
Improve the AMS management to discard any PD send if a message is already present inside the fifo |
Message discarded wrongly while in PD2 |
TEST.PD.VDM.SRC.01 fail on LeCroy |
Add new API USBPD_PHY_FastRoleSwapReception |
Set FRS as a PD3 feature |
Integration of the FRS on SRC and SNK state machine |
Remove trace process |
NA
Dependencies with TRACER_EMB V1.4.0
Headline |
---|
BIST no more enabled in TCPM |
Indicate when trace is lost |
Bad answer to UVDM msge. |
Hard reset not detected by PE during power negotiation |
Update to avoid issue to send a control message |
Add a check on Resistor in case of VBUS lost (manage HardReset Sequence) |
Update to use a new ID for TCPM trace |
For TCPM implementation, updates have been done on FUSB307 component (tag v3.0.0).
Dependencies with TRACER_EMB V1.4.0
Headline |
---|
[CORE] Explicit_Contract information not properly sent to UCPD Monitor on DETACH |
[CORE] Add inside PRL a mechanism to avoid RX buffer overwrite in case of multiple RX |
[PE] Discard shall be done only if there is incoming message |
[TCPM] Update for TCPM compilation |
[PRL] update for TCPC mode |
[PRL] Add an optional mechansime to manage the tx discard and tx abort by UCPD IP |
[PE] Lecroy TEST.PD.VDM.SNK.7 Unrecognized VID in Unstructured VDM |
[PE] TD PD.SRC3.E27 and TD PD.SRC3.E28 - Testing Downstream Port |
[PE] Reset the spec revision + data role in case of HardReset |
[PE] MQP regression on TD.PD.VNDI3.E10 |
[PE-PRL] Add critical section on the cluster management |
[PE] state machine SRC wrongly managed at reset |
[PRL] Rework to avoid usage of reentrant state machine |
[PE] keep GPTimer only for TCPC compilation |
[PE] rework of HardReset + ResetDuringSwap + PE Reset |
[PRL] Code optimizations |
[PRL] remove the disable RX to avoid overwrite of rx buffer |
[CORE][TCPM] Reset Supported SOPs to SOP when disconnect |
Merge of modifications done in usbpd_dpm_core.c files in CubeMx generated projects |
In order to use this version of USBPD Core module, please ensure version of USBPD Device driver module mentions compatibility with this v3.0.0 USBPD Core. (Example for STM32G4xx => use g4_v4.0.0 or higher version of USBPD Device for STM32L5xx => use l5_v2.0.0 or higher version of USBPD Device …
Headline |
---|
correction to manage correstly the SNK wakeup |
[CORE] Add dedicated SNK state machine to handler VPD identification PRL update to manage SOP* |
[CORE] Add PD message In in TCPM mode |
[CORE] Add switch USE_STM32_UTILITY_OS to integrate SEQUENCER utility |
[CORE] Update done to integrate NO PD stack |
[CORE][PE] Do not send SOFT_RESET if NOT_SUPPORTED answered to GET_BATTERY messages |
[CORE][PRL] Extended message GET_BATTERY_CAPA should not be seen as BIST message |
[CORE][TCPM] Manage TX complete alert before RX alert |
[NRTOS] Integration of the utilities SEQ and TIMER_SERVER to handle the non RTOS mode |
[PE] Get Source and sink capability extended message should be sent in DRP |
[PRL] patch TD.PD.VNDI.E4 SOP* Handling |
[TCPC] remove specific management of SOP1, SOP2 and let PE manage |
Update done to integrate NO PD stack |
Handle incoming message in discard case |
AMS not correctly set for GET_SNK_CAPA_EXT message |
Trace impacts timing during unchunk test |
Core library file generates warnings with ARM Compiler V6 |
Headline |
---|
Core library file generates warnings with ARM Compiler V6 |
Product_type_PSD needs to be added |
[CORE][PE] SNK_extended_cap must be answered while SNK or DRP |
[CORE][PE] Increase PE_TSRCRECOVERHARDRESET_MAX timing to be less restrictive during hard reset |
[CORE]Increase Stack size for TRACE task (issue with Nucleo_L5) |
Enabled the switch USBPDCORE_ERROR_RECOVERY for the libraries configuration |
Rework the error recovery + disable RX in error recovery and disable state |
Add library NO_PD with the switch USBPDCORE_LIB_NO_PD |
[CORE] Change TRACE priority and change condition on NRTOS to trig the PE scheduling |
Remove un-needed notification |
Headline |
---|
[USBPD][CORE] Rework of the hard reset procedure to avoid issue with TD.PD.LL.E4 |
[USBPD][CORE] CMSIS OS V2 adaptations |
[USBPD][CORE] Code optimization + notification moved before the swapongoing reset to avoid wrong VBUS detach level |
[USBPD][CORE][PE] GRL issue SNK3.E7 - Do not send request in SinkTXOK is not set |
[USBPD][CORE] Remove dependency with max number of ports defined in the library (USBPD_MAXPORT_COUNT) |
[USBPD][CORE] Manage correctly errors during core stack initialization |
[USBPD][CORE] Remove notification inside function PE_StateMachine_SRC_NegocCapa: avoid duplicate information because it is application decision |
[USBPD][CORE] Few updates to integrate the TCPC G0 |
[USBPD][CORE] [CubeMx-UBSPD] Update generated code to make it compatible with CMSIS-RTOS v2. |
[USBPD][CORE][PE] Fix an issue with Elissys test 4.9.4 |
[USBPD][CORE] Add specific tag for tracing TCPM |
[USBPD][CORE][TCPM] remove Wait for VBUS in TCPM file |
[USBPD][CORE][TCPM] Update to manage G0 as TCPC |
Headline |
---|
[USBPD][CORE] Update for TCPM after integration of TCPC solution on G0 |
[USBPD][CORE] Add management of new LIB : USBPDCORE_LIB_PD3_CONFIG_MINSNK |
[USBPD][DOC] MSC and documentation update |
[USBPD][CORE] Few updates for TCPM |
[USBPD][CORE] Correction for allowing 2 ports in Non RTOS configuration |
[USBPD][CORE] [CubeMx-UBSPD] Update generated code to make it compatible with CMSIS-RTOS v2. |
[USBPD][CORE] Update define name in usbpd_dpm_core.c |
[UCPD][PE] add a flag to support or not Battery feature in the stack |
[USBPD][CORE][PE] calculate correct timing for request in Sink |
[USBPD][CORE] Improve the disconnection timing to avoid issue with Ellisys (4.8.3) - put PE lower prio than CAD and increase mailbox of CAD |
[USBPD][CORE] Change core version |
[USBPD][CORE][PE] Should accept DR swap if no enter in VDM mode (GRL issue) |
[USBPD][1602] Add USBPD_HR_STATUS_START_REQ and USBPD_HR_STATUS_START_ACK inside the Hardreset process of the sink |
[USBPD][CORE] Remove static from TraceQueueId declaration to allow using TRACE in DISCO spy mode |
[USBPD][LOWPOWER] update to allow stop mode in attached cases |
[USBPD][LOWPOWER] add a link between the task and the low power capability |
[USBPD][CORE] Allow to enable only UVDM and not SVDM and/or VCONN_SUPPORT |
[USBPD][CORE] remove the lowpower, must be handled on application side |
[USBPD][CORE][PE] MQP Regression linked to update of cable revision. |
[USBPD][TRACE] wakeup trace process only in task context |
[USBPD][G0] update to manage correctly the SwapOngoing in SRC cases |
[USBPD] reset SwapOngoing to avoid CAD lock |
[USBPD] update to avoid regression link with trace optim |
[USBPD] change the way to exit PE task |
[LOWPOWER] update to avoid issue to manage repetition timing |
Headline |
---|
[LOWPOWER] improve dpm core + add deinit interface to usbpd trace |
[LOWPOWER] add interface to update the PE timer according lowpower time |
[PE] SOP’/SOP’’ should be enabled on PRL only if SOP’/SOP" communication is started (not linked to VCONN source) - Bis |
[PE] rework of cable reset management is needed (vconn must be impacted) |
[PE] Cable information (using SOP prime) only works once |
[PE] Soft reset should be used when extended message received after tSenderResponse |
[PE] Alert data could be overwritten before the PE sent |
[PE] Alert reception can generate an hardfault |
[PE] Enable RX after sending a cable reset |
Communicate in PD2 with cable if no respond to PD3 |
USBPD_HR_STATUS_FAILED needs to be kept |
SINK needs to be able to issue a Hard reset |
[DEF] Missing PPS Power Limited Bit |
[PE] AMS should be started only if message has been sent to port partner |
[PE] PE state machine in should be called immediately during PPS negotiation to enter correctly in ready_wait state |
[PE] Fix few MISRA warnings |
[PE] Add Prorocol_error notification in case of wrong received VDM Discovery identity. |
[PE] remove callback trace for VDM specific (move to dpm_user) |
[TRACE] fix trace length (because of a MISRA update) |
[TRACE] wakeup trace process only in task context |
[TRACE] improve the trace system to free CPU time |
update to manage correctly the SwapOngoing in SRC cases |
reset SwapOngoing to avoid CAD lock |
change the way to exit PE task |
USBPD_DPM_IsPowerReady called in SRC and SNK |
Move PDFU files to another folder |
Outstanding bugs list : None
Requirements not met or planned in a forthcoming release : None
All STM32 devices embedding USBPD IP All STM32 devices implementing USB-PD feature as TCPC
No compatibility break with previous version
No identified dependencies
Headline |
---|
Forbidden word detected in usbpdfu_responder.c (files removed from delivery) |
Headline |
---|
Remove dependencies with CMSIS drivers version |
Headline |
---|
Add prototype definition for HAL_GetTick() (needed for non rtos applications) |
Simplify function USBPD_TRACE_Add which is no more used by GUI |
Update link with rx patch: certification regression |
Update to manage Rx Enable |
Callback USBPD_DPM_HardReset used only in SRC or DRP config and removed unused enum for HR (USBPD_HR_STATUS_MSG_RECEIVED & USBPD_HR_STATUS_FAILED) |
Add switch _TRACE to exclude usbpd_trace.c if not _TRACE not enabled |
Maintenance release
Headline |
---|
[USBPD] renaming inside USBPD_SettingsTypeDef |
[USBPD][CORE][DEF] Wrong value for SVDM ATTENTION message |
[USBPD][CORE][PE] Remove return FAIL if no AMA is supported |
[USBPD][CORE][PE] Need notification when ALERT message has been sent by PE |
[USBPD][CORE][PE] ALERT message shouldn’t be considered as AMS message |
[USBPD][CORE][PRL] Add debug switch _PRL_DEBUG_DISABLE_BIST_TRACE (not enabled) to disable BIST message in the traces |
[USBPD][CORE][PE] Minor updates due to compilation issue when __DEBUG_LEVEL is set to 2 |
[USBPD][CORE][PE] Disable RX during SNK hard reset sequence |
[USBPD][CORE][PE] SRC3.E25 fail: issue in chunking tests |
[USBPD][CORE][PE] Collision avoidance once an Explicit Contract is in place |
[USBPD][CORE][DEF] TD.PD.SNK3.E15 Status Fields Check - add power status field in SCB structure |
[USBPD][G0] update to allow the treatment of an incoming message when waiting for sinkTxNG timeout |
[USBPD][G0] increase tsendertimer to 29ms and update the HardReset state change to use notimeout |
Maintenance release
Headline |
---|
[USBPD][CORE] Increase PE Stack size for Authentication configs |
[G0] correction retry patch |
[G0] manage retry according the current spec revision value |
[G0] Patch ellisys test TD.PD.SRC3.E26 Soft reset sent regardless of Rp value |
[G0] report gotomin + CtrlMessage capability from G0 |
[PRL] PD revision should be set to 0 in GoodCRC message only if PD2.0 |
add the cable reset tracking inside the tracer |
API update for the following function USBPD_VDM_InformSVID : remove the return which is not tested inside PE USBPD_VDM_InformMode : remove the return which is not tested inside PE USBPD_VDM_InformModeEnter : remove the return which is not tested inside PE USBPD_VDM_SendAttention : remove the return which is not tested inside PE USBPD_VDM_SendSpecific : remove the return which is not tested inside PE USBPD_VDM_InformSpecific : remove the return which is not tested inside PE USBPD_VDM_SendUVDM : remove the return which is not tested inside PE |
Correct wrong destination state in SNK state machine (case PE_SNK_REQUEST_GETSNKCAP_WAITANSWER) : go to PE_SNK_SEND_SOFT_RESET instead of PE_SRC_SEND_SOFT_RESET in case of timeout. |
increase stack size to avoid hardfault with SW4STM32 |
Solve one issue in PRL_Received() in case of extended messages. Extended Header was not properly retrieved from RX buffer. |
[3.0] Add battery status management |
[3.0] Authentication : Modifications after end of PlugFest : - Use NOTIMEOUT state update from PE_Sxx_EXTENDEDMESSAGE_SENDING_COMPLETE to PE_Sxx_EXTENDED_WAITRESPONSE in order to avoid losing next chunk request. - Addition of SOPType input parameter in USBPD_PE_SendExtendedMessage() to allow authentication messages to be carried on SOP’ - Extension of PE trace buffer from 20 to 30 (useful when chunking is used). |
[3.0] Correction of TD.PD.SRC3.E25 and TD.PD.SNK3.E25 (Receiving Chunked Extended Message) |
[3.0] fix ellisys issue regarding answering NOT_SUPPORTED for SRC_CAPA_EXT in SNK config + NON_SUPPORTED if VDM is not enabled (but test VNDI3.E3 is still failed) |
[3.0] Update SetData and GetData info to provide size in bytes and no more words |
[3.0][PE] Send Not_supported message for DR_SWAP & PR_SWAP in case of SRC only (MQP issues) |
[Core] : Solve critical section issue met on G0 Cut2.0 validation : SRC cap transmitted again despite reception of GoodCRC of previous sending. A critical section has been added before moving in RETRY state. |
[Core] : Update in CMSIS include policy to fit with CMSIS core v4.5 or v5 |
[CORE] : update Vconn Support switch name to _VCONN_SUPPORT (as in Application side). |
[CORE] Add missing Extended Message handling in case of SECURITY RESPONSE message type |
[CORE] Align combination of compilation switches used in Collision avoidance functions between H and C |
[CORE] check return on USBPD_DPM_UserInit function |
[CORE] Merge back modifications done for G0 FW v0.9.0 delivery (Stack size updates for PE + CAD, Release_Notes.html) |
[CORE] Move GUI init in GUI_interface module |
[CORE] remove Disable RX during hard reset sequence (fix pb with hard reset on FUSB307 when RX is disabled) |
[CORE] Need to have ‘MAX’ function as the ‘MIN’ already present |
[CORE] MQP TD.PD.SRC.E12 Test Failed |
[CORE] Update done for MISRAC2012 |
[CORE][DEF] TD.PD.SNK3.E15 Status Fields Check - add power status field in SCB structure |
[CORE][DEF] Wrong value for SVDM ATTENTION message |
[CORE][PE/DPMCORE] : End of Data Role Swap procedure implementation. Solving of SoftReset issue after Datarole swap executed. |
[CORE][PE] Answer to SVDM message only if PE_RespondsToDiscovSOP is enabled |
[CORE][PE] Change state when TPPS timer expires (directly go through PE_SEND_REQUEST) + update lib version to v2.3.0 |
[CORE][PE] Disable RX during SNK hard reset sequence |
[CORE][PE] Remove return FAIL if no AMA is supported |
[CORE][PE] Send not supported when VDM enabled in the stack but not in the VIF (DISCO) |
[CORE][PE] Need notification when ALERT message has been sent by PE |
[CORE][PE] Collision avoidance once an Explicit Contract is in place |
[CORE][PE] SRC3.E25 fail: issue in chunking tests |
[CORE][PE] ALERT message shouldn’t be considered as AMS message |
[CORE][PE] Update for memory optimizations |
[CORE][PRL] Restore default value for PRL_RETRY_TIMER_VALUE in case of Keil or SW4STM32 |
[CORE][PRL] remove 2nd call of USBPD_PHY_IsResistor_SinkTxOk |
[CORE][PRL] Remove interface ‘USBPD_PHY_ChannelIdleAfterBusy between PHY & PRL’ |
[DPM] Remove semaphore to send message to DPM mailbox |
[DPM] Update DPM param and settings to save Src Extended capa |
[G0] Correct reset of response timer in few state machine |
[G0] Fix Ellisys issue SRC3.E29 |
[G0] increase tsendertimer to 29ms and update the HardReset state change to use notimeout |
[G0] remove GUI and User application init, move inside main.c |
[G0] separate the emb tracer and usbpd application |
[G0] update to allow the treatment of an incoming message when waiting for sinkTxNG timeout |
[G0][PPS] Move start of the timer PE_SRCPPSCommTimer in PE_SRC_READY state |
[G0]Move PE_UnchunkSupport & PE_FastRoleSwapSupport in PD3 structure + add PE_FirmUpdateResponseSupport |
[GUI] Add field in DPM_Settings structure |
[GUI] add PD3 structure |
[GUI] Add USBPD_TRACE_SendNotification API |
[GUI] Integrate _GUI_INTERFACE |
[GUI] Move GUI processing from Core to GUI utilities |
[GUI] Save Data in FLASH |
[MB1357] Add check on VBUS when start SNK |
[PD30] Fix ellisys issues (BATTERY_CAPA + SECURITY REQUEST) + add flag PE_SecuResponseSupport |
[PD30] Modifications done to be able to send GET_SRC_CAPA_EXT message |
[PDO] : 1st step in PDO initialisation rework : Addition of defines usad in APDO values building. |
[PE/PRL] Add interfaces to enable / disable RX + modify callbacks for VDM message ATTENTION |
[PE] Add macro for manage not support or reject message depending |
[PE] Add not supported by GET_SNK_CAPA for SRC |
[PE] Align SNK_READY to SRC_READY state |
[PE] Change VDM specific callbacks |
[PE] fix an issue with SRC extended message |
[PE] Fix Ellisys issue TD.PD.VNDI3.E3 VDM Identity |
[PE] Increase PE_TSNKWAITCAP from 500 to 600 to decrease probability of the test TD4.3.4 but test still failed :-( |
[PE] Need to reset PE variables after hard reset |
[PE] Put again PE_TSNKWAITCAP to 500 as regressions!!! |
[PE] Reset AMS in SRC_READY state |
[PE] Reset PE_HardResetCounter when SRC capa has been received |
[PE] Few modifications to be done in PE stack after review |
[PE] Issue in mode off when product presents default Rp |
[PPS] Fix issues on Ellisys (SCR3.E28, E30, E31…) |
[PPS] Fix issues on Ellisys (SNK.E13, E14) |
[PPS]Reduce value of PE_TPPSTIMEOUT to 14s |
[STACK] Align with modifications done onb G0 |
[STACK] Align with new inclusion model done on G0 |
[VCONN] Add USBPD_PE_EvaluateVconnSwap function + change switch from _VCONN_SWAP to _VCONN_SUPPORT |
[VCONN] Evaluate VConn swap in VCONN substate machine |
[VDM] Add check on VDM init function |
[VDM] Change USBPD_VDM_UserInit interface + update functions descriptions |
[VDM] Fix issues on VDM identity and reply to specific |
[VDM] reset PD_Request when Attention message is sent |
[VDM] Wrong return used for USBPD_VDM_UserInit |
[VCONN] start to implement Vconn swap. SNK mode only |
[VDM] Solve MQP PROT-R3-DISCOV test failed on VDM3.E1 |
add a function ptr to handle automatic update of the trace if NULL means no trace |
Add support of VCONN and some PD3.0 features (Manufacturer info…) |
considered REJECTED/NOT SUPPORTED valid in case of GETSOURCE_CAP done by source |
correction for gotomin scenario |
correction for TD.PD.SNK3.E12 |
correction for VDM3.E2 |
correction patch retry |
correction TD.PD.SRC.E3 |
DataRole swap test correction |
disable message reception during HARD reset AMS |
Increase PE stack size following crash observed on MQP and Ellisys. |
Lecroy patch TDA 2.2.6 2.2.9 |
Lecroy patch TDA.2.2.9 Get Source Cap Receive test |
Merge “[USBPD][PE] Reset PE_HardResetCounter when SRC capa has been received” |
Modifications for VNDI.E7 (Sec Msgs). Still failed on MQP due to GetExtendedSRCCaps request sent by us, but question sent to MQP). |
move CC line assignment before calling DPM_UserCableDetection |
Move trace init after creation of the trace threads |
Notification done with 1 param |
Notification done with only one parameter |
patch TD.PD.DPU.E2 Status Update Command |
PD3.0 manufacturer info management |
PRL alignment with GO |
remove inside PE dpm dependence + lib regeneration |
remove patch to disable RX incompatible with hard reset management |
[DPM] VBUS should be kept enabled when NonPD capable with Rd is present |
Add error recory management inside USBPD stack |
Update PDO typedefs and constants for reflecting Rev3.0 specs (addition of Unchunk support in PDO Source Fixed, and FRS required current in PDO Sink Fixed). |
update USBPD_PE_Request_CtrlMessage to handle more CTRL message |
Vconn Swap and PD3 integration (Core) |
Headline |
---|
Addition of CORE stack API in chm file : _CORE_RELEASE_User_Manual.chm |
Maintenance release
Headline |
---|
Add the check of the value returned by USBPD_DPM_UserInit. |
Maintenance release
Headline |
---|
Corrections done link with tester update Ellisys, MQP, GRP and Lecroy. |
Code improvements |
Maintenance release
Headline |
---|
Correction for compilation warning under Keil IDE. |
Maintenance release
Headline |
---|
Alignment between USBPD Core stack delivered in STM32Cube firmware packages and X-Cube USBPD Expansion packages. |
Addition of TCPM feature support. Dedicated libs provided. |
Libraries provided for IAR v7, IAR v8, Keil and SW4STM32. |
Maintenance fixes. |
Maintenance release
Headline |
---|
IAR lib compiled with IAR v8.20.2 |
Maintenance release
Headline |
---|
Add library for SW4STM32 patch |
Maintenance release
Headline |
---|
PD3.0 Full. |
Maintenance release
Headline |
---|
Patch to accept message not supported in case of data role swap |
Patch to abort AMS power role swap in case of rejection |
Maintenance release
Headline |
---|
First official version as element of a STM32Cube FW package. |
Rework in order to enable support of PD3.0 (not activated yet). |
Addition of trace system. |
Reorganization between Core and User/application related code parts and functionalities. |
Maintenance release
Headline |
---|
USBPD Core Stack version delivery for X-CUBE-USBPD V2.0.0. |
Code clean-up and code comments review. Code documentation added (Doxygen). Compilation switch renaming, … |
Addition of PD3.0 revision support (specific libs created) |
Rework of Application capabilities definition by user : Now handled in new structures to be personalized by user (usbpd_dpm_conf.h, usbpd_dpm_user.h and usbpd_pdo_defs.h files located on User side could be updated). |
New set of libraries delivered : |
PD2 Config_1 : Standard support of PD2.0 (Snk, Source or DRP, 1 or 2 ports, PR Swap, DR Swap, VCONN management support, …) |
PD2 Full : equal to PD2 Config_1 + support of VDM feature. |
PD3 Config_1 : Standard support of PD3.0 (Snk, Source or DRP, 1 or 2 ports, PR Swap, DR Swap, VCONN management support, support of specific PD3.0 features as ALERT, SRC_CAPA_EXT, STATUS, BATTERY_STATUS, BATTERY_CAPA, MANU_INFO, COUNTRY_MSG messages, support of Extended messages,…) |
PD3 Full : equal to PD3 Config_1 + support of VDM feature. |
CAD rework with management of event queue. |
Several updates done for fixing issues discovered during continuous integration of Core Stack vs official Conformance test tools (MQP, Ellisys, LeCroy). |
Addition of Trace feature (for debugging purpose). |
Maintenance release
Headline |
---|
Updates after compliance testing completion on STUSB1602 Device |
Implementation of Error Recovery management |
Code clean, solving of some compilation warnings in SW4STM32. |
[VDM] Addition of API for starting USB Billboard driver. |
Maintenance release
Headline |
---|
Second official version after USBPD library split into Core and Device parts. This item only refers to Core stack and is device independent. |
Updates for support of STUSB1602 Device |
Maintenance release
Headline |
---|
First official version after USBPD library split into Core and Device parts. This item only refers to Core stack and is device independent. |
Main Changes compared to USB-C Power Delivery Library delivered in previous versions |
Addition of VDM support |
Various corrections in regards with test updates and test additions in USBPD Conformance test tools |
Move PDO definition/capabilities management inside DPM/PWR_IF |
Remove HW dependency with Timerserver (Timerserver feature now handled in Device) |