<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<IP xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance"
    ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd"
    xmlns="http://mcd.rou.st.com/modules.php?name=mcu"
    DBVersion="V4.0"
    IPType="middleware"
    IpGroup="Middleware"
    Name="USBPD"
    Version="usbpd_STM32G47_v1.3_Cube">

    <About>USBPD : Universal Serial Bus Power Delivery</About>

    <!-- Generic RefParameters for USBPD -->
    <RefParameter Name="Instance" Comment="Instance" Type="" DefaultValue="USBPD" Visible="false"/>

    <RefParameter Name="Core_Version" DefaultValue="3.0.2" Comment="Core" Group="USBPD Versions" Type="String" />
    <RefParameter Name="Device_Version" DefaultValue="4.0.1" Comment="Device" Group="USBPD Versions" Type="String" />

    <RefParameter Name="USBPD_NVIC_Request" Comment="USBPD request UCPD1 NVIC" Group="USBPD needs" Type="list" DefaultValue="USBPD request IT for UCPD1" >
        <Condition Expression="USBPD_P0U1 &amp; !(UCPD1_2_IRQn | UCPD1_IRQn)" Diagnostic="USBPD request IT for UCPD1"/>
    </RefParameter>
    <RefParameter Name="USBPD_NVIC_Request" Comment="USBPD request UCPD1 NVIC" Group="USBPD needs" Type="string" DefaultValue="enabled" >
        <Condition Expression="USBPD_P0U1 &amp; (UCPD1_2_IRQn | UCPD1_IRQn)" Diagnostic="IT for UCPD1 is enabled"/>
    </RefParameter>
    <RefParameter Name="USBPD_NVIC_Request" Comment="USBPD request UCPD IPs NVIC" Group="USBPD needs" Type="string" DefaultValue="enabled" />

    <RefParameter Name="USBPD_DMA_Request" Comment="USBPD request UCPD1 DMA" Group="USBPD needs" Type="string" DefaultValue="enabled" >
        <Condition Expression="(USBPD_P0U1 &amp; !USBPD_P1U2) &amp; (UCPD1_RX_DMA_Channel &amp; UCPD1_TX_DMA_Channel)" Diagnostic="UCPD1 DMA Channels defined"/>
    </RefParameter>
    <RefParameter Name="USBPD_DMA_Request" Comment="USBPD request UCPD1 DMA" Group="USBPD needs" Type="list" DefaultValue="No UCPD1_RX and UCPD1_TX DMA Channel" >
        <Condition Expression="(USBPD_P0U1 | USBPD_P1U1) &amp; (!UCPD1_RX_DMA_Channel &amp; !UCPD1_TX_DMA_Channel)" Diagnostic="No UCPD1_RX and UCPD1_TX DMA Channel"/>
    </RefParameter>
    <RefParameter Name="USBPD_DMA_Request" Comment="USBPD request UCPD1 DMA" Group="USBPD needs" Type="list" DefaultValue="No UCPD1_TX DMA Channel" >
        <Condition Expression="(USBPD_P0U1 | USBPD_P1U1) &amp; !UCPD1_TX_DMA_Channel" Diagnostic="No UCPD1_TX DMA Channel"/>
    </RefParameter>
    <RefParameter Name="USBPD_DMA_Request" Comment="USBPD request UCPD1 DMA" Group="USBPD needs" Type="list" DefaultValue="No UCPD1_RX DMA Channel" >
        <Condition Expression="(USBPD_P0U1 | USBPD_P1U1) &amp; !UCPD1_RX_DMA_Channel" Diagnostic="No UCPD1_RX DMA Channel"/>
    </RefParameter>
    <RefParameter Name="USBPD_DMA_Request" Comment="USBPD request UCPD IPs DMA" Group="USBPD needs" Type="string" DefaultValue="enabled" />

    <!-- RefParameters for usbpd_dpm_conf.h -->
    <RefParameter Name="USBPD_NbPorts" Comment="Number of USBPD ports" Type="list" Group="USB IF and Manufacturer ID" TabName="DPM Core Parameters" DefaultValue="2" Visible="false">
        <PossibleValue Value="2" Comment="2"/>
        <Condition Expression="(USBPD_P1U1|USBPD_P1U2)" Diagnostic="Both instances of UCPD must be active"/>
    </RefParameter>
    <RefParameter Name="USBPD_NbPorts" Comment="Number of USBPD ports" Type="list" Group="USB IF and Manufacturer ID" TabName="DPM Core Parameters" DefaultValue="1" Visible="false">
        <PossibleValue Value="1" Comment="1"/>
    </RefParameter>
    <RefParameter Name="USBPD_VID" Comment="Vendor ID" Type="stringRW" Group="USB IF and Manufacturer ID" TabName="DPM Core Parameters" DefaultValue="0x0483">
        <Description>
            The Vendor ID is assigned by the USB Implementers Forum.&lt;br&gt;
            The Vendor ID for STMicroelectronics is 0x0483.
        </Description>
    </RefParameter>
    <RefParameter Name="USBPD_PID" Comment="Product ID" Type="stringRW" Group="USB IF and Manufacturer ID" TabName="DPM Core Parameters" DefaultValue="0x0002">
        <Description>The Product ID is assigned by the USB Implementers Forum.</Description>
    </RefParameter>
    <RefParameter Name="USBPD_XID" Comment="XID" Type="stringRW" Group="USB IF and Manufacturer ID" TabName="DPM Core Parameters" DefaultValue="0xF0000003">
        <Description>Outward facing identifier used to determine certification status of a PD product.</Description>
    </RefParameter>

    <RefParameter Name="GUI_V1_8_0_OR_NEWER" Comment="GUI_VERS" Type="string" DefaultValue="true" Visible="false">
        <Condition Expression="GUI_INTERFACE:IntVersion >= 180" Diagnostic=""/>
        <Description>GUI Version embedded in FW package.</Description>
    </RefParameter>
    <RefParameter Name="GUI_V1_8_0_OR_NEWER" Comment="GUI_VERS" Type="string" DefaultValue="false" Visible="false"/>

    <RefParameter Name="USBPD_REV30_SUPPORT" Type="string" Comment="" DefaultValue="true" Visible="false">
        <Condition Expression="USBPD_SPEC_REV3" Diagnostic="Rev3"/>
    </RefParameter>
    <RefParameter Name="USBPD_REV30_SUPPORT" Type="string" Comment="" DefaultValue="false" Visible="false"/>
    <RefParameter Name="TRACE" Type="string" Comment="" DefaultValue="true" Visible="false">
        <Condition Expression="USBPD_TRACEREMB" Diagnostic="TRACER_EMB activated"/>
    </RefParameter>
    <RefParameter Name="TRACE" Type="string" Comment="" DefaultValue="false" Visible="false"/>
    <RefParameter Name="DRP" Type="string" Comment="" DefaultValue="true" Visible="false">
        <Condition Expression="DualRoleUCPD1" Diagnostic="DRP activated"/>
    </RefParameter>
    <RefParameter Name="DRP" Type="string" Comment="" DefaultValue="false" Visible="false"/>
    <RefParameter Name="SRC" Type="string" Comment="" DefaultValue="true" Visible="false">
        <Condition Expression="SourceUCPD1" Diagnostic="SRC activated"/>
    </RefParameter>
    <RefParameter Name="SRC" Type="string" Comment="" DefaultValue="false" Visible="false"/>
    <RefParameter Name="SNK" Type="string" Comment="" DefaultValue="true" Visible="false">
        <Condition Expression="SinkUCPD1" Diagnostic="SNK activated"/>
    </RefParameter>
    <RefParameter Name="SNK" Type="string" Comment="" DefaultValue="false" Visible="false"/>

    <!-- DPM_Settings for port 0 -->
    <RefParameter Name="PE_SupportedSOP_P0" Comment="SOP" Type="list" Group="Start of Packet Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_SUPPORTED_SOP_SOP">
        <PossibleValue Value="USBPD_SUPPORTED_SOP_NONE" Comment="Not supported" Condition="!Possible"/>
        <PossibleValue Value="USBPD_SUPPORTED_SOP_SOP" Comment="Supported"/>
        <Description>SOP is supported by default</Description>
    </RefParameter>
    <RefParameter Name="PE_SupportedSOPapos_P0" Comment="SOP'" Type="list" Group="Start of Packet Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_SUPPORTED_SOP_NONE">
        <PossibleValue Value="USBPD_SUPPORTED_SOP_NONE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_SUPPORTED_SOP_SOP1" Comment="Supported"/>
        <Description>SOP' is not supported by default</Description>
    </RefParameter>
    <RefParameter Name="PE_SupportedSOPquot_P0" Comment="SOP&quot;" Type="list" Group="Start of Packet Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_SUPPORTED_SOP_NONE">
        <PossibleValue Value="USBPD_SUPPORTED_SOP_NONE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_SUPPORTED_SOP_SOP2" Comment="Supported"/>
        <Description>SOP" is not supported by default</Description>
    </RefParameter>
    <RefParameter Name="PE_SupportedSOPaposDBG_P0" Comment="SOP' debug" Type="list" Group="Start of Packet Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_SUPPORTED_SOP_NONE">
        <PossibleValue Value="USBPD_SUPPORTED_SOP_NONE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_SUPPORTED_SOP_SOP1_DEBUG" Comment="Supported"/>
        <Description>SOP' debug is not supported by default</Description>
    </RefParameter>
    <RefParameter Name="PE_SupportedSOPquotDBG_P0" Comment="SOP&quot; debug" Type="list" Group="Start of Packet Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_SUPPORTED_SOP_NONE">
        <PossibleValue Value="USBPD_SUPPORTED_SOP_NONE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_SUPPORTED_SOP_SOP2_DEBUG" Comment="Supported"/>
        <Description>SOP" debug is not supported by default</Description>
    </RefParameter>

    <RefParameter Name="PE_SpecRevision_P0" Comment="Specification revision value" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_SPECIFICATION_REV2">
        <!--PossibleValue Value="USBPD_SPECIFICATION_REV1" Comment="Revision 1.0"/-->
        <PossibleValue Value="USBPD_SPECIFICATION_REV2" Comment="Revision 2.0" Semaphore="USBPD_SPEC_REV2"/>
        <PossibleValue Value="USBPD_SPECIFICATION_REV3" Comment="Revision 3.0" Semaphore="USBPD_SPEC_REV3"/>
    </RefParameter>
    <RefParameter Name="PE_DefaultRole_P0" Comment="Default port role" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_PORTPOWERROLE_SNK">
        <!--PossibleValue Value="USBPD_CABLEPLUG_FROMDFPUFP" Comment="Message originated from a DFP or UFP" Condition="!(DualRoleUCPD1)"/-->
        <PossibleValue Value="USBPD_PORTPOWERROLE_SNK" Comment="Sink" Condition="!((SinkUCPD1|DualRoleUCPD1) &amp; USBPD_P0U1)"/>
        <!--PossibleValue Value="USBPD_CABLEPLUG_FROMCABLEPLUG" Comment="Message originated from a Cable Plug" Condition="!(DualRoleUCPD1)"/-->
        <PossibleValue Value="USBPD_PORTPOWERROLE_SRC" Comment="Source" Condition="!((SourceUCPD1|DualRoleUCPD1) &amp; USBPD_P0U1)"/>
        <Description>
            When the UCPD instance is initialized to sink then the port role will always be sink.&lt;br&gt;
            When the UCPD instance is initialized to source then the port role will always be source.&lt;br&gt;
            When the UCPD instance is initialized to dual role then the port role can either be source or sink. By default it will be initialized to sink.
        </Description>
    </RefParameter>
    <RefParameter Name="PE_RoleSwap_P0" Comment="Port role swap" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported" Condition="(DualRoleUCPD1 &amp; USBPD_P0U1)" Diagnostic="The UCPD instance has been configured as dual role"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported" Condition="((SinkUCPD1|SourceUCPD1) &amp; USBPD_P0U1)" Diagnostic="The UCPD instance has not been configured as dual role"/>
    </RefParameter>
    <RefParameter Name="PE_DataSwap_P0" Comment="Data role swap" Type="list" Group="Port 0 Parameters" TabName="User Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_DR_Swap_To_DFP_P0" Comment="Data role swap to DFP" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_TRUE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_DR_Swap_To_UFP_P0" Comment="Data role swap to UFP" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_TRUE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_VconnSwap_P0" Comment="VCONN swap" Type="list" Group="Port 0 Parameters" TabName="User Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_VDMSupport_P0" Comment="Vendor defined messages" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_RespondsToDiscovSOP_P0" Comment="Discover Identity response" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_AttemptsDiscovSOP_P0" Comment="Discover Identity sent" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="PE_PingSupport_P0" Comment="Ping" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Expression="((DualRoleUCPD1|SourceUCPD1) &amp; USBPD_P0U1)" Diagnostic="Only available if the UCPD instance has been configured as source or dual role"/>
    </RefParameter>
    <RefParameter Name="PE_PingSupport_P0" Comment="Ping" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="PE_CapscounterSupport_P0" Comment="Caps counter" Type="list" Group="Port 0 Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>

    <RefParameter Name="PE_UnchunkSupport_P0" Comment="Unchunk mode" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="PE_UnchunkSupport_P0" Comment="Unchunk mode" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="PE_FastRoleSwapSupport_P0" Comment="Fast role swap" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3" Diagnostic="Only available if the specification revision value is set to 3.0"/>
    </RefParameter>
    <RefParameter Name="PE_FastRoleSwapSupport_P0" Comment="Fast role swap" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_GetPPSStatus_Supported_P0" Comment="PPS message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_GetPPSStatus_Supported_P0" Comment="PPS message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_SrcCapaExt_Supported_P0" Comment="Source Capabilities Extended message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_SrcCapaExt_Supported_P0" Comment="Source Capabilities Extended message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_Alert_Supported_P0" Comment="Alert message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported" Condition="Is_GetStatus_Supported_P0=USBPD_TRUE"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/> <!-- Supported if Is_GetStatus_Supported_P0 is TRUE -->
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_Alert_Supported_P0" Comment="Alert message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_GetStatus_Supported_P0" Comment="Status message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_GetStatus_Supported_P0" Comment="Status message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_GetManufacturerInfo_Supported_P0" Comment="Manufacturer Info message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_GetManufacturerInfo_Supported_P0" Comment="Manufacturer Info message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_GetCountryCodes_Supported_P0" Comment="Country Codes message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_GetCountryCodes_Supported_P0" Comment="Country Codes message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_GetCountryInfo_Supported_P0" Comment="Country Info message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_GetCountryInfo_Supported_P0" Comment="Country Info message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_SecurityRequest_Supported_P0" Comment="Security Response message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_SecurityRequest_Supported_P0" Comment="Security Response message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_FirmUpdateRequest_Supported_P0" Comment="Firmware update Response message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_FirmUpdateRequest_Supported_P0" Comment="Firmware update Response message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="Is_SnkCapaExt_Supported_P0" Comment="Sink Capabilities Extended message" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_TRUE" Visible="false">
        <PossibleValue Value="USBPD_TRUE" Comment="IOCCompatibility"/>
    </RefParameter>
    <RefParameter Name="Is_GetBattery_Supported_P0" Comment="Get Battery Capabitity and Status messages" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Diagnostic="Only available if the specification revision value is set to 3.0" Expression="PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3"/>
    </RefParameter>
    <RefParameter Name="Is_GetBattery_Supported_P0" Comment="Get Battery Capabitity and Status messages" Type="list" Group="PD Revision 3.0 specific parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>

    <RefParameter Name="VDM_ModalOperation_P0" Comment="Product support Modes" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="MODAL_OPERATION_SUPPORTED">
        <PossibleValue Value="MODAL_OPERATION_NONSUPP" Comment="Not supported"/>
        <PossibleValue Value="MODAL_OPERATION_SUPPORTED" Comment="Supported"/>
        <Condition Diagnostic="Only available if VDMs are supported" Expression="PE_VDMSupport_P0=USBPD_TRUE"/>
    </RefParameter>
    <RefParameter Name="VDM_ModalOperation_P0" Comment="Product support Modes" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="MODAL_OPERATION_NONSUPP" Visible="false">
        <PossibleValue Value="MODAL_OPERATION_NONSUPP" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="VDM_bcdDevice_SOP_P0" Comment="Vendor ID assigned product release version" Type="stringRW" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="0xAAAA">
        <Condition Diagnostic="Only available if VDMs are supported" Expression="PE_VDMSupport_P0=USBPD_TRUE"/>
    </RefParameter>
    <RefParameter Name="VDM_bcdDevice_SOP_P0" Comment="Vendor ID assigned product release version" Type="stringRW" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="0xAAAA" Visible="false"/>
    <RefParameter Name="VDM_USBHostSupport_P0" Comment="USB Host enumerating" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="USB_NOTCAPABLE">
        <PossibleValue Value="USB_NOTCAPABLE" Comment="Not capable"/>
        <PossibleValue Value="USB_CAPABLE" Comment="Capable"/>
        <Condition Diagnostic="Only available if VDMs are supported" Expression="PE_VDMSupport_P0=USBPD_TRUE"/>
    </RefParameter>
    <RefParameter Name="VDM_USBHostSupport_P0" Comment="USB Host enumerating" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="USB_NOTCAPABLE" Visible="false">
        <PossibleValue Value="USB_NOTCAPABLE" Comment="Not capable"/>
    </RefParameter>
    <RefParameter Name="VDM_USBDeviceSupport_P0" Comment="USB Device enumerating" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="USB_NOTCAPABLE">
        <PossibleValue Value="USB_NOTCAPABLE" Comment="Not capable"/>
        <PossibleValue Value="USB_CAPABLE" Comment="Capable"/>
        <Condition Diagnostic="Only available if VDMs are supported" Expression="PE_VDMSupport_P0=USBPD_TRUE"/>
    </RefParameter>
    <RefParameter Name="VDM_USBDeviceSupport_P0" Comment="USB Device enumerating" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="USB_NOTCAPABLE" Visible="false">
        <PossibleValue Value="USB_NOTCAPABLE" Comment="Not capable"/>
    </RefParameter>
    <RefParameter Name="VDM_ProductTypeUFPorCP_P0" Comment="UFP or CP product type" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="PRODUCT_TYPE_UNDEFINED">
        <PossibleValue Value="PRODUCT_TYPE_UNDEFINED" Comment="Undefined"/>
        <PossibleValue Value="PRODUCT_TYPE_HUB" Comment="PDUSB Hub (UFP)"/>
        <PossibleValue Value="PRODUCT_TYPE_PERIPHERAL" Comment="PDUSB Host (UFP)"/>
        <PossibleValue Value="PRODUCT_TYPE_PASSIVE_CABLE" Comment="Passive Cable (Cable Plug)"/>
        <PossibleValue Value="PRODUCT_TYPE_ACTIVE_CABLE" Comment="Active Cable (Cable Plug)"/>
        <PossibleValue Value="PRODUCT_TYPE_AMA" Comment="Alternate Mode Adapter (AMA) (UFP)"/>
        <Condition Diagnostic="Only available if VDMs are supported" Expression="PE_VDMSupport_P0=USBPD_TRUE"/>
    </RefParameter>
    <RefParameter Name="VDM_ProductTypeUFPorCP_P0" Comment="UFP or CP product type" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="PRODUCT_TYPE_UNDEFINED" Visible="false">
        <PossibleValue Value="PRODUCT_TYPE_UNDEFINED" Comment="Undefined"/>
    </RefParameter>
    <RefParameter Name="VDM_ProductTypeDFP_P0" Comment="DFP product type" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="PRODUCT_TYPE_UNDEFINED">
        <PossibleValue Value="PRODUCT_TYPE_UNDEFINED" Comment="Undefined"/>
        <PossibleValue Value="PRODUCT_TYPE_HOST" Comment="PDUSB Host (DFP)" Condition="!(PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3)"/>
        <PossibleValue Value="PRODUCT_TYPE_POWER_BRICK" Comment="Power Brick (DFP)" Condition="!(PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3)"/>
        <PossibleValue Value="PRODUCT_TYPE_AMC" Comment="Alternate Mode Controller (AMC) (DFP)" Condition="!(PE_SpecRevision_P0=USBPD_SPECIFICATION_REV3)"/>
        <Condition Diagnostic="Only available if VDMs are supported" Expression="PE_VDMSupport_P0=USBPD_TRUE"/>
    </RefParameter>
    <RefParameter Name="VDM_ProductTypeDFP_P0" Comment="DFP product type" Type="list" Group="Vendor Defined Message parameters" TabName="Stack Port 0 Parameters" DefaultValue="PRODUCT_TYPE_UNDEFINED" Visible="false">
        <PossibleValue Value="PRODUCT_TYPE_UNDEFINED" Comment="Undefined"/>
    </RefParameter>

    <RefParameter Name="CAD_RoleToggle_P0" Comment="CAD role toggle" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
        <Condition Expression="(DualRoleUCPD1 &amp; USBPD_P0U1)" Diagnostic="Only available if the UCPD instance has been configured as dual role"/>
    </RefParameter>
    <RefParameter Name="CAD_RoleToggle_P0" Comment="CAD role toggle" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE" Visible="false">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="CAD_DefaultResistor_P0" Comment="CAD default resistor" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="0x00u">
        <PossibleValue Value="0x00u" Comment="Default USB Power"/>
        <PossibleValue Value="0x01u" Comment="USB Type-C Current @ 1.5 A"/>
        <PossibleValue Value="0x02u" Comment="USB Type-C Current @ 3 A"/>
        <Condition Expression="((DualRoleUCPD1|SourceUCPD1) &amp; USBPD_P0U1)" Diagnostic="Only available if the UCPD instance has been configured as source or dual role"/>
    </RefParameter>
    <RefParameter Name="CAD_DefaultResistor_P0" Comment="CAD default resistor" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="0x00u" Visible="false">
        <PossibleValue Value="0x00u" Comment="Default USB Power"/>
    </RefParameter>
    <RefParameter Name="CAD_TryFeature_P0" Comment="CAD try feature" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="0">
        <PossibleValue Value="0" Comment="Not supported"/>
        <PossibleValue Value="1" Comment="Try Sink"/>
        <PossibleValue Value="2" Comment="Try Source"/>
        <Condition Expression="CAD_RoleToggle_P0=USBPD_TRUE" Diagnostic="Only available if the CAD role toggle is supported"/>
    </RefParameter>
    <RefParameter Name="CAD_TryFeature_P0" Comment="CAD try feature" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="0" Visible="false">
        <PossibleValue Value="0" Comment="Not supported"/>
    </RefParameter>
    <RefParameter Name="CAD_AccesorySupport_P0" Comment="CAD accessory" Type="list" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="USBPD_FALSE">
        <PossibleValue Value="USBPD_FALSE" Comment="Not supported"/>
        <PossibleValue Value="USBPD_TRUE" Comment="Supported"/>
    </RefParameter>
    <RefParameter Name="CAD_SRCToggleTime_P0" Comment="CAD source toggle time" Type="integer" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="40" Unit="ms">
        <Condition Expression="CAD_RoleToggle_P0=USBPD_TRUE" Diagnostic="Only available if the CAD role toggle is supported"/>
    </RefParameter>
    <RefParameter Name="CAD_SRCToggleTime_P0" Comment="CAD source toggle time" Type="integer" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="0" Unit="ms" Visible="false"/>
    <RefParameter Name="CAD_SNKToggleTime_P0" Comment="CAD sink toggle time" Type="integer" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="40" Unit="ms">
        <Condition Expression="CAD_RoleToggle_P0=USBPD_TRUE" Diagnostic="Only available if the CAD role toggle is supported"/>
    </RefParameter>
    <RefParameter Name="CAD_SNKToggleTime_P0" Comment="CAD sink toggle time" Type="integer" Group="Cable Detection Parameters" TabName="Stack Port 0 Parameters" DefaultValue="0" Unit="ms" Visible="false"/>

    <!-- RefParameters for usbpd_pdo_defs.h -->
    <RefParameter Name="PORT0_NB_SOURCEPDO" Comment="Number of Source PDOs for port 0" Type="integer" TabName="PDO General Definitions" Min="1" Max="7" DefaultValue="1">
        <Condition Diagnostic="" Expression="(USBPD_P0U1 &amp; (SourceUCPD1|DualRoleUCPD1))"/>
    </RefParameter>
    <RefParameter Name="PORT0_NB_SOURCEPDO" Comment="Number of Source PDOs for port 0" Type="integer" TabName="PDO General Definitions" Min="0" Max="0" DefaultValue="0" Visible="false" />
    <RefParameter Name="PORT0_SOURCE_PDO1" Type="hex" Comment="port 0 Source PDO 1" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x2201912C">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 0"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO1" Type="hex" Comment="port 0 Source PDO 1" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SOURCE_PDO2" Type="hex" Comment="port 0 Source PDO 2" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 1"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO2" Type="hex" Comment="port 0 Source PDO 2" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SOURCE_PDO3" Type="hex" Comment="port 0 Source PDO 3" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 2"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO3" Type="hex" Comment="port 0 Source PDO 3" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SOURCE_PDO4" Type="hex" Comment="port 0 Source PDO 4" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 3"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO4" Type="hex" Comment="port 0 Source PDO 4" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SOURCE_PDO5" Type="hex" Comment="port 0 Source PDO 5" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 4"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO5" Type="hex" Comment="port 0 Source PDO 5" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SOURCE_PDO6" Type="hex" Comment="port 0 Source PDO 6" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 5"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO6" Type="hex" Comment="port 0 Source PDO 6" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SOURCE_PDO7" Type="hex" Comment="port 0 Source PDO 7" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SOURCEPDO &gt; 6"/>
    </RefParameter>
    <RefParameter Name="PORT0_SOURCE_PDO7" Type="hex" Comment="port 0 Source PDO 7" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>

    <RefParameter Name="PORT0_NB_SINKPDO" Comment="Number of Sink PDOs for port 0" Type="integer" TabName="PDO General Definitions" Min="1" Max="7" DefaultValue="1">
        <Condition Diagnostic="" Expression="(USBPD_P0U1 &amp; (SinkUCPD1|DualRoleUCPD1))"/>
    </RefParameter>
    <RefParameter Name="PORT0_NB_SINKPDO" Comment="Number of Sink PDOs for port 0" Type="integer" TabName="PDO General Definitions" Min="0" Max="0" DefaultValue="0" Visible="false" />
    <RefParameter Name="PORT0_SINK_PDO1" Type="hex" Comment="port 0 Sink PDO 1" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x26019096">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 0"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO1" Type="hex" Comment="port 0 Sink PDO 1" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SINK_PDO2" Type="hex" Comment="port 0 Sink PDO 2" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 1"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO2" Type="hex" Comment="port 0 Sink PDO 2" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SINK_PDO3" Type="hex" Comment="port 0 Sink PDO 3" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 2"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO3" Type="hex" Comment="port 0 Sink PDO 3" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SINK_PDO4" Type="hex" Comment="port 0 Sink PDO 4" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 3"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO4" Type="hex" Comment="port 0 Sink PDO 4" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SINK_PDO5" Type="hex" Comment="port 0 Sink PDO 5" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 4"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO5" Type="hex" Comment="port 0 Sink PDO 5" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SINK_PDO6" Type="hex" Comment="port 0 Sink PDO 6" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 5"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO6" Type="hex" Comment="port 0 Sink PDO 6" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>
    <RefParameter Name="PORT0_SINK_PDO7" Type="hex" Comment="port 0 Sink PDO 7" TabName="PDO General Definitions" Min="0x00000000" Max="0xFFFFFFFF" DefaultValue="0x00000000">
        <Condition Diagnostic="define more PDOs" Expression="PORT0_NB_SINKPDO &gt; 6"/>
    </RefParameter>
    <RefParameter Name="PORT0_SINK_PDO7" Type="hex" Comment="port 0 Sink PDO 7" TabName="PDO General Definitions" Min="0x00000000" Max="0x00000000" DefaultValue="0x00000000" Visible="false"/>

    <!--  RefParameters for usbpd_bsp_hw.c -->
    <RefParameter Name="USBPD_PORT0" Comment="UCPD Instance" Type="string" Group="Port Configuration" TabName="Stack Port 0 Parameters" DefaultValue="UCPD1">
        <Condition Diagnostic="UCPD1 used for USBPD port 0" Expression="USBPD_P0U1"/>
    </RefParameter>
    <RefParameter Name="USBPD_PORT0" Comment="UCPD Instance" Type="string" Group="Port Configuration" TabName="Stack Port 0 Parameters" DefaultValue="" Visible="false"/>

    <!--  RefParameters for usbpd_devices_conf.h -->
    <!--  RefParameters for USBPD generic -->
    <RefParameter Name="USBPDenableClock" DefaultValue="" Comment="" Type="list" Visible="false">
        <PossibleValue Value="LL_AHB1_GRP1_EnableClock(LL_AHB1_GRP1_PERIPH_DMA1)" Comment=""/>
    </RefParameter>
    <!--  RefParameters for DMA Channel informations -->
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_1" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel1 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_2" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel2 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_3" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel3 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel3"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_4" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel4 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel4"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_5" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel5 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel5"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_6" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel6 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel6"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_7" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel7 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel7"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA1_Channel_8" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA1_Channel8 used by UCPD1_RX" Expression="UCPD1_RX_DMA1_Channel8"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_1" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel1 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_2" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel2 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_3" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel3 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel3"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_4" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel4 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel4"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_5" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel5 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel5"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_6" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel6 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel6"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_7" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel7 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel7"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="UCPD1_RX_DMA2_Channel_8" Type="string" Comment="DMA Request for UCPD1_RX">
        <Condition Diagnostic="DMA2_Channel8 used by UCPD1_RX" Expression="UCPD1_RX_DMA2_Channel8"/>
    </RefParameter>
    <RefParameter Name="UCPD1_RX_DMA_CHANNEL" DefaultValue="" Type="string" Comment="No DMA Request for UCPD1_RX"/>

    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_1" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel1 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_2" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel2 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_3" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel3 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel3"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_4" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel4 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel4"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_5" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel5 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel5"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_6" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel6 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel6"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_7" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel7 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel7"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA1_Channel_8" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA1_Channel8 used by UCPD1_TX" Expression="UCPD1_TX_DMA1_Channel8"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_1" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel1 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_2" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel2 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_3" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel3 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel3"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_4" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel4 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel4"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_5" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel5 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel5"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_6" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel6 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel6"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_7" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel7 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel7"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="UCPD1_TX_DMA2_Channel_8" Type="string" Comment="DMA Request for UCPD1_TX">
        <Condition Diagnostic="DMA2_Channel8 used by UCPD1_TX" Expression="UCPD1_TX_DMA2_Channel8"/>
    </RefParameter>
    <RefParameter Name="UCPD1_TX_DMA_CHANNEL" DefaultValue="" Type="string" Comment="No DMA Request for UCPD1_TX"/>

    <RefParameter Name="USBPD_PORT0_RX_DMA_CHANNEL" Comment="DMA Request RX for UCPD Port 0" Type="string" Group="Port Configuration" TabName="Stack Port 0 Parameters" DefaultValue="+USBPD:UCPD1_RX_DMA_CHANNEL" Unit="" Visible="true">
        <Condition Diagnostic="UCPD1 used for USBPD port 0" Expression="USBPD_P0U1"/>
    </RefParameter>
    <RefParameter Name="USBPD_PORT0_RX_DMA_CHANNEL" Comment="DMA Request RX for UCPD Port 0" Type="string" Group="Port Configuration" TabName="Stack Port 0 Parameters" DefaultValue="" Unit="" Visible="false"/>
    <RefParameter Name="USBPD_PORT0_TX_DMA_CHANNEL" Comment="DMA Request TX for UCPD Port 0" Type="string" Group="Port Configuration" TabName="Stack Port 0 Parameters" DefaultValue="+USBPD:UCPD1_TX_DMA_CHANNEL" Unit="" Visible="true">
        <Condition Diagnostic="UCPD1 used for USBPD port 0" Expression="USBPD_P0U1"/>
    </RefParameter>
    <RefParameter Name="USBPD_PORT0_TX_DMA_CHANNEL" Comment="DMA Request TX for UCPD Port 0" Type="string" Group="Port Configuration" TabName="Stack Port 0 Parameters" DefaultValue="" Unit="" Visible="false"/>

    <!--  RefParameters for GPIO informations -->
    <RefParameter Name="UCPD1_FRSTX1_PIN" DefaultValue="P_A_2_AF_14" Type="string" Comment="FRSTX1 for UCPD1 on PA2,AF14">
        <Condition Diagnostic="FRSTX1 for UCPD1 on PA2" Expression="PA2_UCPD1_FRSTX1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX1_PIN" DefaultValue="P_A_5_AF_14" Type="string" Comment="FRSTX1 for UCPD1 on PA5,AF14">
        <Condition Diagnostic="FRSTX1 for UCPD1 on PA5" Expression="PA5_UCPD1_FRSTX1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX1_PIN" DefaultValue="P_A_7_AF_14" Type="string" Comment="FRSTX1 for UCPD1 on PA7,AF14">
        <Condition Diagnostic="FRSTX1 for UCPD1 on PA7" Expression="PA5_UCPD1_FRSTX1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX1_PIN" DefaultValue="P_B_0_AF_14" Type="string" Comment="FRSTX1 for UCPD1 on PB0,AF14">
        <Condition Diagnostic="FRSTX1 for UCPD1 on PB0" Expression="PB0_UCPD1_FRSTX1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX1_PIN" DefaultValue="P_C_12_AF_14" Type="string" Comment="FRSTX1 for UCPD1 on PC12,AF14">
        <Condition Diagnostic="FRSTX1 for UCPD1 on PC12" Expression="PC12_UCPD1_FRSTX1"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX1_PIN" DefaultValue="" Type="string" Comment="No FRSTX1 for UCPD1"/>

    <RefParameter Name="UCPD1_FRSTX2_PIN" DefaultValue="P_A_2_AF_14" Type="string" Comment="FRSTX2 for UCPD1 on PA2,AF14">
        <Condition Diagnostic="FRSTX2 for UCPD1 on PA2" Expression="PA2_UCPD1_FRSTX2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX2_PIN" DefaultValue="P_A_5_AF_14" Type="string" Comment="FRSTX2 for UCPD1 on PA5,AF14">
        <Condition Diagnostic="FRSTX2 for UCPD1 on PA5" Expression="PA5_UCPD1_FRSTX2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX2_PIN" DefaultValue="P_A_7_AF_14" Type="string" Comment="FRSTX2 for UCPD1 on PA7,AF14">
        <Condition Diagnostic="FRSTX2 for UCPD1 on PA7" Expression="PA5_UCPD1_FRSTX2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX2_PIN" DefaultValue="P_B_0_AF_14" Type="string" Comment="FRSTX2 for UCPD1 on PB0,AF14">
        <Condition Diagnostic="FRSTX2 for UCPD1 on PB0" Expression="PB0_UCPD1_FRSTX2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX2_PIN" DefaultValue="P_C_12_AF_14" Type="string" Comment="FRSTX2 for UCPD1 on PC12,AF14">
        <Condition Diagnostic="FRSTX2 for UCPD1 on PC12" Expression="PC12_UCPD1_FRSTX2"/>
    </RefParameter>
    <RefParameter Name="UCPD1_FRSTX2_PIN" DefaultValue="" Type="string" Comment="No FRSTX2 for UCPD1"/>

    <RefParameter Name="USBPD_PORT0_FRSTX1_PIN" Comment="FRSTX1 for USB port 0" Type="string" Group="Gpio Configuration" TabName="Stack Port 0 Parameters" DefaultValue="+USBPD:UCPD1_FRSTX1_PIN" Unit="" Visible="false">
        <Condition Diagnostic="UCPD1 used for USBPD port 0" Expression="USBPD_P0U1"/>
    </RefParameter>
    <RefParameter Name="USBPD_PORT0_FRSTX1_PIN" Comment="FRSTX1 for USB port 0" Type="string" Group="Gpio Configuration" TabName="Stack Port 0 Parameters" DefaultValue="" Unit="" Visible="false"/>

    <RefParameter Name="USBPD_PORT0_FRSTX2_PIN" Comment="FRSTX2 for USB port 0" Type="string" Group="Gpio Configuration" TabName="Stack Port 0 Parameters" DefaultValue="+USBPD:UCPD1_FRSTX2_PIN" Unit="" Visible="false">
        <Condition Diagnostic="UCPD1 used for USBPD port 0" Expression="USBPD_P0U1"/>
    </RefParameter>
    <RefParameter Name="USBPD_PORT0_FRSTX2_PIN" Comment="FRSTX2 for USB port 0" Type="string" Group="Gpio Configuration" TabName="Stack Port 0 Parameters" DefaultValue="" Unit="" Visible="false"/>

    <!--  RefParameters for NVIC informations -->
    <RefParameter Name="UCPD1_IRQ" DefaultValue="UCPD1_IRQn" Type="string" Comment="External Interrupt number for UCPD1">
        <Condition Diagnostic="External Interrupt number for UCPD1" Expression="UCPD1_IRQn"/>
    </RefParameter>
    <RefParameter Name="UCPD1_IRQ" DefaultValue="" Type="string" Comment="External Interrupt number for UCPD1"/>

    <RefParameter Name="USBPD_PORT0_IRQ" Comment="External Interrupt number for USB port 0" Type="string" Group="Gpio Configuration" TabName="Stack Port 0 Parameters" DefaultValue="+USBPD:UCPD1_IRQ" Unit="" Visible="false">
        <Condition Diagnostic="External Interrupt number for USB port 0" Expression="USBPD_P0U1"/>
    </RefParameter>
    <RefParameter Name="USBPD_PORT0_IRQ" Comment="External Interrupt number for USB port 0" Type="string" Group="Gpio Configuration" TabName="Stack Port 0 Parameters" DefaultValue="" Unit="" Visible="false"/>

    <!--  RefParameters for USBPD timersserver -->
    <RefParameter Name="TIMinstance" DefaultValue="" Comment="" Type="list" Visible="false">
        <PossibleValue Value="TIM1" Comment="" Condition="!USBPD_TIM1"/>
        <PossibleValue Value="TIM2" Comment="" Condition="!USBPD_TIM2"/>
        <PossibleValue Value="TIM3" Comment="" Condition="!USBPD_TIM3"/>
        <PossibleValue Value="TIM6" Comment="" Condition="!USBPD_TIM6"/>
        <PossibleValue Value="TIM7" Comment="" Condition="!USBPD_TIM7"/>
        <PossibleValue Value="TIM13" Comment="" Condition="!USBPD_TIM13"/>
        <PossibleValue Value="TIM14" Comment="" Condition="!USBPD_TIM14"/>
        <PossibleValue Value="TIM15" Comment="" Condition="!USBPD_TIM15"/>
        <PossibleValue Value="TIM16" Comment="" Condition="!USBPD_TIM16"/>
        <PossibleValue Value="TIM17" Comment="" Condition="!USBPD_TIM17"/>
    </RefParameter>
    <RefParameter Name="TIMinterrupt" DefaultValue="" Comment="" Type="list" Visible="false">
        <PossibleValue Value="TIM1_BRK_UP_TRG_COM_IRQn" Comment="" Condition="!USBPD_TIM1"/>
        <PossibleValue Value="TIM2_IRQn" Comment="" Condition="!USBPD_TIM2"/>
        <PossibleValue Value="TIM3_IRQn" Comment="" Condition="!USBPD_TIM3"/>
        <PossibleValue Value="TIM6_IRQn" Comment="" Condition="!USBPD_TIM6"/>
        <PossibleValue Value="TIM7_IRQn" Comment="" Condition="!USBPD_TIM7"/>
        <PossibleValue Value="TIM14_IRQn" Comment="" Condition="!USBPD_TIM14"/>
        <PossibleValue Value="TIM15_IRQn" Comment="" Condition="!USBPD_TIM15"/>
        <PossibleValue Value="TIM16_IRQn" Comment="" Condition="!USBPD_TIM16"/>
        <PossibleValue Value="TIM17_IRQn" Comment="" Condition="!USBPD_TIM17"/>
    </RefParameter>
    <RefParameter Name="TIMenableClock" DefaultValue="" Comment="" Type="list" Visible="false">
        <PossibleValue Value="LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM1)" Comment="" Condition="!USBPD_TIM1"/>
        <PossibleValue Value="LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2)" Comment="" Condition="!USBPD_TIM2"/>
        <PossibleValue Value="LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM3)" Comment="" Condition="!USBPD_TIM3"/>
        <PossibleValue Value="LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM6)" Comment="" Condition="!USBPD_TIM6"/>
        <PossibleValue Value="LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM7)" Comment="" Condition="!USBPD_TIM7"/>
        <PossibleValue Value="LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM14)" Comment="" Condition="!USBPD_TIM14"/>
        <PossibleValue Value="LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM15)" Comment="" Condition="!USBPD_TIM15"/>
        <PossibleValue Value="LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM16)" Comment="" Condition="!USBPD_TIM16"/>
        <PossibleValue Value="LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_TIM17)" Comment="" Condition="!USBPD_TIM17"/>
    </RefParameter>
    <RefParameter Name="TIMdisableClock" DefaultValue="" Comment="" Type="list" Visible="false">
        <PossibleValue Value="LL_APB2_GRP1_DisableClock(LL_APB2_GRP1_PERIPH_TIM1)" Comment="" Condition="!USBPD_TIM1"/>
        <PossibleValue Value="LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_TIM2)" Comment="" Condition="!USBPD_TIM2"/>
        <PossibleValue Value="LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_TIM3)" Comment="" Condition="!USBPD_TIM3"/>
        <PossibleValue Value="LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_TIM6)" Comment="" Condition="!USBPD_TIM6"/>
        <PossibleValue Value="LL_APB1_GRP1_DisableClock(LL_APB1_GRP1_PERIPH_TIM7)" Comment="" Condition="!USBPD_TIM7"/>
        <PossibleValue Value="LL_APB2_GRP1_DisableClock(LL_APB2_GRP1_PERIPH_TIM14)" Comment="" Condition="!USBPD_TIM14"/>
        <PossibleValue Value="LL_APB2_GRP1_DisableClock(LL_APB2_GRP1_PERIPH_TIM15)" Comment="" Condition="!USBPD_TIM15"/>
        <PossibleValue Value="LL_APB2_GRP1_DisableClock(LL_APB2_GRP1_PERIPH_TIM16)" Comment="" Condition="!USBPD_TIM16"/>
        <PossibleValue Value="LL_APB2_GRP1_DisableClock(LL_APB2_GRP1_PERIPH_TIM17)" Comment="" Condition="!USBPD_TIM17"/>
    </RefParameter>

    <RefParameter Name="USBPD_CoreLib" DefaultValue="USBPDCORE_LIB_PD3_CONFIG_1" Type="list" Comment="USBPD_CoreLib" Visible="false">
        <Condition Expression="USBPD_PD3CFG1" Diagnostic="USBPDCORE_LIB_PD3_CONFIG_1"/>
        <PossibleValue Value="USBPDCORE_LIB_PD3_CONFIG_1" Comment="USBPDCORE_LIB_PD3_CONFIG_1"/>
    </RefParameter>
    <RefParameter Name="USBPD_CoreLib" DefaultValue="USBPDCORE_LIB_PD3_CONFIG_MINSRC" Type="list" Comment="USBPD_CoreLib" Visible="false">
        <Condition Expression="USBPD_PD3MINSRC" Diagnostic="USBPDCORE_LIB_PD3_CONFIG_MINSRC"/>
        <PossibleValue Value="USBPDCORE_LIB_PD3_CONFIG_MINSRC" Comment="USBPDCORE_LIB_PD3_CONFIG_MINSRC"/>
    </RefParameter>
    <RefParameter Name="USBPD_CoreLib" DefaultValue="USBPDCORE_LIB_PD3_CONFIG_MINSNK" Type="list" Comment="USBPD_CoreLib" Visible="false">
        <Condition Expression="USBPD_PD3MINSNK" Diagnostic="USBPDCORE_LIB_PD3_CONFIG_MINSNK"/>
        <PossibleValue Value="USBPDCORE_LIB_PD3_CONFIG_MINSNK" Comment="USBPDCORE_LIB_PD3_CONFIG_MINSNK"/>
    </RefParameter>
    <RefParameter Name="USBPD_CoreLib" DefaultValue="USBPDCORE_LIB_NO_PD" Type="list" Comment="USBPD_CoreLib" Visible="false">
        <Condition Expression="USBPD_PD3TYPEC" Diagnostic="USBPDCORE_LIB_NO_PD"/>
        <PossibleValue Value="USBPDCORE_LIB_NO_PD" Comment="USBPDCORE_LIB_NO_PD"/>
    </RefParameter>
    <RefParameter Name="USBPD_CoreLib" DefaultValue="USBPDCORE_LIB_PD3_FULL" Type="list" Comment="USBPD_CoreLib" Visible="false">
        <PossibleValue Value="USBPDCORE_LIB_PD3_FULL" Comment="USBPDCORE_LIB_PD3_FULL"/>
    </RefParameter>

    <RefParameter Name="USBPD_StateMachine" DefaultValue="true" Type="bool" Comment="USBPD_StateMachine" Visible="false">
        <Condition Expression="USBPD_STATEMACHINE" Diagnostic="USBPD_StateMachine"/>
    </RefParameter>
    <RefParameter Name="USBPD_StateMachine" DefaultValue="false" Type="bool" Comment="USBPD_StateMachine" Visible="false">
    </RefParameter>

    <!-- RefModes for USBPD -->
    <RefMode Name="USBPD_Common">
        <ConfigForMode>USBPD_Init</ConfigForMode>

        <Parameter Name="Core_Version"/>
        <Parameter Name="Device_Version"/>

        <Parameter Name="USBPD_NVIC_Request"/>
        <Parameter Name="USBPD_DMA_Request"/>

        <Parameter Name="USBPD_NbPorts"/>
        <Parameter Name="USBPD_VID"/>
        <Parameter Name="USBPD_PID"/>
        <Parameter Name="USBPD_XID"/>
        <Parameter Name="GUI_V1_8_0_OR_NEWER"/>

        <Parameter Name="USBPD_REV30_SUPPORT"/>
        <Parameter Name="TRACE"/>
        <Parameter Name="DRP"/>
        <Parameter Name="SRC"/>
        <Parameter Name="SNK"/>

        <Parameter Name="USBPD_CoreLib"/>
        <Parameter Name="USBPD_StateMachine"/>

        <Parameter Name="USBPDenableClock"/>

        <Parameter Name="TIMinstance"/>
        <Parameter Name="TIMinterrupt"/>
        <Parameter Name="TIMenableClock"/>
        <Parameter Name="TIMdisableClock"/>

    </RefMode>

    <RefMode Name="USBPD_P0" BaseMode="USBPD_Common">
        <!-- Instance 0 -->
        <Parameter Name="USBPD_PORT0"/>
        <Parameter Name="USBPD_PORT0_RX_DMA_CHANNEL"/>
        <Parameter Name="USBPD_PORT0_TX_DMA_CHANNEL"/>
        <Parameter Name="USBPD_PORT0_FRSTX1_PIN"/>
        <Parameter Name="USBPD_PORT0_FRSTX2_PIN"/>
        <Parameter Name="USBPD_PORT0_IRQ"/>

        <Parameter Name="PORT0_NB_SOURCEPDO"/>
        <Parameter Name="PORT0_SOURCE_PDO1"/>
        <Parameter Name="PORT0_SOURCE_PDO2"/>
        <Parameter Name="PORT0_SOURCE_PDO3"/>
        <Parameter Name="PORT0_SOURCE_PDO4"/>
        <Parameter Name="PORT0_SOURCE_PDO5"/>
        <Parameter Name="PORT0_SOURCE_PDO6"/>
        <Parameter Name="PORT0_SOURCE_PDO7"/>
        <Parameter Name="PORT0_NB_SINKPDO"/>
        <Parameter Name="PORT0_SINK_PDO1"/>
        <Parameter Name="PORT0_SINK_PDO2"/>
        <Parameter Name="PORT0_SINK_PDO3"/>
        <Parameter Name="PORT0_SINK_PDO4"/>
        <Parameter Name="PORT0_SINK_PDO5"/>
        <Parameter Name="PORT0_SINK_PDO6"/>
        <Parameter Name="PORT0_SINK_PDO7"/>

        <Parameter Name="PE_SupportedSOP_P0"/>
        <Parameter Name="PE_SupportedSOPapos_P0"/>
        <Parameter Name="PE_SupportedSOPquot_P0"/>
        <Parameter Name="PE_SupportedSOPaposDBG_P0"/>
        <Parameter Name="PE_SupportedSOPquotDBG_P0"/>
        <Parameter Name="PE_SpecRevision_P0"/>
        <Parameter Name="PE_DefaultRole_P0"/>
        <Parameter Name="PE_RoleSwap_P0"/>
        <Parameter Name="PE_DataSwap_P0"/>
        <Parameter Name="PE_DR_Swap_To_DFP_P0"/>
        <Parameter Name="PE_DR_Swap_To_UFP_P0"/>
        <Parameter Name="PE_VconnSwap_P0"/>
        <Parameter Name="PE_VDMSupport_P0"/>
        <Parameter Name="PE_RespondsToDiscovSOP_P0"/>
        <Parameter Name="PE_AttemptsDiscovSOP_P0"/>
        <Parameter Name="PE_PingSupport_P0"/>
        <Parameter Name="PE_CapscounterSupport_P0"/>
        <Parameter Name="PE_UnchunkSupport_P0"/>
        <Parameter Name="PE_FastRoleSwapSupport_P0"/>
        <Parameter Name="Is_GetPPSStatus_Supported_P0"/>
        <Parameter Name="Is_SrcCapaExt_Supported_P0"/>
        <Parameter Name="Is_Alert_Supported_P0"/>
        <Parameter Name="Is_GetStatus_Supported_P0"/>
        <Parameter Name="Is_GetManufacturerInfo_Supported_P0"/>
        <Parameter Name="Is_GetCountryCodes_Supported_P0"/>
        <Parameter Name="Is_GetCountryInfo_Supported_P0"/>
        <Parameter Name="Is_SecurityRequest_Supported_P0"/>
        <Parameter Name="Is_FirmUpdateRequest_Supported_P0"/>
        <Parameter Name="Is_GetBattery_Supported_P0"/>
        <Parameter Name="VDM_ModalOperation_P0"/>
        <Parameter Name="VDM_bcdDevice_SOP_P0"/>
        <Parameter Name="VDM_USBHostSupport_P0"/>
        <Parameter Name="VDM_USBDeviceSupport_P0"/>
        <Parameter Name="VDM_ProductTypeUFPorCP_P0"/>
        <Parameter Name="VDM_ProductTypeDFP_P0"/>
        <Parameter Name="CAD_RoleToggle_P0"/>
        <Parameter Name="CAD_DefaultResistor_P0"/>
        <Parameter Name="CAD_TryFeature_P0"/>
        <Parameter Name="CAD_AccesorySupport_P0"/>
        <Parameter Name="CAD_SRCToggleTime_P0"/>
        <Parameter Name="CAD_SNKToggleTime_P0"/>
    </RefMode>

    <!-- ModeLogicOperator for USBPD -->
    <ModeLogicOperator Name="OR">
        <Mode Name="PortConfig" UserName="Port Configuration" RemoveDisable="false">
            <ModeLogicOperator Name="XOR">
                <Mode Name="USBPD_P0" UserName="Port 0: UCPD1">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_USBPD1"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_P0U1</Semaphore>
                    <Condition Expression="(SourceUCPD1|SinkUCPD1|DualRoleUCPD1)" Diagnostic="Needs only UCPD1 to be activated"/>
                </Mode>
            </ModeLogicOperator>
        </Mode>

        <Mode Name="StackConfig" UserName="Stack Configuration" RemoveDisable="true">
            <Condition Expression="USBPD_P0U1 | USBPD_P0U2" Diagnostic="please select a USBPD Port Configuration"/>
            <ModeLogicOperator Name="XOR">
                <Mode Name="PD3_Full_Stack" UserName="PD3 Full Stack">
                    <Condition Expression="(SourceUCPD1|SinkUCPD1|DualRoleUCPD1)" Diagnostic="UCPD1 is activated"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_PD3FULL"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_PD3FULL</Semaphore>
                </Mode>
                <Mode Name="PD3_Config1" UserName="PD3 Config 1">
                    <Condition Expression="(SourceUCPD1|SinkUCPD1|DualRoleUCPD1)" Diagnostic="UCPD1 is activated"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_PD3CFG1"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_PD3CFG1</Semaphore>
                </Mode>
                <Mode Name="PD3_Min_Src" UserName="PD3 Min Source">
                    <Condition Expression="(SourceUCPD1)" Diagnostic="UCPD1 should be Source"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_PD3MINSRC"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_PD3MINSRC</Semaphore>
                </Mode>
                <Mode Name="PD3_Min_Snk" UserName="PD3 Min Sink">
                    <Condition Expression="(SinkUCPD1)" Diagnostic="UCPD1 should be Sink"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_PD3MINSNK"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_PD3MINSNK</Semaphore>
                </Mode>
                <Mode Name="PD3_TypeC_StateMachine" UserName="Type C with State Machine">
                    <Condition Expression="(SourceUCPD1|SinkUCPD1)" Diagnostic="UCPD1 should be Source or Sink"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_PD3TYPEC_STATEMACHINE"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_PD3TYPEC</Semaphore>
                    <Semaphore>USBPD_STATEMACHINE</Semaphore>
                </Mode>
                <Mode Name="PD3_TypeC" UserName="Type C only">
                    <Condition Expression="(SourceUCPD1|SinkUCPD1)" Diagnostic="UCPD1 should be Source or Sink"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_PD3TYPEC"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_PD3TYPEC</Semaphore>
                    <Semaphore>USBPD_TYPECONLY</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>

        <Mode Name="TimerService" UserName="Timer service Source" RemoveDisable="true">
            <Condition Expression="USBPD_P0U1 | USBPD_P0U2" Diagnostic="please select a USBPD Port Configuration"/>
            <ModeLogicOperator Name="XOR">
                <Mode Name="TIM1" RemoveCondition="!TIM1:$modeexist_Channel4" >
                    <Condition Expression="!(TIM1 | SYS_TIM1)" Diagnostic="TIM1 already used."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim1"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM1</Semaphore>
                </Mode>
                <Mode Name="TIM2" RemoveCondition="!TIM2:$modeexist_Channel4" >
                    <Condition Expression="!(TIM2 | SYS_TIM2)" Diagnostic="TIM2 already used."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim2"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM2</Semaphore>
                </Mode>
                <Mode Name="TIM3" RemoveCondition="!TIM3:$modeexist_Channel4" >
                    <Condition Expression="!(TIM3 | SYS_TIM3)" Diagnostic="TIM3 already used."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim3"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM3</Semaphore>
                </Mode>
                <Mode Name="TIM4" RemoveCondition="!TIM4:$modeexist_Channel4" >
                    <Condition Expression="!(TIM4 | SYS_TIM4)" Diagnostic="TIM4 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM4" Diagnostic="you have to configure TIM4_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim4"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM4</Semaphore>
                </Mode>
                <Mode Name="TIM5" RemoveCondition="!TIM5:$modeexist_Channel4" >
                    <Condition Expression="!(TIM5 | SYS_TIM5)" Diagnostic="TIM5 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM5" Diagnostic="you have to configure TIM5_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim5"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM5</Semaphore>
                </Mode>
                <Mode Name="TIM6" RemoveCondition="!TIM6:$modeexist_Channel4" >
                    <Condition Expression="!(TIM6 | SYS_TIM6)" Diagnostic="TIM6 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM6" Diagnostic="you have to configure TIM6_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim6"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM6</Semaphore>
                </Mode>
                <Mode Name="TIM7" RemoveCondition="!TIM7:$modeexist_Channel4" >
                    <Condition Expression="!(TIM7 | SYS_TIM7)" Diagnostic="TIM7 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM7" Diagnostic="you have to configure TIM7_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim7"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM7</Semaphore>
                </Mode>
                <Mode Name="TIM8" RemoveCondition="!TIM8:$modeexist_Channel4" >
                    <Condition Expression="!(TIM8 | SYS_TIM8)" Diagnostic="TIM8 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM8" Diagnostic="you have to configure TIM8_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim8"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM8</Semaphore>
                </Mode>
                <Mode Name="TIM9" RemoveCondition="!TIM9:$modeexist_Channel4" >
                    <Condition Expression="!(TIM9 | SYS_TIM9)" Diagnostic="TIM9 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM9" Diagnostic="you have to configure TIM9_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim9"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM9</Semaphore>
                </Mode>
                <Mode Name="TIM10" RemoveCondition="!TIM10:$modeexist_Channel4" >
                    <Condition Expression="!(TIM10 | SYS_TIM10)" Diagnostic="TIM10 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM10" Diagnostic="you have to configure TIM10_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim10"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM10</Semaphore>
                </Mode>
                <Mode Name="TIM11" RemoveCondition="!TIM11:$modeexist_Channel4" >
                    <Condition Expression="!(TIM11 | SYS_TIM11)" Diagnostic="TIM11 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM11" Diagnostic="you have to configure TIM11_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim11"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM11</Semaphore>
                </Mode>
                <Mode Name="TIM12" RemoveCondition="!TIM12:$modeexist_Channel4" >
                    <Condition Expression="!(TIM12 | SYS_TIM12)" Diagnostic="TIM12 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM12" Diagnostic="you have to configure TIM12_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim12"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM12</Semaphore>
                </Mode>
                <Mode Name="TIM13" RemoveCondition="!TIM13:$modeexist_Channel4" >
                    <Condition Expression="!(TIM13 | SYS_TIM13)" Diagnostic="TIM13 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM13" Diagnostic="you have to configure TIM13_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim13"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM13</Semaphore>
                </Mode>
                <Mode Name="TIM14" RemoveCondition="!TIM14:$modeexist_Channel4" >
                    <Condition Expression="!(TIM14 | SYS_TIM14)" Diagnostic="TIM14 already used."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim14"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM14</Semaphore>
                </Mode>
                <Mode Name="TIM15" RemoveCondition="!TIM15:$modeexist_Channel4" >
                    <Condition Expression="!(TIM15 | SYS_TIM15)" Diagnostic="TIM15 already used."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim15"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM15</Semaphore>
                </Mode>
                <Mode Name="TIM16" RemoveCondition="!TIM16:$modeexist_Channel4" >
                    <Condition Expression="!(TIM16 | SYS_TIM16)" Diagnostic="TIM16 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM16" Diagnostic="you have to configure TIM16_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim16"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM16</Semaphore>
                </Mode>
                <Mode Name="TIM17" RemoveCondition="!TIM17:$modeexist_Channel4" >
                    <Condition Expression="!(TIM17 | SYS_TIM17)" Diagnostic="TIM17 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM17" Diagnostic="you have to configure TIM17_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim17"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM17</Semaphore>
                </Mode>
                <Mode Name="TIM18" RemoveCondition="!TIM18:$modeexist_Channel4" >
                    <Condition Expression="!(TIM18 | SYS_TIM18)" Diagnostic="TIM18 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM18" Diagnostic="you have to configure TIM18_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim18"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM18</Semaphore>
                </Mode>
                <Mode Name="TIM19" RemoveCondition="!TIM19:$modeexist_Channel4" >
                    <Condition Expression="!(TIM19 | SYS_TIM19)" Diagnostic="TIM19 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM19" Diagnostic="you have to configure TIM19_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim19"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM19</Semaphore>
                </Mode>
                <Mode Name="TIM20" RemoveCondition="!TIM20:$modeexist_Channel4" >
                    <Condition Expression="!(TIM20 | SYS_TIM20)" Diagnostic="TIM20 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM20" Diagnostic="you have to configure TIM20_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim20"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM20</Semaphore>
                </Mode>
                <Mode Name="TIM21" RemoveCondition="!TIM21:$modeexist_Channel4" >
                    <Condition Expression="!(TIM21 | SYS_TIM21)" Diagnostic="TIM21 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM21" Diagnostic="you have to configure TIM21_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim21"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM21</Semaphore>
                </Mode>
                <Mode Name="TIM22" RemoveCondition="!TIM22:$modeexist_Channel4" >
                    <Condition Expression="!(TIM22 | SYS_TIM22)" Diagnostic="TIM22 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM22" Diagnostic="you have to configure TIM22_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim22"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM22</Semaphore>
                </Mode>
                <Mode Name="TIM23" RemoveCondition="!TIM23:$modeexist_Channel4" >
                    <Condition Expression="!(TIM23 | SYS_TIM23)" Diagnostic="TIM23 already used."/>
                    <Condition Expression="Semaphore_Channel4TIM23" Diagnostic="you have to configure TIM23_CH4 to enable this mode."/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_tim23"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TIM23</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>

        <Mode Name="TraceEmb" UserName="Tracer Source (TRACER_EMB)">
            <Condition Expression="USBPD_P0U1 | USBPD_P0U2" Diagnostic="please select a USBPD Port Configuration"/>
            <Condition Expression="TRACEREMB" Diagnostic="please select a TRACER_EMB Configuration"/>
            <ModeLogicOperator Name="XOR">
                <Mode Name="TRACER_EMB">
                    <Condition Expression="TRACEREMB" Diagnostic="for now, the only configuration!"/>
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VS_usbpd_traceremb"/>
                    </SignalLogicalOp>
                    <Semaphore>USBPD_TRACEREMB</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>

    </ModeLogicOperator>
    <Condition Expression="UCPD_Used" Diagnostic="instance of UCPD must be activated"/>

    <!-- RefSignal for USBPD -->
    <RefSignal Name="VS_USBPD1" Virtual="true"/>

    <RefSignal Name="VS_PD3FULL" Virtual="true"/>
    <RefSignal Name="VS_PD3CFG1" Virtual="true"/>
    <RefSignal Name="VS_PD3MINSRC" Virtual="true"/>
    <RefSignal Name="VS_PD3MINSNK" Virtual="true"/>
    <RefSignal Name="VS_PD3TYPEC_STATEMACHINE" Virtual="true"/>
    <RefSignal Name="VS_PD3TYPEC" Virtual="true"/>

    <RefSignal Name="VS_usbpd_tim1" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim2" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim3" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim4" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim5" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim6" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim7" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim8" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim9" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim10" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim11" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim12" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim13" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim14" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim15" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim16" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim17" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim18" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim19" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim20" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim21" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim22" Virtual="true"/>
    <RefSignal Name="VS_usbpd_tim23" Virtual="true"/>

    <RefSignal Name="VS_usbpd_traceremb" Virtual="true"/>

    <!-- Clock Semaphore for this IP. -->
    <Semaphore>USBPDUsed_ForRCC</Semaphore>
</IP>
