<?xml version="1.0" encoding="UTF-8" standalone="no"?><IP xmlns="http://mcd.rou.st.com/modules.php?name=mcu" xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" DBVersion="V3.0" IPType="peripheral" Name="USART" Version="STM32MP_sci3_v2_3" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd">
 
    <About>USART: Universal Synchronous/Asynchronous Receiver Transmitter</About>
	
    <!-- Generic RefParameters for USART/UART/SmartCard Modes -->
    <RefParameter Comment="Instance" DefaultValue="USART$Index" Name="Instance" Type="" Visible="false"/>
	
    <!-- Virtual Mode Parameter, to define RefParameter in function of RefMode -->
    <RefParameter Comment="" DefaultValue="VM_ASYNC" Group="Basic Parameters" Name="VirtualMode" Type="list" Visible="false">
        <PossibleValue Comment="" Value="VM_ASYNC"/>
        <PossibleValue Comment="" Value="VM_SYNC"/>
        <PossibleValue Comment="" Value="VM_SMARTCARD"/>
        <PossibleValue Comment="" Value="VM_LIN"/>
    </RefParameter>
	
    <RefParameter Comment="" DefaultValue="VM_SYNC" Group="Basic Parameters" Name="VirtualClockMode" Type="list" Visible="false">
        <PossibleValue Comment="" Value="VM_SYNC"/>
        <PossibleValue Comment="" Value="VM_SMARTCARD"/>
    </RefParameter>
	
	
	
    <RefParameter Comment="Auto Baudrate Mode arg" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_ENABLE" Group="Advanced Features" Name="AutoBaudRateEnable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_AUTOBAUDRATE_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Auto Baudrate Mode arg" DefaultValue="null" Group="Advanced Features" Name="AutoBaudRateEnable" Type="list" Visible="false"/>
    
	
    <RefParameter Comment="Auto Baudrate" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_DISABLE" Group="Advanced Features" Name="AutoBaudRateEnableParam" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_AUTOBAUDRATE_DISABLE"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_UART_AutoBaudRate_Enable" Value="UART_ADVFEATURE_AUTOBAUDRATE_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_INIT" Group="Advanced Features" Name="IsAutoBaudRateMode" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_AUTOBAUDRATE_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsAutoBaudRateMode" Type="list" Visible="false"/>
	
	
	
    <!-- BaudRate Parameters ; based on Uart Instance (AHB Clock), and if IrDa Mode on a Small maximum. -->
    <!-- BaudRate Parameters ; based on Uart Instance (AHB Clock), and if IrDa Mode on a Small maximum. -->
    <RefParameter Comment="Baud Rate" DefaultValue="115200" Group="Basic Parameters" Max="115200" Min="115200" Name="BaudRate" Type="integer" Unit="Bits/s" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
    </RefParameter>
    <RefParameter Comment="Baud Rate" DefaultValue="115200" Group="Basic Parameters" Max="10500000" Min="110" Name="BaudRate" Type="integer" Unit="Bits/s" Visible="true"/>
   
	
	
	
	
    <!-- Word Length Parameters for Synchronous, IrDa, SmartCard and Others (based on Asyncronous). -->
	
    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_8B" Group="Basic Parameters" Name="WordLength" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC)"/>
        <PossibleValue Comment="7 Bits (including Parity)" Semaphore="$IpInstance_Usart_7B" Value="WORDLENGTH_7B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="WORDLENGTH_8B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="WORDLENGTH_9B"/>
    </RefParameter>
	

    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_9B" Group="Basic Parameters" Name="WordLength" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="WORDLENGTH_9B"/>
    </RefParameter>

    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_8B" Group="Basic Parameters" Name="WordLength" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_LIN"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="WORDLENGTH_8B" Group="Basic Parameters" Name="WordLength" Type="list">
        <PossibleValue Comment="7 Bits (including Parity)" Semaphore="$IpInstance_Uart_7B" Value="WORDLENGTH_7B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="WORDLENGTH_8B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="WORDLENGTH_9B"/>
    </RefParameter>

    <RefParameter Comment="Word Length" DefaultValue="USART_WORDLENGTH_7B" Group="Basic Parameters" Name="UsartWordLength" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; WordLength=WORDLENGTH_7B"/>
        <PossibleValue Comment="7 Bits (including Parity)" Value="USART_WORDLENGTH_7B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="USART_WORDLENGTH_8B" Group="Basic Parameters" Name="UsartWordLength" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; WordLength=WORDLENGTH_8B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="USART_WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="USART_WORDLENGTH_9B" Group="Basic Parameters" Name="UsartWordLength" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; WordLength=WORDLENGTH_9B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="USART_WORDLENGTH_9B"/>
    </RefParameter>

    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_7B" Group="Basic Parameters" Name="UartWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_7B"/>
        <PossibleValue Comment="7 Bits (including Parity)" Value="UART_WORDLENGTH_7B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_8B" Group="Basic Parameters" Name="UartWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_8B"/>
        <PossibleValue Comment="8 Bits (including Parity)" Value="UART_WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Word Length" DefaultValue="UART_WORDLENGTH_9B" Group="Basic Parameters" Name="UartWordLength" Type="list">
        <Condition Diagnostic="" Expression="WordLength=WORDLENGTH_9B"/>
        <PossibleValue Comment="9 Bits (including Parity)" Value="UART_WORDLENGTH_9B"/>
    </RefParameter>
	
	
    <!-- Stop Bits Parameters for Synchronous, SmartCard and Others (based on Asyncronous). N.B. IrDa do not have Stop Bits -->
    <RefParameter Comment="Stop Bits" DefaultValue="STOPBITS_1" Group="Basic Parameters" Name="StopBits" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC"/>
        <PossibleValue Comment="1" Value="STOPBITS_1"/>
        <PossibleValue Comment="2" Value="STOPBITS_2"/>
        <PossibleValue Comment="0.5" Value="STOPBITS_0_5"/>
        <PossibleValue Comment="1.5" Value="STOPBITS_1_5"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="STOPBITS_1" Group="Basic Parameters" Name="StopBits" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Asynchronous"/>
        <PossibleValue Comment="1" Value="STOPBITS_1"/>
        <PossibleValue Comment="2" Value="STOPBITS_2"/>
        <PossibleValue Comment="0.5" Value="STOPBITS_0_5"/>
        <PossibleValue Comment="1.5" Value="STOPBITS_1_5"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="STOPBITS_1" Group="Basic Parameters" Name="StopBits" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Asynchronous"/>
        <PossibleValue Comment="1" Value="STOPBITS_1"/>
        <PossibleValue Comment="2" Value="STOPBITS_2"/>
        <PossibleValue Comment="1.5" Value="STOPBITS_1_5"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="STOPBITS_1_5" Group="Basic Parameters" Name="StopBits" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="1.5" Value="STOPBITS_1_5"/>
        <PossibleValue Comment="0.5" Value="STOPBITS_0_5"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="STOPBITS_1_5" Group="Basic Parameters" Name="StopBits" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="1.5" Value="STOPBITS_1_5"/>
    </RefParameter>

    <RefParameter Comment="Stop Bits" DefaultValue="STOPBITS_1" Group="Basic Parameters" Name="StopBits" Type="list">
        <PossibleValue Comment="1" Value="STOPBITS_1"/>
        <PossibleValue Comment="2" Value="STOPBITS_2"/>
    </RefParameter>	

    <RefParameter Comment="Stop Bits" DefaultValue="USART_STOPBITS_2" Group="Basic Parameters" Name="UsartStopBits" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; StopBits=STOPBITS_2"/>
        <PossibleValue Comment="2" Value="USART_STOPBITS_2"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="USART_STOPBITS_1" Group="Basic Parameters" Name="UsartStopBits" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; StopBits=STOPBITS_1"/>
        <PossibleValue Comment="1" Value="USART_STOPBITS_1"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="USART_STOPBITS_1_5" Group="Basic Parameters" Name="UsartStopBits" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; StopBits=STOPBITS_1_5" />
        <PossibleValue Comment="1.5" Value="USART_STOPBITS_1_5" />
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="USART_STOPBITS_0_5" Group="Basic Parameters" Name="UsartStopBits" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; StopBits=STOPBITS_0_5" />
        <PossibleValue Comment="0.5" Value="USART_STOPBITS_0_5" />
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_1" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Asynchronous &amp; StopBits=STOPBITS_1"/>	
        <PossibleValue Comment="1" Value="UART_STOPBITS_1"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_2" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Asynchronous &amp; StopBits=STOPBITS_2"/>
        <PossibleValue Comment="2" Value="UART_STOPBITS_2"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_1_5" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Asynchronous &amp; StopBits=STOPBITS_1_5" />
        <PossibleValue Comment="1.5" Value="UART_STOPBITS_1_5" />
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_0_5" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Asynchronous &amp; StopBits=STOPBITS_0_5" />
        <PossibleValue Comment="0.5" Value="UART_STOPBITS_0_5" />
    </RefParameter>

    <RefParameter Comment="Stop Bits" DefaultValue="SMARTCARD_STOPBITS_1_5" Group="Basic Parameters" Name="SmartCardStopBits" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; StopBits=STOPBITS_1_5" />
        <PossibleValue Comment="1.5" Value="SMARTCARD_STOPBITS_1_5" />
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="SMARTCARD_STOPBITS_0_5" Group="Basic Parameters" Name="SmartCardStopBits" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; StopBits=STOPBITS_0_5" />
        <PossibleValue Comment="0.5" Value="SMARTCARD_STOPBITS_0_5" />
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_1" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="StopBits=STOPBITS_1"/>
        <PossibleValue Comment="1" Value="UART_STOPBITS_1"/>
    </RefParameter>
    <RefParameter Comment="Stop Bits" DefaultValue="UART_STOPBITS_2" Group="Basic Parameters" Name="UartStopBits" Type="list">
        <Condition Diagnostic="" Expression="StopBits=STOPBITS_2"/>
        <PossibleValue Comment="2" Value="UART_STOPBITS_2"/>
    </RefParameter>

    <!-- Parity Parameters for Synchronous, IrDa, SmartCard and Others (based on Asyncronous). -->
    <RefParameter Comment="Parity" DefaultValue="PARITY_EVEN" Group="Basic Parameters" Name="Parity" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="Even" Semaphore="$IpInstance_PARITY_EVEN"  Value="PARITY_EVEN"/>
        <PossibleValue Comment="Odd" Semaphore="$IpInstance_PARITY_ODD" Value="PARITY_ODD"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="PARITY_NONE" Group="Basic Parameters" Name="Parity" Type="list">
        <PossibleValue Comment="None" Semaphore="$IpInstance_PARITY_NONE" Value="PARITY_NONE"/>
        <PossibleValue Comment="Even" Semaphore="$IpInstance_PARITY_EVEN" Value="PARITY_EVEN"/>
        <PossibleValue Comment="Odd" Semaphore="$IpInstance_PARITY_ODD" Value="PARITY_ODD"/>
    </RefParameter>

    <RefParameter Comment="Parity" DefaultValue="USART_PARITY_NONE" Group="Basic Parameters" Name="UsartParity" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; $IpInstance_PARITY_NONE"/>
        <PossibleValue Comment="None" Value="USART_PARITY_NONE"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="USART_PARITY_EVEN" Group="Basic Parameters" Name="UsartParity" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; $IpInstance_PARITY_EVEN"/>
        <PossibleValue Comment="Even" Value="USART_PARITY_EVEN"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="USART_PARITY_ODD" Group="Basic Parameters" Name="UsartParity" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; $IpInstance_PARITY_ODD"/>
        <PossibleValue Comment="Odd" Value="USART_PARITY_ODD"/>
    </RefParameter>

    <RefParameter Comment="Parity" DefaultValue="SMARTCARD_PARITY_EVEN" Group="Basic Parameters" Name="SmartCardParity" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; $IpInstance_PARITY_EVEN"/>
        <PossibleValue Comment="Even" Value="SMARTCARD_PARITY_EVEN"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="SMARTCARD_PARITY_ODD" Group="Basic Parameters" Name="SmartCardParity" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; $IpInstance_PARITY_ODD"/>
        <PossibleValue Comment="Odd" Value="SMARTCARD_PARITY_ODD"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="UART_PARITY_NONE" Group="Basic Parameters" Name="UartParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_PARITY_NONE"/>
        <PossibleValue Comment="None" Value="UART_PARITY_NONE"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="UART_PARITY_EVEN" Group="Basic Parameters" Name="UartParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_PARITY_EVEN"/>
        <PossibleValue Comment="Even" Value="UART_PARITY_EVEN"/>
    </RefParameter>
    <RefParameter Comment="Parity" DefaultValue="UART_PARITY_ODD" Group="Basic Parameters" Name="UartParity" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_PARITY_ODD"/>
        <PossibleValue Comment="Odd" Value="UART_PARITY_ODD"/>
    </RefParameter>

    <!-- DataDirection Parameters for Synchronous,  SmartCard and Others (based on Asyncronous). -->
    <RefParameter Comment="Data Direction" DefaultValue="MODE_TX_RX" Group="Advanced Parameters" Name="Mode" Type="list">
        <PossibleValue Comment="Receive and Transmit" Semaphore="S_$IpInstance_TX_RX" Value="MODE_TX_RX"/>
        <PossibleValue Comment="Receive Only" Semaphore="S_$IpInstance_RX" Value="MODE_RX"/>
        <PossibleValue Comment="Transmit Only" Semaphore="S_$IpInstance_TX" Value="MODE_TX"/>
    </RefParameter>

    <RefParameter Comment="Data Direction" DefaultValue="USART_MODE_TX_RX" Group="Advanced Parameters" Name="UsartMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; S_$IpInstance_TX_RX"/>
        <PossibleValue Comment="Receive and Transmit" Value="USART_MODE_TX_RX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="USART_MODE_TX" Group="Advanced Parameters" Name="UsartMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; S_$IpInstance_TX"/>
        <PossibleValue Comment="Transmit Only" Value="USART_MODE_TX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="USART_MODE_RX" Group="Advanced Parameters" Name="UsartMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC &amp; S_$IpInstance_RX"/>
        <PossibleValue Comment="Receive Only" Value="USART_MODE_RX"/>
    </RefParameter>


    <RefParameter Comment="Data Direction" DefaultValue="SMARTCARD_MODE_TX_RX" Group="Advanced Parameters" Name="SmartCardMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD &amp; S_$IpInstance_TX_RX"/>
        <PossibleValue Comment="Receive and Transmit" Value="SMARTCARD_MODE_TX_RX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="SMARTCARD_MODE_TX" Group="Advanced Parameters" Name="SmartCardMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD &amp; S_$IpInstance_TX"/>
        <PossibleValue Comment="Transmit Only" Value="SMARTCARD_MODE_TX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="SMARTCARD_MODE_RX" Group="Advanced Parameters" Name="SmartCardMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD &amp; S_$IpInstance_RX"/>
        <PossibleValue Comment="Receive Only" Value="SMARTCARD_MODE_RX"/>
    </RefParameter>

    <RefParameter Comment="Data Direction" DefaultValue="UART_MODE_TX_RX" Group="Advanced Parameters" Name="UartMode" Type="list">
        <Condition Diagnostic="" Expression="S_$IpInstance_TX_RX"/>
        <PossibleValue Comment="Receive and Transmit" Value="UART_MODE_TX_RX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="UART_MODE_TX" Group="Advanced Parameters" Name="UartMode" Type="list">
        <Condition Diagnostic="" Expression="S_$IpInstance_TX"/>
        <PossibleValue Comment="Transmit Only" Value="UART_MODE_TX"/>
    </RefParameter>
    <RefParameter Comment="Data Direction" DefaultValue="UART_MODE_RX" Group="Advanced Parameters" Name="UartMode" Type="list">
        <Condition Diagnostic="" Expression="S_$IpInstance_RX"/>
        <PossibleValue Comment="Receive Only" Value="UART_MODE_RX"/>
    </RefParameter>

    <!-- Specifics RefParameters for UART Mode only -->
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_RTS" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">	
        <Condition Diagnostic="" Expression="$IpInstance_Request"/>
        <PossibleValue Comment="RTS Only" Value="UART_HWCONTROL_RTS"/>
    </RefParameter>
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_CTS" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_Clear"/>
        <PossibleValue Comment="CTS Only" Value="UART_HWCONTROL_CTS"/>
    </RefParameter>
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_RTS_CTS" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_CTS_RTS"/>
        <PossibleValue Comment="RTS/CTS" Value="UART_HWCONTROL_RTS_CTS"/>
    </RefParameter>
    <RefParameter Comment="Hardware Flow Control" DefaultValue="UART_HWCONTROL_NONE" Group="Basic Parameters" Name="HwFlowCtl" Type="list" Visible="false">
        <PossibleValue Comment="None" Value="UART_HWCONTROL_NONE"/>
    </RefParameter>
	
    <RefParameter Comment="Over Sampling" DefaultValue="UART_OVERSAMPLING_16" Group="Advanced Parameters" Name="OverSampling" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_ASYNC"/>
        <PossibleValue Comment="16 Samples" Value="UART_OVERSAMPLING_16"/>
        <PossibleValue Comment="8 Samples" Value="UART_OVERSAMPLING_8"/>
    </RefParameter>
    <RefParameter Comment="Over Sampling" DefaultValue="UART_OVERSAMPLING_16" Group="Advanced Parameters" Name="OverSampling" Type="uniqueElementList">
        <Condition Diagnostic="" Expression="VirtualMode = VM_LIN"/>
        <PossibleValue Comment="16 Samples" Value="UART_OVERSAMPLING_16"/>
    </RefParameter>
    <RefParameter Comment="Over Sampling" DefaultValue="null" Group="Advanced Parameters" Name="OverSampling" Type="list" Visible="false"/>
	
    <!-- Specifics RefParameters for USART/SmartCard Clock Mode -->
    <RefParameter Comment="Clock Polarity" DefaultValue="SMARTCARD_POLARITY_LOW" Group="Clock Parameters" Name="CLKPolarity" Type="list">
        <Condition Diagnostic="" Expression="VirtualClockMode = VM_SMARTCARD"/>
        <PossibleValue Comment="Low" Value="SMARTCARD_POLARITY_LOW"/>
        <PossibleValue Comment="High" Value="SMARTCARD_POLARITY_HIGH"/>
    </RefParameter>
    <RefParameter Comment="Clock Polarity" DefaultValue="USART_POLARITY_LOW" Group="Clock Parameters" Name="CLKPolarity" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC"/>
        <PossibleValue Comment="Low" Value="USART_POLARITY_LOW"/>
        <PossibleValue Comment="High" Value="USART_POLARITY_HIGH"/>
    </RefParameter>
    <RefParameter Comment="Clock Polarity" DefaultValue="null" Group="Clock Parameters" Name="CLKPolarity" Type="integer" Visible="false"/>
	
    <RefParameter Comment="Clock Phase" DefaultValue="SMARTCARD_PHASE_1EDGE" Group="Clock Parameters" Name="CLKPhase" Type="list">
        <Condition Diagnostic="" Expression="VirtualClockMode = VM_SMARTCARD"/>
        <PossibleValue Comment="One Edge" Value="SMARTCARD_PHASE_1EDGE"/>
        <PossibleValue Comment="Two Edge" Value="SMARTCARD_PHASE_2EDGE"/>
    </RefParameter>
    <RefParameter Comment="Clock Phase" DefaultValue="USART_PHASE_1EDGE" Group="Clock Parameters" Name="CLKPhase" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC"/>
        <PossibleValue Comment="One Edge" Value="USART_PHASE_1EDGE"/>
        <PossibleValue Comment="Two Edge" Value="USART_PHASE_2EDGE"/>
    </RefParameter>
    <RefParameter Comment="Clock Phase" DefaultValue="null" Group="Clock Parameters" Name="CLKPhase" Type="integer" Visible="false"/>
	
    <RefParameter Comment="Clock Last Bit" DefaultValue="SMARTCARD_LASTBIT_DISABLE" Group="Clock Parameters" Name="CLKLastBit" Type="list">
        <Condition Diagnostic="" Expression="VirtualClockMode = VM_SMARTCARD &amp; STM32F0 "/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_LASTBIT_DISABLE"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_LASTBIT_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Clock Last Bit" DefaultValue="SMARTCARD_LASTBIT_DISABLE" Group="Clock Parameters" Name="CLKLastBit" Type="list">
        <Condition Diagnostic="" Expression="VirtualClockMode = VM_SMARTCARD"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_LASTBIT_DISABLE"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_LASTBIT_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Clock Last Bit" DefaultValue="USART_LASTBIT_DISABLE" Group="Clock Parameters" Name="CLKLastBit" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC"/>
        <PossibleValue Comment="Disable" Value="USART_LASTBIT_DISABLE"/>
        <PossibleValue Comment="Enable" Value="USART_LASTBIT_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Clock Last Bit" DefaultValue="null" Group="Clock Parameters" Name="CLKLastBit" Type="integer" Visible="false"/>
	

	
    <!-- Prescaler Parameters for SmartCard Clock Mode -->
    <RefParameter Comment="Prescaler" DefaultValue="10" Group="Clock Parameters" Max="31" Min="1" Name="Prescaler" Type="integer">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <Description>The value given in the register is multiplied by 2 to give the division factor of the source clock frequency.</Description>
    </RefParameter>

    <RefParameter Comment="ClockPrescaler" DefaultValue="PRESCALER_DIV1" Group="Advanced Parameters" Name="ClockPrescaler" Type="list">
        <PossibleValue Comment="1" Value="PRESCALER_DIV1"/>
        <PossibleValue Comment="2" Value="PRESCALER_DIV2"/>
        <PossibleValue Comment="4" Value="PRESCALER_DIV4"/>
        <PossibleValue Comment="6" Value="PRESCALER_DIV6"/>
        <PossibleValue Comment="8" Value="PRESCALER_DIV8"/>
        <PossibleValue Comment="10" Value="PRESCALER_DIV10"/>
        <PossibleValue Comment="12" Value="PRESCALER_DIV12"/>
        <PossibleValue Comment="16" Value="PRESCALER_DIV16"/>
        <PossibleValue Comment="32" Value="PRESCALER_DIV32"/>
        <PossibleValue Comment="64" Value="PRESCALER_DIV64"/>
        <PossibleValue Comment="128" Value="PRESCALER_DIV128"/>
        <PossibleValue Comment="256" Value="PRESCALER_DIV256"/>
    </RefParameter>

    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV1" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV1"/>
        <PossibleValue Comment="1 " Value="USART_PRESCALER_DIV1"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV2" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV2"/>
        <PossibleValue Comment="2 " Value="USART_PRESCALER_DIV2"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV4" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV4"/>            
        <PossibleValue Comment="4 " Value="USART_PRESCALER_DIV4"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV6" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV6"/>
        <PossibleValue Comment="6 " Value="USART_PRESCALER_DIV6"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV8" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV8"/>
        <PossibleValue Comment="8 " Value="USART_PRESCALER_DIV8"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV10" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV10"/>
        <PossibleValue Comment="10 " Value="USART_PRESCALER_DIV10"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV12" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV12"/>
        <PossibleValue Comment="12 " Value="USART_PRESCALER_DIV12"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV16" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV16"/>
        <PossibleValue Comment="16 " Value="USART_PRESCALER_DIV16"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV32" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV32"/>
        <PossibleValue Comment="32 " Value="USART_PRESCALER_DIV32"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV64" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV64"/>
        <PossibleValue Comment="64 " Value="USART_PRESCALER_DIV64"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV128" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV128"/>
        <PossibleValue Comment="128 " Value="USART_PRESCALER_DIV128"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="USART_PRESCALER_DIV256" Group="Advanced Parameters" Name="UsartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; ClockPrescaler=PRESCALER_DIV256"/>
        <PossibleValue Comment="256 " Value="USART_PRESCALER_DIV256"/>
    </RefParameter>
        
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV1" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV1"/>
        <PossibleValue Comment="1" Value="UART_PRESCALER_DIV1"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV2" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV2"/>
        <PossibleValue Comment="2" Value="UART_PRESCALER_DIV2"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV4" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV4"/>            
        <PossibleValue Comment="4" Value="UART_PRESCALER_DIV4"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV6" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV6"/>
        <PossibleValue Comment="6" Value="UART_PRESCALER_DIV6"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV8" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV8"/>
        <PossibleValue Comment="8" Value="UART_PRESCALER_DIV8"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV10" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV10"/>
        <PossibleValue Comment="10" Value="UART_PRESCALER_DIV10"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV12" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV12"/>
        <PossibleValue Comment="12" Value="UART_PRESCALER_DIV12"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV16" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV16"/>
        <PossibleValue Comment="16" Value="UART_PRESCALER_DIV16"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV32" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV32"/>
        <PossibleValue Comment="32 " Value="USART_PRESCALER_DIV32"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV64" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV64"/>
        <PossibleValue Comment="64" Value="UART_PRESCALER_DIV64"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV128" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV128"/>
        <PossibleValue Comment="128" Value="UART_PRESCALER_DIV128"/>
    </RefParameter>
    <RefParameter Comment="ClockPrescaler" DefaultValue="UART_PRESCALER_DIV256" Group="Advanced Parameters" Name="UartPrescaler" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; ClockPrescaler=PRESCALER_DIV256"/>
        <PossibleValue Comment="256" Value="UART_PRESCALER_DIV256"/>
    </RefParameter>
	
    <!-- Calculate Speed, based on Prescaler Value on SmartCard Mode -->
    <RefParameter Comment="SmartCard Clock Frequency" DefaultValue="5000000" Group="Clock Parameters" Name="CalculateSpeed" Type="string"/>
	
    <!-- Specifics RefParameters for SmartCard Mode Only -->
    <RefParameter Comment="NACK If Parity Error" DefaultValue="SMARTCARD_NACK_DISABLE" Group="Advanced Parameters" Name="NACKState" Type="list">
        <PossibleValue Comment="Enable" Value="SMARTCARD_NACK_ENABLE"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_NACK_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Guard Time" DefaultValue="0" Group="Advanced Parameters" Max="255" Min="0" Name="GuardTime" Type="integer"/> 		
    <RefParameter Comment="Receiver TimeOut State" DefaultValue="SMARTCARD_TIMEOUT_DISABLE" Group="Advanced Parameters" Name="TimeOutEnable" Type="list">
        <PossibleValue Comment="Enable" Value="SMARTCARD_TIMEOUT_ENABLE"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_TIMEOUT_DISABLE"/>
    </RefParameter>
	
    <RefParameter Comment="Receiver TimeOut Value" DefaultValue="0" Group="Advanced Parameters" Max="16777215" Min="0" Name="TimeOutValue" Type="integer">
        <Condition Diagnostic="" Expression="TimeOutEnable = SMARTCARD_TIMEOUT_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Receiver TimeOut Value" DefaultValue="null" Group="Advanced Parameters" Name="TimeOutValue" Type="integer" Visible="false"/>
	
    <RefParameter Comment="SmartCard Block Length" DefaultValue="0" Group="Advanced Parameters" Max="255" Min="0" Name="BlockLength" Type="integer"/>
    <RefParameter Comment="Number of retries in receive and transmit mode" DefaultValue="0" Group="Advanced Parameters" Max="7" Min="0" Name="AutoRetryCount" Type="integer"/>

    <!-- Specifics RefParameters for MultiProcessor Only. WakeUp Method -->
    <RefParameter Comment="Wake-Up Method" DefaultValue="UART_WAKEUPMETHOD_IDLELINE" Group="Advanced Parameters" Name="WakeUpMethod" Type="list">
        <PossibleValue Comment="Idle Line" Value="UART_WAKEUPMETHOD_IDLELINE"/>
        <PossibleValue Comment="Address Mark" Value="UART_WAKEUPMETHOD_ADDRESSMARK"/>
    </RefParameter>
	
    <!-- Address for MultiProcessor --> 
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="63" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK &amp; AddressLength = UART_ADDRESS_DETECT_7B &amp; WordLength=WORDLENGTH_7B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="127" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK &amp; AddressLength = UART_ADDRESS_DETECT_7B &amp; WordLength=WORDLENGTH_8B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="255" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK &amp; AddressLength = UART_ADDRESS_DETECT_7B &amp; WordLength=WORDLENGTH_9B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="15" Min="0" Name="Address" Type="integer">
        <Condition Diagnostic="" Expression="WakeUpMethod = UART_WAKEUPMETHOD_ADDRESSMARK"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Address" DefaultValue="0" Group="Advanced Parameters" Max="0" Min="0" Name="Address" Type="integer" Visible="false"/>
    
    <RefParameter Comment="Wake-Up Method" DefaultValue="UART_ADDRESS_DETECT_4B" Group="Advanced Parameters" Name="AddressLength" Type="list">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK"/>
        <PossibleValue Comment="4 Bits" Value="UART_ADDRESS_DETECT_4B"/>
        <PossibleValue Comment="7 Bits" Value="UART_ADDRESS_DETECT_7B"/>
    </RefParameter>
    <RefParameter Comment="Wake-Up Method" DefaultValue="null" Group="Advanced Parameters" Name="AddressLength" Type="list" Visible="false"/>
	
	
	
    <!--Specifics RefParameters for LIN. Line BreakLength -->
    <RefParameter Comment="Break Detect Length" DefaultValue="UART_LINBREAKDETECTLENGTH_10B" Group="Advanced Parameters" Name="BreakDetectLength" Type="list">
        <PossibleValue Comment="10 Bits" Value="UART_LINBREAKDETECTLENGTH_10B"/>
        <PossibleValue Comment="11 Bits" Value="UART_LINBREAKDETECTLENGTH_11B"/>
    </RefParameter>
	
    <!--Specifics RefParameters for RS485 -->
    <RefParameter Comment="Polarity" DefaultValue="UART_DE_POLARITY_HIGH" Group="Advanced Parameters" Name="UART_DEPolarity" Type="list">
        <PossibleValue Comment="High" Value="UART_DE_POLARITY_HIGH"/>
        <PossibleValue Comment="Low" Value="UART_DE_POLARITY_LOW"/>
    </RefParameter>
    <RefParameter Comment="Assertion Time" DefaultValue="0" Group="Advanced Parameters" Max="31" Min="0" Name="UART_DEAssertionTime" Type="integer" Unit="Sample Time Unit"/>
    <RefParameter Comment="Deassertion Time" DefaultValue="0" Group="Advanced Parameters" Max="31" Min="0" Name="UART_DEDeassertionTime" Type="integer" Unit="Sample Time Unit"/>

    
    <!--Specifics RefParameters for UART and SMARTCARD -->
    <RefParameter Comment="Single Sample" DefaultValue="SMARTCARD_ONE_BIT_SAMPLE_DISABLE" Group="Advanced Parameters" Name="OneBitSampling" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ONE_BIT_SAMPLE_DISABLE"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ONE_BIT_SAMPLE_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Single Sample" DefaultValue="UART_ONE_BIT_SAMPLE_DISABLE" Group="Advanced Parameters" Name="OneBitSampling" Type="list">
        <PossibleValue Comment="Disable" Value="UART_ONE_BIT_SAMPLE_DISABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ONE_BIT_SAMPLE_ENABLE"/>
    </RefParameter>
	
    <!-- Advanceds features -->
    <RefParameter Comment="SMARTCARD Advanced Features" DefaultValue="SMARTCARD_ADVFEATURE_NO_INIT" Group="Advanced Features" Name="AdvFeatureInit" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="!((SmartCardTxPinLevelInvertParam = SMARTCARD_ADVFEATURE_TXINV_ENABLE)|(SmartCardRxPinLevelInvertParam = SMARTCARD_ADVFEATURE_RXINV_ENABLE)|(SmartCardDataInvertParam = SMARTCARD_ADVFEATURE_DATAINV_ENABLE)|(SmartCardSwapParam = SMARTCARD_ADVFEATURE_SWAP_ENABLE)|(SmartCardOverrunDisableParam = SMARTCARD_ADVFEATURE_OVERRUN_DISABLE)|(SmartCardDMADisableonRxErrorParam = SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR)|(SmartCardMSBFirstParam = SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE))&amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="" Semaphore="$IpInstance_ADVFEATURE_NO_INIT" Value="SMARTCARD_ADVFEATURE_NO_INIT"/>
    </RefParameter>
    <RefParameter Comment="UART Advanced Features" DefaultValue="UART_ADVFEATURE_NO_INIT" Group="Advanced Features" Name="AdvFeatureInit" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="!($IpInstance_TxPinLevelInvertENABLE|$IpInstance_RxPinLevelInvertENABLE|$IpInstance_DataInvertENABLE|$IpInstance_SwapENABLE|$IpInstance_OverrunDisableENABLE|$IpInstance_DMADisableonRxErrorENABLE|$IpInstance_MSBFirstENABLE|$IpInstance_UART_AutoBaudRate_Enable|(VirtualMode = VM_SMARTCARD))"/>
        <PossibleValue Comment="" Semaphore="$IpInstance_ADVFEATURE_NO_INIT" Value="UART_ADVFEATURE_NO_INIT"/>
    </RefParameter>

    <RefParameter Comment="UART Advanced Features" DefaultValue="+IsClockTxPinLevelInvert+|IsClockRxPinLevelInvert+|IsClockDataInvert+|IsClockSwap+|IsClockOverrunDisable+|IsClockDMADisableonRxError+|IsClockMSBFirst" Name="AdvFeatureInit" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="VirtualClockMode = VM_SMARTCARD"/>
    </RefParameter>
    <RefParameter Comment="UART Advanced Features" DefaultValue="+IsSmartCardTxPinLevelInvert+|IsSmartCardRxPinLevelInvert+|IsSmartCardDataInvert+|IsSmartCardSwap+|IsSmartCardOverrunDisable+|IsSmartCardDMADisableonRxError+|IsSmartCardMSBFirst" Name="AdvFeatureInit" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
    </RefParameter>
		
    <RefParameter Comment="UART Advanced Features" DefaultValue="+IsTxPinLevelInvert+|IsRxPinLevelInvert+|IsDataInvert+|IsSwap+|IsOverrunDisable+|IsDMADisableonRxError+|IsMSBFirst+|IsAutoBaudRateMode" Name="AdvFeatureInit" Type="list" Visible="false"/>
    <!-- TxPinLevelInvert -->
    <RefParameter Comment="TX Pin Active Level Is Inverted arg" DefaultValue="SMARTCARD_ADVFEATURE_TXINV_ENABLE" Group="Advanced Features" Name="TxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardTxPinLevelInvertParam = SMARTCARD_ADVFEATURE_TXINV_ENABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX Pin Active Level Is Inverted arg" DefaultValue="SMARTCARD_ADVFEATURE_TXINV_ENABLE" Group="Advanced Features" Name="TxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardTxPinLevelInvertParam = SMARTCARD_ADVFEATURE_TXINV_ENABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX Pin Active Level Is Inverted arg" DefaultValue="UART_ADVFEATURE_TXINV_ENABLE" Group="Advanced Features" Name="TxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_TxPinLevelInvertENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX Pin Active Level Is Inverted arg" DefaultValue="null" Group="Advanced Features" Name="TxPinLevelInvert" Type="list" Visible="false"/>
   
    <RefParameter Comment="TX Pin Active Level Inversion" DefaultValue="ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="TxPinLevelInvertParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_TXINV_DISABLE"/>
        <PossibleValue Comment="Enable"  Value="ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="SmartCard TX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="SmartCardTxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (TxPinLevelInvertParam=ADVFEATURE_TXINV_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_TXINV_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="SmartCard TX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_TXINV_ENABLE" Group="Advanced Features" Name="SmartCardTxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (TxPinLevelInvertParam=ADVFEATURE_TXINV_ENABLE)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_CLOCK_TxPinLevelInvertENABLE" Value="SMARTCARD_ADVFEATURE_TXINV_ENABLE"/>        
    </RefParameter>    
    <RefParameter Comment="SmartCard TX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="SmartCardTxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (TxPinLevelInvertParam=ADVFEATURE_TXINV_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_TXINV_DISABLE"/>
    </RefParameter> 
    <RefParameter Comment="SmartCard TX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="SmartCardTxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (TxPinLevelInvertParam=ADVFEATURE_TXINV_ENABLE)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_SC_TxPinLevelInvertENABLE" Value="SMARTCARD_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>   
    <RefParameter Comment="TX Pin Active Level Inversion" DefaultValue="UART_ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="UartTxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(TxPinLevelInvertParam=ADVFEATURE_TXINV_DISABLE) &amp; !(VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_TXINV_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="TX Pin Active Level Inversion" DefaultValue="UART_ADVFEATURE_TXINV_DISABLE" Group="Advanced Features" Name="UartTxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(TxPinLevelInvertParam=ADVFEATURE_TXINV_ENABLE) &amp; !(VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_TxPinLevelInvertENABLE" Value="UART_ADVFEATURE_TXINV_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="CLOCK SMARTCARD IsTxPinLevelInvert" DefaultValue="SMARTCARD_ADVFEATURE_TXINVERT_INIT" Group="Advanced Features" Name="IsClockTxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_CLOCK_TxPinLevelInvertENABLE &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="SMARTCARD_ADVFEATURE_TXINVERT_INIT" Value="SMARTCARD_ADVFEATURE_TXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsClockTxPinLevelInvert" Type="list" Visible="false"/>
    <RefParameter Comment="SMARTCARD IsTxPinLevelInvert" DefaultValue="SMARTCARD_ADVFEATURE_TXINVERT_INIT" Group="Advanced Features" Name="IsSmartCardTxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardTxPinLevelInvertParam=SMARTCARD_ADVFEATURE_TXINV_ENABLE)"/>
        <PossibleValue Comment="SMARTCARD_ADVFEATURE_TXINVERT_INIT" Value="SMARTCARD_ADVFEATURE_TXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSmartCardTxPinLevelInvert" Type="list" Visible="false"/>
    <RefParameter Comment="IsTxPinLevelInvert" DefaultValue="UART_ADVFEATURE_TXINVERT_INIT" Group="Advanced Features" Name="IsTxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_TxPinLevelInvertENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_TXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsTxPinLevelInvert" Type="list" Visible="false"/>
    <!--RxPinLevelInvert -->
	
    <RefParameter Comment="RX Pin Active Level Is Inverted arg" DefaultValue="SMARTCARD_ADVFEATURE_RXINV_ENABLE" Group="Advanced Features" Name="RxPinLevelInvert" Type="list">
        <Condition Diagnostic="" Expression="(SmartCardRxPinLevelInvertParam = SMARTCARD_ADVFEATURE_RXINV_ENABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>	
    <RefParameter Comment="RX Pin Active Level Is Inverted arg" DefaultValue="SMARTCARD_ADVFEATURE_RXINV_ENABLE" Group="Advanced Features" Name="RxPinLevelInvert" Type="list">
        <Condition Diagnostic="" Expression="(SmartCardRxPinLevelInvertParam = SMARTCARD_ADVFEATURE_RXINV_ENABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="RX Pin Active Level Is Inverted arg" DefaultValue="UART_ADVFEATURE_RXINV_ENABLE" Group="Advanced Features" Name="RxPinLevelInvert" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_RxPinLevelInvertENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="RX Pin Active Level Is Inverted arg" DefaultValue="null" Group="Advanced Features" Name="RxPinLevelInvert" Type="list" Visible="false"/>
	
    
    <RefParameter Comment="RX Pin Active Level Inversion" DefaultValue="ADVFEATURE_RXINV_DISABLE" Group="Advanced Features" Name="RxPinLevelInvertParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_RXINV_DISABLE"/>
        <PossibleValue Comment="Enable"  Value="ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment=" SmartCard RX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_RXINV_DISABLE" Group="Advanced Features" Name="SmartCardRxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (RxPinLevelInvertParam=ADVFEATURE_RXINV_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_RXINV_DISABLE"/>
    </RefParameter>
    <RefParameter Comment=" SmartCard RX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_RXINV_ENABLE" Group="Advanced Features" Name="SmartCardRxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (RxPinLevelInvertParam=ADVFEATURE_RXINV_ENABLE)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_CLOCK_RXINV_ENABLE" Value="SMARTCARD_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment=" SmartCard RX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_RXINV_DISABLE" Group="Advanced Features" Name="SmartCardRxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (RxPinLevelInvertParam=ADVFEATURE_RXINV_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_RXINV_DISABLE"/>
    </RefParameter>
    <RefParameter Comment=" SmartCard RX Pin Active Level Inversion" DefaultValue="SMARTCARD_ADVFEATURE_RXINV_DISABLE" Group="Advanced Features" Name="SmartCardRxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (RxPinLevelInvertParam=ADVFEATURE_RXINV_ENABLE)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_SC_RXINV_ENABLE" Value="SMARTCARD_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="RX Pin Active Level Inversion" DefaultValue="UART_ADVFEATURE_RXINV_ENABLE" Group="Advanced Features" Name="UartRxPinLevelInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(RxPinLevelInvertParam=ADVFEATURE_RXINV_ENABLE) &amp; !(VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_RxPinLevelInvertENABLE" Value="UART_ADVFEATURE_RXINV_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="CLOCK SMARTCARD IsRxPinLevelInvert" DefaultValue="SMARTCARD_ADVFEATURE_RXINVERT_INIT" Group="Advanced Features" Name="IsClockRxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_CLOCK_RXINV_ENABLE"/>
        <PossibleValue Comment="CLOCK RXINVERT_INIT" Value="SMARTCARD_ADVFEATURE_RXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsClockRxPinLevelInvert" Type="list" Visible="false"/>
    <RefParameter Comment="SMARTCARD IsRxPinLevelInvert" DefaultValue="SMARTCARD_ADVFEATURE_RXINVERT_INIT" Group="Advanced Features" Name="IsSmartCardRxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="SmartCardRxPinLevelInvertParam=SMARTCARD_ADVFEATURE_RXINV_ENABLE"/>
        <PossibleValue Comment="RXINVERT_INIT" Value="SMARTCARD_ADVFEATURE_RXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSmartCardRxPinLevelInvert" Type="list" Visible="false"/>
    <RefParameter Comment="IsRxPinLevelInvert" DefaultValue="UART_ADVFEATURE_RXINVERT_INIT" Group="Advanced Features" Name="IsRxPinLevelInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_RxPinLevelInvertENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_RXINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsRxPinLevelInvert" Type="list" Visible="false"/>
       
    <!-- -->
    <RefParameter Comment="Data Are Inverted arg" DefaultValue="SMARTCARD_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="DataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardDataInvertParam = SMARTCARD_ADVFEATURE_DATAINV_ENABLE)&amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Are Inverted arg" DefaultValue="SMARTCARD_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="DataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardDataInvertParam = SMARTCARD_ADVFEATURE_DATAINV_ENABLE)&amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Are Inverted arg" DefaultValue="UART_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="DataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DataInvertENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Are Inverted arg" DefaultValue="null" Group="Advanced Features" Name="DataInvert" Type="list" Visible="false"/>
	
    
    <RefParameter Comment="Data Inversion" DefaultValue="ADVFEATURE_DATAINV_DISABLE" Group="Advanced Features" Name="DataInvertParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_DATAINV_DISABLE"/>
        <PossibleValue Comment="Enable"  Value="ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="Data Inversion" DefaultValue="SMARTCARD_ADVFEATURE_DATAINV_DISABLE" Group="Advanced Features" Name="SmartCardDataInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (DataInvertParam = ADVFEATURE_DATAINV_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_DATAINV_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Inversion" DefaultValue="SMARTCARD_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="SmartCardDataInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (DataInvertParam = ADVFEATURE_DATAINV_ENABLE)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_Clock_DataInvertENABLE" Value="SMARTCARD_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Inversion" DefaultValue="SMARTCARD_ADVFEATURE_DATAINV_DISABLE" Group="Advanced Features" Name="SmartCardDataInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (DataInvertParam = ADVFEATURE_DATAINV_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_DATAINV_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Data Inversion" DefaultValue="SMARTCARD_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="SmartCardDataInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (DataInvertParam = ADVFEATURE_DATAINV_ENABLE)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_Sc_DataInvertENABLE" Value="SMARTCARD_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="Data Inversion" DefaultValue="UART_ADVFEATURE_DATAINV_ENABLE" Group="Advanced Features" Name="UartDataInvertParam" Type="list">
        <Condition Diagnostic="" Expression="(DataInvertParam = ADVFEATURE_DATAINV_ENABLE) &amp; !(VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_DataInvertENABLE" Value="UART_ADVFEATURE_DATAINV_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="SMARTCARD IsDataInvert" DefaultValue="SMARTCARD_ADVFEATURE_DATAINVERT_INIT" Group="Advanced Features" Name="IsClockDataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_Clock_DataInvertENABLE"/>
        <PossibleValue Comment="CLOCK" Value="SMARTCARD_ADVFEATURE_DATAINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsClockDataInvert" Type="list" Visible="false"/>
    <RefParameter Comment="SMARTCARD IsDataInvert" DefaultValue="SMARTCARD_ADVFEATURE_DATAINVERT_INIT" Group="Advanced Features" Name="IsSmartCardDataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="SmartCardDataInvertParam=SMARTCARD_ADVFEATURE_DATAINV_ENABLE"/>
        <PossibleValue Comment="SMARTCARD" Value="SMARTCARD_ADVFEATURE_DATAINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSmartCardDataInvert" Type="list" Visible="false"/>

    <RefParameter Comment="IsDataInvert" DefaultValue="UART_ADVFEATURE_DATAINVERT_INIT" Group="Advanced Features" Name="IsDataInvert" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DataInvertENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_DATAINVERT_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsDataInvert" Type="list" Visible="false"/>
     
    <!-- -->
    <RefParameter Comment="TX and RX pins are swapped arg" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="Swap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardSwapParam = SMARTCARD_ADVFEATURE_SWAP_ENABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX pins are swapped arg" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="Swap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardSwapParam = SMARTCARD_ADVFEATURE_SWAP_ENABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX pins are swapped arg" DefaultValue="UART_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="Swap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_SwapENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX pins are swapped arg" DefaultValue="null" Group="Advanced Features" Name="Swap" Type="list" Visible="false"/>
	
    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="ADVFEATURE_SWAP_DISABLE" Group="Advanced Features" Name="SwapParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_SWAP_DISABLE"/>
        <PossibleValue Comment="Enable" Value="ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_DISABLE" Group="Advanced Features" Name="SmartCardSwapParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (SwapParam=ADVFEATURE_SWAP_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_SWAP_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="SmartCardSwapParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (SwapParam=ADVFEATURE_SWAP_ENABLE)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_DISABLE" Group="Advanced Features" Name="SmartCardSwapParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (SwapParam=ADVFEATURE_SWAP_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_SWAP_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="SmartCardSwapParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (SwapParam=ADVFEATURE_SWAP_ENABLE)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="TX and RX Pins Swapping" DefaultValue="UART_ADVFEATURE_SWAP_ENABLE" Group="Advanced Features" Name="UartSwapParam" Type="list">
        <Condition Diagnostic="" Expression="(SwapParam=ADVFEATURE_SWAP_ENABLE) &amp; !(VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_SwapENABLE" Value="UART_ADVFEATURE_SWAP_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="SMARTCARD IsSwap" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_INIT" Group="Advanced Features" Name="IsClockSwap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardSwapParam = SMARTCARD_ADVFEATURE_SWAP_ENABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="CLOCK" Value="SMARTCARD_ADVFEATURE_SWAP_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsClockSwap" Type="list" Visible="false"/>
    <RefParameter Comment="SMARTCARD IsSwap" DefaultValue="SMARTCARD_ADVFEATURE_SWAP_INIT" Group="Advanced Features" Name="IsSmartCardSwap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardSwapParam = SMARTCARD_ADVFEATURE_SWAP_ENABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="SMARTCARD" Value="SMARTCARD_ADVFEATURE_SWAP_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSmartCardSwap" Type="list" Visible="false"/>
    <RefParameter Comment="IsSwap" DefaultValue="UART_ADVFEATURE_SWAP_INIT" Group="Advanced Features" Name="IsSwap" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_SwapENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_SWAP_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSwap" Type="list" Visible="false"/>
      
    <!-- -->
    <RefParameter Comment="Overrun State arg" DefaultValue="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="OverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardOverrunDisableParam = SMARTCARD_ADVFEATURE_OVERRUN_DISABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter> 
    <RefParameter Comment="Overrun State arg" DefaultValue="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="OverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardOverrunDisableParam = SMARTCARD_ADVFEATURE_OVERRUN_DISABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter> 
    <RefParameter Comment="Overrun State arg" DefaultValue="UART_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="OverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_OverrunDisableENABLE"/>
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Overrun State arg" DefaultValue="null" Group="Advanced Features" Name="OverrunDisable" Type="list" Visible="false"/>
	
    
    <RefParameter Comment="Overrun" DefaultValue="ADVFEATURE_OVERRUN_ENABLE" Group="Advanced Features" Name="OverrunDisableParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_OVERRUN_DISABLE"/>
        <PossibleValue Comment="Enable" Value="ADVFEATURE_OVERRUN_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="Overrun" DefaultValue="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="SmartCardOverrunDisableParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Overrun" DefaultValue="SMARTCARD_ADVFEATURE_OVERRUN_ENABLE" Group="Advanced Features" Name="SmartCardOverrunDisableParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (OverrunDisableParam=ADVFEATURE_OVERRUN_ENABLE)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_OVERRUN_ENABLE"/>
    </RefParameter>
    
    <RefParameter Comment="Overrun" DefaultValue="SMARTCARD_ADVFEATURE_OVERRUN_ENABLE" Group="Advanced Features" Name="SmartCardOverrunDisableParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD)&amp; (OverrunDisableParam=ADVFEATURE_OVERRUN_ENABLE)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_OVERRUN_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Overrun" DefaultValue="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="SmartCardOverrunDisableParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD)&amp; (OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter>
    
    <RefParameter Comment="Overrun" DefaultValue="UART_ADVFEATURE_OVERRUN_DISABLE" Group="Advanced Features" Name="UartOverrunDisableParam" Type="list">
        <Condition Diagnostic="" Expression="(OverrunDisableParam=ADVFEATURE_OVERRUN_DISABLE) &amp; !(VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Semaphore="$IpInstance_OverrunDisableENABLE" Value="UART_ADVFEATURE_OVERRUN_DISABLE"/>
    </RefParameter>
	
    <RefParameter Comment="CLOCK" DefaultValue="SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT" Group="Advanced Features" Name="IsClockOverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardOverrunDisableParam = SMARTCARD_ADVFEATURE_OVERRUN_DISABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="CLOCK" Value="SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsClockOverrunDisable" Type="list" Visible="false"/>
   
    <RefParameter Comment="SMARTCARD" DefaultValue="SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT" Group="Advanced Features" Name="IsSmartCardOverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardOverrunDisableParam = SMARTCARD_ADVFEATURE_OVERRUN_DISABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="SMARTCARD" Value="SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSmartCardOverrunDisable" Type="list" Visible="false"/>
   
    <RefParameter Comment="" DefaultValue="UART_ADVFEATURE_RXOVERRUNDISABLE_INIT" Group="Advanced Features" Name="IsOverrunDisable" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_OverrunDisableENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_RXOVERRUNDISABLE_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsOverrunDisable" Type="list" Visible="false"/>
      
    <!-- -->
    <RefParameter Comment="DMA State arg" DefaultValue="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="DMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardDMADisableonRxErrorParam = SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>  
    <RefParameter Comment="DMA State arg" DefaultValue="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="DMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardDMADisableonRxErrorParam = SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>  
    <RefParameter Comment="DMA State arg" DefaultValue="UART_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="DMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DMADisableonRxErrorENABLE"/>
        <PossibleValue Comment="Disable" Value="UART_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>
    <RefParameter Comment="DMA State arg" DefaultValue="null" Group="Advanced Features" Name="DMADisableonRxError" Type="list" Visible="false"/>
	
    <RefParameter Comment="DMA on RX Error" DefaultValue="ADVFEATURE_DMA_ENABLEONRXERROR" Group="Advanced Features" Name="DMADisableonRxErrorParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_DMA_DISABLEONRXERROR"/>
        <PossibleValue Comment="Enable" Value="ADVFEATURE_DMA_ENABLEONRXERROR"/>
    </RefParameter>
    
    <RefParameter Comment="DMA on RX Error" DefaultValue="SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR" Group="Advanced Features" Name="SmartCardDMADisableonRxErrorParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (DMADisableonRxErrorParam=ADVFEATURE_DMA_ENABLEONRXERROR)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR"/>
    </RefParameter>
    
    <RefParameter Comment="DMA on RX Error" DefaultValue="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="SmartCardDMADisableonRxErrorParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualClockMode = VM_SMARTCARD) &amp; (DMADisableonRxErrorParam=ADVFEATURE_DMA_DISABLEONRXERROR)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>
    
    <RefParameter Comment="DMA on RX Error" DefaultValue="SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR" Group="Advanced Features" Name="SmartCardDMADisableonRxErrorParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD) &amp; (DMADisableonRxErrorParam=ADVFEATURE_DMA_ENABLEONRXERROR)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_DMA_ENABLEONRXERROR"/>
    </RefParameter>
    <RefParameter Comment="DMA on RX Error" DefaultValue="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="SmartCardDMADisableonRxErrorParam" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SMARTCARD)&amp; (DMADisableonRxErrorParam=ADVFEATURE_DMA_DISABLEONRXERROR)"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>
    <RefParameter Comment="DMA on RX Error" DefaultValue="UART_ADVFEATURE_DMA_DISABLEONRXERROR" Group="Advanced Features" Name="UartDMADisableonRxErrorParam" Type="list">
        <Condition Diagnostic="" Expression="(DMADisableonRxErrorParam=ADVFEATURE_DMA_DISABLEONRXERROR)  &amp; !(VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Disable" Semaphore="$IpInstance_DMADisableonRxErrorENABLE" Value="UART_ADVFEATURE_DMA_DISABLEONRXERROR"/>
    </RefParameter>
	
    <RefParameter Comment="SMARTCARD IsDMADisableonRxError" DefaultValue="SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT" Group="Advanced Features" Name="IsClockDMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardDMADisableonRxErrorParam = SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="CLOCK" Value="SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT"/>
    </RefParameter>
    <RefParameter Comment="IsDMADisableonRxError" DefaultValue="" Group="Advanced Features" Name="IsClockDMADisableonRxError" Type="list" Visible="false"/>
    <RefParameter Comment="SMARTCARD IsDMADisableonRxError" DefaultValue="SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT" Group="Advanced Features" Name="IsSmartCardDMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardDMADisableonRxErrorParam = SMARTCARD_ADVFEATURE_DMA_DISABLEONRXERROR) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="SMARTCARD" Value="SMARTCARD_ADVFEATURE_DMADISABLEONERROR_INIT"/>
    </RefParameter>
    <RefParameter Comment="IsDMADisableonRxError" DefaultValue="" Group="Advanced Features" Name="IsSmartCardDMADisableonRxError" Type="list" Visible="false"/>
    <RefParameter Comment="" DefaultValue="UART_ADVFEATURE_DMADISABLEONERROR_INIT" Group="Advanced Features" Name="IsDMADisableonRxError" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_DMADisableonRxErrorENABLE"/>
        <PossibleValue Comment="" Value="UART_ADVFEATURE_DMADISABLEONERROR_INIT"/>
    </RefParameter>
    <RefParameter Comment="IsDMADisableonRxError" DefaultValue="" Group="Advanced Features" Name="IsDMADisableonRxError" Type="list" Visible="false"/>
    <!-- -->
    <RefParameter Comment="MSB Is Sent First arg" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="MSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardMSBFirstParam = SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB Is Sent First arg" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="MSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardMSBFirstParam = SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB Is Sent First arg" DefaultValue="UART_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="MSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_MSBFirstENABLE"/>
        <PossibleValue Comment="Enable" Value="UART_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB Is Sent First arg" DefaultValue="null" Group="Advanced Features" Name="MSBFirst" Type="list" Visible="false"/>
	
    <RefParameter Comment="MSB First" DefaultValue="ADVFEATURE_MSBFIRST_DISABLE" Group="Advanced Features" Name="MSBFirstParam" Type="list">
        <PossibleValue Comment="Disable" Value="ADVFEATURE_MSBFIRST_DISABLE"/>
        <PossibleValue Comment="Enable" Value="ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB First" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE" Group="Advanced Features" Name="SmartCardMSBFirstParam" Type="list">
        <Condition Diagnostic="" Expression="((VirtualClockMode = VM_SMARTCARD) &amp; (MSBFirstParam=ADVFEATURE_MSBFIRST_DISABLE))"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB First" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="SmartCardMSBFirstParam" Type="list">
        <Condition Diagnostic="" Expression="((VirtualClockMode = VM_SMARTCARD) &amp; (MSBFirstParam=ADVFEATURE_MSBFIRST_ENABLE))"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB First" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE" Group="Advanced Features" Name="SmartCardMSBFirstParam" Type="list">
        <Condition Diagnostic="" Expression="((VirtualMode = VM_SMARTCARD) &amp; (MSBFirstParam=ADVFEATURE_MSBFIRST_DISABLE))"/>
        <PossibleValue Comment="Disable" Value="SMARTCARD_ADVFEATURE_MSBFIRST_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB First" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="SmartCardMSBFirstParam" Type="list">
        <Condition Diagnostic="" Expression="((VirtualMode = VM_SMARTCARD) &amp; (MSBFirstParam=ADVFEATURE_MSBFIRST_ENABLE))"/>
        <PossibleValue Comment="Enable" Value="SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="MSB First" DefaultValue="UART_ADVFEATURE_MSBFIRST_ENABLE" Group="Advanced Features" Name="UartMSBFirstParam" Type="list">
        <Condition Diagnostic="" Expression="(MSBFirstParam=ADVFEATURE_MSBFIRST_ENABLE) &amp; !(VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="Enable" Semaphore="$IpInstance_MSBFirstENABLE" Value="UART_ADVFEATURE_MSBFIRST_ENABLE"/>
    </RefParameter>
	
    <RefParameter Comment="SMARTCARD IsMSBFirst" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_INIT" Group="Advanced Features" Name="IsClockMSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardMSBFirstParam = SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE) &amp; (VirtualClockMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="CLOCK" Value="SMARTCARD_ADVFEATURE_MSBFIRST_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsClockMSBFirst" Type="list" Visible="false"/>
    <RefParameter Comment="SMARTCARD IsMSBFirst" DefaultValue="SMARTCARD_ADVFEATURE_MSBFIRST_INIT" Group="Advanced Features" Name="IsSmartCardMSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="(SmartCardMSBFirstParam = SMARTCARD_ADVFEATURE_MSBFIRST_ENABLE) &amp; (VirtualMode = VM_SMARTCARD)"/>
        <PossibleValue Comment="CLOCK" Value="SMARTCARD_ADVFEATURE_MSBFIRST_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsSmartCardMSBFirst" Type="list" Visible="false"/>
    <RefParameter Comment="IsMSBFirst" DefaultValue="UART_ADVFEATURE_MSBFIRST_INIT" Group="Advanced Features" Name="IsMSBFirst" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_MSBFirstENABLE"/>
        <PossibleValue Comment="SMARTCARD" Value="UART_ADVFEATURE_MSBFIRST_INIT"/>
    </RefParameter>
    <RefParameter Comment="" DefaultValue="" Group="Advanced Features" Name="IsMSBFirst" Type="list" Visible="false"/>
    <!-- -->
    <RefParameter Comment="Auto Baudrate Mode" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT" Group="Advanced Features" Name="AutoBaudRateMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable &amp; ($IpInstance_Usart_7B|$IpInstance_Uart_7B)"/>
        <PossibleValue Comment="ON START BIT" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT"/>
        <PossibleValue Comment="ON FALLING EDGE" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE"/>
    </RefParameter>
    <RefParameter Comment="Auto Baudrate Mode" DefaultValue="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT" Group="Advanced Features" Name="AutoBaudRateMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_UART_AutoBaudRate_Enable"/>
        <PossibleValue Comment="ON START BIT" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONSTARTBIT"/>
        <PossibleValue Comment="ON FALLING EDGE" Value="UART_ADVFEATURE_AUTOBAUDRATE_ONFALLINGEDGE"/>
        <PossibleValue Comment="ON 0X7F FRAME" Value="UART_ADVFEATURE_AUTOBAUDRATE_ON0X7FFRAME"/>
        <PossibleValue Comment="ON 0X55 FRAME" Value="UART_ADVFEATURE_AUTOBAUDRATE_ON0X55FRAME"/>
    </RefParameter>
    <RefParameter Comment="Auto Baudrate Mode" DefaultValue="null" Group="Advanced Features" Name="AutoBaudRateMode" Type="list" Visible="false"/>

    
    <RefParameter Comment="NSSConfig" DefaultValue="USART_NSS_HARD" Group="Advanced Parameters" Name="NSSConfig" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_Hardware_Management &amp; $IpInstance_Synchronous_Slave"/>
        <PossibleValue Comment="Hardware management" Value="USART_NSS_HARD"/>
    </RefParameter>
    <RefParameter Comment="NSSConfig" DefaultValue="USART_NSS_SOFT" Group="Advanced Parameters" Name="NSSConfig" Type="list" Visible="false">
        <Condition Diagnostic="" Expression="$IpInstance_Software_Management &amp; $IpInstance_Synchronous_Slave"/>
        <PossibleValue Comment="Software management" Value="USART_NSS_SOFT"/>
    </RefParameter>
    <RefParameter Comment="NSSConfig" DefaultValue="" Group="Advanced Parameters" Name="NSSConfig" Type="list" Visible="false"/>
		
    
    <RefParameter Comment="Slave Mode" DefaultValue="USART_SLAVEMODE_ENABLE" Group="Advanced Parameters" Name="SlaveMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Synchronous_Slave"/>
        <PossibleValue Comment="Enable" Value="USART_SLAVEMODE_ENABLE"/>
    </RefParameter>
    <RefParameter Comment="Slave Mode" DefaultValue="USART_SLAVEMODE_DISABLE" Group="Advanced Parameters" Name="SlaveMode" Type="list">
        <Condition Diagnostic="" Expression="$IpInstance_Synchronous_Master"/>        
        <PossibleValue Comment="Disable " Value="USART_SLAVEMODE_DISABLE"/>
    </RefParameter>    

           
    <RefParameter Comment="Fifo Mode" DefaultValue="FIFOMODE_DISABLE" Group="Advanced Parameters" Name="FIFOMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC | VirtualMode = VM_ASYNC | VirtualMode = VM_LIN"/>
        <PossibleValue Comment="Disable " Value="FIFOMODE_DISABLE"/>
        <PossibleValue Comment="Enable " Value="FIFOMODE_ENABLE"/>
    </RefParameter>
    
    <RefParameter Comment="Fifo Mode" DefaultValue="SMARTCARD_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="FIFOMode" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="Disable " Value="SMARTCARD_FIFOMODE_DISABLE"/>
        <PossibleValue Comment="Enable " Value="SMARTCARD_FIFOMODE_ENABLE"/>
    </RefParameter>
    
    <RefParameter Comment="Fifo Mode" DefaultValue="USART_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="UsartFIFOMode" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; FIFOMode=FIFOMODE_DISABLE"/>
        <PossibleValue Comment="Disable " Value="USART_FIFOMODE_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Fifo Mode" DefaultValue="USART_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="UsartFIFOMode" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; FIFOMode=FIFOMODE_ENABLE"/>
        <PossibleValue Comment="Enable " Value="USART_FIFOMODE_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="Fifo Mode" DefaultValue="UART_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="UartFIFOMode" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; FIFOMode=FIFOMODE_DISABLE"/>
        <PossibleValue Comment="Disable " Value="UART_FIFOMODE_DISABLE"/>
    </RefParameter>
    <RefParameter Comment="Fifo Mode" DefaultValue="UART_FIFOMODE_DISABLE" Group="Advanced Parameters" Name="UartFIFOMode" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; FIFOMode=FIFOMODE_ENABLE"/>
        <PossibleValue Comment="Enable " Value="UART_FIFOMODE_ENABLE"/>
    </RefParameter>

    <RefParameter Comment="Txfifo Threshold" DefaultValue="TXFIFO_THRESHOLD_1EIGHTHFULL" Group="Advanced Parameters" Name="TXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC | VirtualMode = VM_ASYNC | VirtualMode = VM_LIN"/>
        <PossibleValue Comment="1 eighth full configuration" Value="TXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 quart full configuration"  Value="TXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="half full configuration"     Value="TXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="3 quarts full configuration" Value="TXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="7 eighth full configuration" Value="TXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="empty " Value="TXFIFO_THRESHOLD_EMPTY"/>
    </RefParameter>
    
    <RefParameter Comment="Txfifo Threshold" DefaultValue="SMARTCARD_TXFIFO_THRESHOLD_1EIGHTHFULL" Group="Advanced Parameters" Name="TXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="1 eighth full configuration" Value="SMARTCARD_TXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 quart full configuration"  Value="SMARTCARD_TXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="half full configuration"     Value="SMARTCARD_TXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="3 quarts full configuration" Value="SMARTCARD_TXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="7 eighth full configuration" Value="SMARTCARD_TXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="empty " Value="SMARTCARD_TXFIFO_THRESHOLD_EMPTY"/>
    </RefParameter>
    
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_1_8" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 eighth full configuration " Value="UART_TXFIFO_THRESHOLD_1_8"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_1_4" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="1 quart full configuration "  Value="UART_TXFIFO_THRESHOLD_1_4"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_1_2" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="half full configuration "     Value="UART_TXFIFO_THRESHOLD_1_2"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_3_4" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="UART_TXFIFO_THRESHOLD_3_4"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_7_8" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualfoMode = VM_LIN) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="UART_TXFIFO_THRESHOLD_7_8"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="UART_TXFIFO_THRESHOLD_8_8" Group="Advanced Parameters" Name="UartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_EMPTY"/>
        <PossibleValue Comment="empty " Value="UART_TXFIFO_THRESHOLD_8_8"/>
    </RefParameter>

    <RefParameter Comment="Txfifo Threshold" DefaultValue="USART_TXFIFO_THRESHOLD_1_8" Group="Advanced Parameters" Name="UsartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 eighth full configuration " Value="USART_TXFIFO_THRESHOLD_1_8"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="USART_TXFIFO_THRESHOLD_1_4" Group="Advanced Parameters" Name="UsartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="1 quart full configuration "  Value="USART_TXFIFO_THRESHOLD_1_4"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="USART_TXFIFO_THRESHOLD_1_2" Group="Advanced Parameters" Name="UsartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="half full configuration "     Value="USART_TXFIFO_THRESHOLD_1_2"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="USART_TXFIFO_THRESHOLD_3_4" Group="Advanced Parameters" Name="UsartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="USART_TXFIFO_THRESHOLD_3_4"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="USART_TXFIFO_THRESHOLD_7_8" Group="Advanced Parameters" Name="UsartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="USART_TXFIFO_THRESHOLD_7_8"/>
    </RefParameter>
    <RefParameter Comment="Txfifo Threshold" DefaultValue="USART_TXFIFO_THRESHOLD_8_8" Group="Advanced Parameters" Name="UsartTXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; TXFIFOThreshold=TXFIFO_THRESHOLD_EMPTY"/>
        <PossibleValue Comment="empty " Value="USART_TXFIFO_THRESHOLD_8_8"/>
    </RefParameter>

    <RefParameter Comment="Rxfifo Threshold" DefaultValue="RXFIFO_THRESHOLD_1EIGHTHFULL" Group="Advanced Parameters" Name="RXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SYNC | VirtualMode = VM_ASYNC | VirtualMode = VM_LIN"/>
        <PossibleValue Comment="1 eighth full configuration " Value="RXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 quart full configuration " Value="RXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="half full configuration " Value="RXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="RXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="RXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="Full " Value="RXFIFO_THRESHOLD_FULL"/>
    </RefParameter>
    
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="SMARTCARD_RXFIFO_THRESHOLD_1EIGHTHFULL" Group="Advanced Parameters" Name="RXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="VirtualMode = VM_SMARTCARD"/>
        <PossibleValue Comment="1 eighth full configuration " Value="SMARTCARD_RXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="1 quart full configuration " Value="SMARTCARD_RXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="half full configuration " Value="SMARTCARD_RXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="3 quarts full configuration " Value="SMARTCARD_RXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="7 eighth full configuration " Value="SMARTCARD_RXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="Full " Value="SMARTCARD_RXFIFO_THRESHOLD_FULL"/>
    </RefParameter>
    
    
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="USART_RXFIFO_THRESHOLD_1_8" Group="Advanced Parameters" Name="UsartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="RXFIFO threshold 1 eighth full configuration " Value="USART_RXFIFO_THRESHOLD_1_8"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="USART_RXFIFO_THRESHOLD_1_4" Group="Advanced Parameters" Name="UsartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="RXFIFO threshold 1 quart full configuration " Value="USART_RXFIFO_THRESHOLD_1_4"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="USART_RXFIFO_THRESHOLD_1_2" Group="Advanced Parameters" Name="UsartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="RXFIFO threshold half full configuration " Value="USART_RXFIFO_THRESHOLD_1_2"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="USART_RXFIFO_THRESHOLD_3_4" Group="Advanced Parameters" Name="UsartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="RXFIFO threshold 3 quarts full configuration " Value="USART_RXFIFO_THRESHOLD_3_4"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="USART_RXFIFO_THRESHOLD_7_8" Group="Advanced Parameters" Name="UsartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="RXFIFO threshold 7 eighth full configuration " Value="USART_RXFIFO_THRESHOLD_7_8"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="USART_RXFIFO_THRESHOLD_8_8" Group="Advanced Parameters" Name="UsartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_SYNC) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_FULL"/>
        <PossibleValue Comment="RXFIFO becomes Full " Value="USART_RXFIFO_THRESHOLD_8_8"/>
    </RefParameter>
        
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_1_8" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_1EIGHTHFULL"/>
        <PossibleValue Comment="RXFIFO threshold 1 eighth full configuration " Value="UART_RXFIFO_THRESHOLD_1_8"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_1_4" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_1QUARTERFULL"/>
        <PossibleValue Comment="RXFIFO threshold 1 quart full configuration " Value="UART_RXFIFO_THRESHOLD_1_4"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_1_2" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_HALFFULL"/>
        <PossibleValue Comment="RXFIFO threshold half full configuration " Value="UART_RXFIFO_THRESHOLD_1_2"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_3_4" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_3QUARTERSFULL"/>
        <PossibleValue Comment="RXFIFO threshold 3 quarts full configuration " Value="UART_RXFIFO_THRESHOLD_3_4"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_7_8" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_7EIGHTHFULL"/>
        <PossibleValue Comment="RXFIFO threshold 7 eighth full configuration " Value="UART_RXFIFO_THRESHOLD_7_8"/>
    </RefParameter>
    <RefParameter Comment="Rxfifo Threshold" DefaultValue="UART_RXFIFO_THRESHOLD_8_8" Group="Advanced Parameters" Name="UartRXFIFOThreshold" Type="list">
        <Condition Diagnostic="" Expression="(VirtualMode = VM_ASYNC | VirtualMode = VM_LIN) &amp; RXFIFOThreshold=RXFIFO_THRESHOLD_FULL"/>
        <PossibleValue Comment="RXFIFO becomes Full " Value="UART_RXFIFO_THRESHOLD_8_8"/>
    </RefParameter>

    <RefMode Abstract="true" Name="usartBasic">
        <Parameter Name="BaudRate"/>
    </RefMode>
	
	
    <!-- RefMode for Asynchronous UART -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Asynchronous">
        <Condition Diagnostic="" Expression="$IpInstance_HardwareControl"/>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_ASYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Asynchronous">
        <ConfigForMode>Uart_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_ASYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <Parameter Name="HwFlowCtl"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	
    <!-- RefMode for 'Synchronous' USART -->
    <RefMode BaseMode="usartBasic" HalMode="USART" Name="Synchronous">
        <ConfigForMode>Usart_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_SYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
	
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="SlaveMode"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Clock Parameters -->
        <Parameter Name="CLKPolarity"/>
        <Parameter Name="CLKPhase"/>
        <Parameter Name="CLKLastBit"/>
    </RefMode>
	
    <!-- RefMode for 'Synchronous' USART -->
    <RefMode BaseMode="usartBasic" HalMode="USART" Name="Synchronous Slave">
        <ConfigForMode>Usart_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_SYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
	
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="NSSConfig"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="SlaveMode"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Clock Parameters -->
        <Parameter Name="CLKPolarity"/>
        <Parameter Name="CLKPhase"/>
        <Parameter Name="CLKLastBit"/>
    </RefMode>
	
    <!-- RefMode for 'Single Wire' UART -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Half_duplex(single_wire_mode)">
        <ConfigForMode>Uart_HalfDuplex_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_ASYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
	
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
		
    <!-- RefMode for 'MultiProcessor Communication' UART -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Multiprocessor_communication">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_IDLELINE"/>
        <ConfigForMode>Uart_MultiProcessor_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_ASYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="WakeUpMethod"/>
        <Parameter Name="Address"/>
        <Parameter Name="AddressLength"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
		
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
    
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="Multiprocessor_communication">
        <Condition Diagnostic="" Expression="WakeUpMethod=UART_WAKEUPMETHOD_ADDRESSMARK"/>
        <ConfigForMode>Uart_MultiProcessor_Ex_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_ASYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="WakeUpMethod"/>
        <Parameter Name="Address"/>
        <Parameter Name="AddressLength"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
		
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	
	
    <!-- RefModes for LIN -->
    <RefMode BaseMode="usartBasic" HalMode="UART" Name="LIN">
        <ConfigForMode>Uart_Lin_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_LIN</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!--  Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="OverSampling"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="BreakDetectLength"/>
        <Parameter Name="ClockPrescaler"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="AutoBaudRateEnableParam"/>
        <Parameter Name="AutoBaudRateMode"/>
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
    </RefMode>
	
    <!-- RefModes for RS485 -->
    <RefMode HalMode="UART" Name="Hardware Flow Control (RS485)">
        <ConfigForMode>Uart_RS485_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_ASYNC</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="UART_DEPolarity"/>
        <Parameter Name="UART_DEAssertionTime"/>
        <Parameter Name="UART_DEDeassertionTime"/>
	
    </RefMode>
	
    <!-- RefModes for SmartCard -->
    <RefMode Abstract="true" BaseMode="usartBasic" HalMode="SMARTCARD" Name="SmartCard">
        <ConfigForMode>SmartCard_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_SMARTCARD</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="NACKState"/>
        <Parameter Name="GuardTime"/>
        <Parameter Name="TimeOutEnable"/>
        <Parameter Name="TimeOutValue"/>
        <Parameter Name="BlockLength"/>
        <Parameter Name="AutoRetryCount"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Advanced Features -->
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
        <Parameter Name="IsSmartCardTxPinLevelInvert"/>
        <Parameter Name="IsSmartCardRxPinLevelInvert"/>
        <Parameter Name="IsSmartCardDataInvert"/>
        <Parameter Name="IsSmartCardSwap"/>
        <Parameter Name="IsSmartCardOverrunDisable"/>
        <Parameter Name="IsSmartCardDMADisableonRxError"/>
        <Parameter Name="IsSmartCardMSBFirst"/>
    </RefMode>
	
	
    <!-- RefModes for SmartCard with Clock -->
    <RefMode BaseMode="usartBasic" HalMode="SMARTCARD" Name="SmartCard_With_Clock">
        <ConfigForMode>SmartCard_Init</ConfigForMode>
        <Parameter Name="VirtualMode">
            <PossibleValue>VM_SMARTCARD</PossibleValue>
        </Parameter>
        <Parameter Name="VirtualClockMode">
            <PossibleValue>VM_SMARTCARD</PossibleValue>
        </Parameter>
        <!-- Basic Parameters -->
		
        <Parameter Name="WordLength"/>
        <Parameter Name="Parity"/>
        <Parameter Name="StopBits"/>
        <!-- Advanced Parameters -->
        <Parameter Name="Mode"/>
        <Parameter Name="NACKState"/>
        <Parameter Name="GuardTime"/>
        <Parameter Name="TimeOutEnable"/>
        <Parameter Name="TimeOutValue"/>
        <Parameter Name="BlockLength"/>
        <Parameter Name="AutoRetryCount"/>
        <Parameter Name="OneBitSampling"/>
        <Parameter Name="FIFOMode"/>
        <Parameter Name="TXFIFOThreshold"/>
        <Parameter Name="RXFIFOThreshold"/>
        <!-- Clock Parameters -->
        <Parameter Name="Prescaler"/>
        <Parameter Name="CalculateSpeed"/>
        <Parameter Name="CLKPolarity"/>
        <Parameter Name="CLKPhase"/>
        <Parameter Name="CLKLastBit"/>
        <!-- Advanced Features -->
        <Parameter Name="TxPinLevelInvertParam"/>
        <Parameter Name="RxPinLevelInvertParam"/>
        <Parameter Name="DataInvertParam"/>
        <Parameter Name="SwapParam"/>
        <Parameter Name="OverrunDisableParam"/>
        <Parameter Name="DMADisableonRxErrorParam"/>
        <Parameter Name="MSBFirstParam"/>
        <Parameter Name="IsClockTxPinLevelInvert"/>
        <Parameter Name="IsClockRxPinLevelInvert"/>
        <Parameter Name="IsClockDataInvert"/>
        <Parameter Name="IsClockSwap"/>
        <Parameter Name="IsClockOverrunDisable"/>
        <Parameter Name="IsClockDMADisableonRxError"/>
        <Parameter Name="IsClockMSBFirst"/>
    </RefMode>
	
	
    <!-- RefModes for Harwdware Flow Control -->
    <RefMode Name="CTS_Only"/>
	
    <RefMode Name="RTS_Only"/>
	
    <RefMode Name="CTS_RTS"/>
	
    <!-- Modes Description for USART/UART/SmartCard -->
    <ModeLogicOperator Name="OR">
        <Mode Name="Mode">
            <ModeLogicOperator Name="XOR">
                <Mode Name="Asynchronous">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Asynchronous</Semaphore>
                    <Semaphore>Asynchronous</Semaphore>
                </Mode>
                <Mode Name="Synchronous" UserName="Synchronous Master">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="CK"/>
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                    <Semaphore>$IpInstance_Synchronous_Master</Semaphore>
                </Mode>
                <Mode Name="Synchronous Slave">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="CK"/>
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                    <Semaphore>$IpInstance_Synchronous_Slave</Semaphore>
                </Mode>
                <Mode Name="Half_duplex(single_wire_mode)" UserName="Single Wire (Half-Duplex)">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="AlternateFunctionOpenDrain" Name="TX"/>
                    </SignalLogicalOp>
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                </Mode>
                <Mode Name="Multiprocessor_communication" UserName="Multiprocessor Communication">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                </Mode>
                <Mode Name="LIN">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RX"/>
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                </Mode>
                <Mode Name="SmartCard">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="AlternateFunctionOpenDrain" Name="TX"/>
                    </SignalLogicalOp>
                    <!--Condition Expression="$IpInstance_SmartCardHAL" Diagnostic="Not Active in hal mode"/-->
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                </Mode>
                <Mode Name="SmartCard_With_Clock" UserName="SmartCard with Card Clock">
                    <SignalLogicalOp Name="AND">
                        <Signal IOMode="AlternateFunctionOpenDrain" Name="TX"/>
                        <Signal Name="CK"/>
                    </SignalLogicalOp>
                    <!--Condition Expression="$IpInstance_SmartCardHAL" Diagnostic="Not Active in hal mode"/-->
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                </Mode>
                <Mode Name="ModbusCommunication" UserName="Modbus Communication">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="TX"/>
                    </SignalLogicalOp>
                    <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
                </Mode>
            </ModeLogicOperator>
        </Mode>
		
        <Mode Name="Hardware Flow Control (RS232)">
            <ModeLogicOperator Name="XOR">
                <Mode Name="CTS_Only" UserName="CTS Only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="CTS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Clear</Semaphore>
                </Mode>
                <Mode Name="RTS_Only" UserName="RTS Only">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="RTS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Request</Semaphore>
                </Mode>
                <Mode Name="CTS_RTS" UserName="CTS/RTS">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="CTS"/>
                        <Signal Name="RTS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_CTS_RTS</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <Condition Diagnostic="Active only with Asynchronous Mode" Expression="$IpInstance_Asynchronous &amp; !$IpInstance_HardwareControl"/>
            <Semaphore>$IpInstance_FlowControl</Semaphore>
        </Mode>
        <!--
        <Mode Name = "SmartCard Clock">
                <ModeLogicOperator Name="OR">
                        <Mode Name="SmartCard_Clock" UserName="Clock for SmartCard">
                                <SignalLogicalOp Name="AND">
                                        <Signal Name="CK"/>
                                </SignalLogicalOp>
                        </Mode>
                </ModeLogicOperator>
                <Condition Expression="$IpInstance_SmartCard" Diagnostic="Active only with SmartCard Mode"/>
        </Mode>
        -->
        <Mode Name="Hardware Flow Control (RS485)">
            <ModeLogicOperator Name="XOR">
                <Mode Name="Hardware Flow Control (RS485)">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="DE"/>
                    </SignalLogicalOp>
                </Mode>
            </ModeLogicOperator>
            <Condition Diagnostic="Active only with Asynchronous Mode" Expression="!$IpInstance_FlowControl &amp; $IpInstance_Asynchronous"/>
            <Semaphore>$IpInstance_HardwareControl</Semaphore>
            <!--ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/-->
        </Mode>
		
        <Mode Name="Slave Select(NSS) Management">
            <ModeLogicOperator Name="XOR">
                <Mode Name="Software NSS Management">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="VNSS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Software_Management</Semaphore>
                </Mode>
                <Mode Name="Hardware NSS Management">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="NSS"/>
                    </SignalLogicalOp>
                    <Semaphore>$IpInstance_Hardware_Management</Semaphore>
                </Mode>
            </ModeLogicOperator>
            <Condition Diagnostic="Active only with Synchronous Slave Mode" Expression="$IpInstance_Synchronous_Slave"/>
            <Semaphore>$IpInstance_Slave_Select</Semaphore>
            <ContextCondition Diagnostic="Not available in this context" Expression="$IpInstance_CUBE"/>
        </Mode>
		
    </ModeLogicOperator>

    <!-- RefSignal for USART/UART/SmartCard -->
    <RefSignal IOMode="AlternateFunctionPushPull" Name="CK"/>
    <RefSignal IOMode="AlternateFunctionPuPdOnly" Name="CTS"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="NSS"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="VNSS" Virtual="true"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="RTS"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="DE"/>
    <RefSignal IOMode="AlternateFunctionPuPdOnly" Name="RX"/>
    <RefSignal IOMode="AlternateFunctionOpenDrainAndPushPullDefaultPP" Name="TX"/>
    <Semaphore>$IpInstanceUsed_ForRCC</Semaphore>
</IP>
