<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<IP DBVersion="V4.0" IPType="peripheral" Name="RCC" Version="STM32WLxx_rcc_v1_0" 
    xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd" 
    xmlns="http://mcd.rou.st.com/modules.php?name=mcu">
 
    <About>RCC: Reset and Clock Control</About>
	
    <RefParameter Visible="false" Comment="Oscillator Type" DefaultValue="+OscillatorTypeHSI+|OscillatorTypeLSI+|OscillatorTypeHSE+|OscillatorTypeLSE+|OscillatorTypeMSI" Name="OscillatorType" Type="list"/>
    <RefParameter Name="HSE_Timout"   Comment="HSE Startup Timout Value (ms)" Type="integer" DefaultValue="100" Min="1"  Max="4294967295" Group="RCC Parameters"/>
    <RefParameter Name="LSE_Timout"   Comment="LSE Startup Timout Value (ms)" Type="integer" DefaultValue="5000" Min="1" Max="4294967295"  Group="RCC Parameters"/>
    <!--Les multiplicateurs-->
    <!--APB1 MUL for TIM-->
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider"  DefaultValue="1" Name="APB1TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="APB1 timer clock" Expression="APB1CLKDivider=RCC_HCLK_DIV1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider"  DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2"/>
   
    <!--APB2 MUL for TIM-->
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="1" Name="APB2TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="APB1 timer clock" Expression="APB2CLKDivider=RCC_HCLK_DIV1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider"  DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2"/>
	  
	  
    <!--PLLN-->
    <RefParameter Visible="false" Comment="PLLN" DefaultValue="8" Max="127" Min="6" Name="PLLN" Type="integer"/>
	
       
    <!--divisor-->
    <!--HSI DIV-->
    <RefParameter Visible="false" Comment="HSI Div" DefaultValue="HSIDiv1" Name="HSIDiv" Type="list">
        <PossibleValue Comment="1" Value="HSIDiv1" />
        <PossibleValue Comment="4" Value="HSIDiv2"/>
    </RefParameter>	  
	
    <!--Cortex2_Div-->
    <RefParameter Visible="false" Comment="Cortex2 Div" DefaultValue="SYSTICK_CLKSOURCE_HCLK" Name="Cortex2_Div" Type="list">
        <PossibleValue Comment="1" Value="SYSTICK_CLKSOURCE_HCLK" />
        <PossibleValue Comment="8" Value="SYSTICK_CLKSOURCE_HCLK_DIV8"/>
    </RefParameter>	 
	
    <!--Cortex_Div-->
    <RefParameter Visible="false" Comment="Cortex Div" DefaultValue="SYSTICK_CLKSOURCE_HCLK" Name="Cortex_Div" Type="list">
        <PossibleValue Comment="1" Value="SYSTICK_CLKSOURCE_HCLK" Semaphore="HCLKDiv1"/>
        <PossibleValue Comment="8" Value="SYSTICK_CLKSOURCE_HCLK_DIV8"/>
    </RefParameter>	
	
    <RefParameter Visible="false" Comment="Cortex_DivARG" DefaultValue="HAL_RCC_GetHCLKFreq()/1000" Name="Cortex_DivARG" Type="String">
        <Condition Expression="HCLKDiv1" Diagnostic=""/>
    </RefParameter>	
    <RefParameter Visible="false" Comment="Cortex_DivARG" DefaultValue="HAL_RCC_GetHCLKFreq()/8000" Name="Cortex_DivARG" Type="String"/>
	
    <!--RCC_RTC_Clock_Source_FROM_HSE-->
    <RefParameter Visible="false" Comment="RCC_RTC_Clock_Source_FROM_HSE" Name="RCC_RTC_Clock_Source_FROM_HSE" Type="integer" DefaultValue="32" Max="32" Min="32"/>
    <RefParameter Visible="false" Comment="LSIDIV" Name="LSIDIV" Type="list" DefaultValue="RCC_LSI_DIV1">
        <PossibleValue Comment="1"  Value="RCC_LSI_DIV1"/>
        <PossibleValue Comment="128"  Value="RCC_LSI_DIV128"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="RNG Div" Name="RNGDiv" Type="integer" DefaultValue="3" Max="3" Min="3"/>
    <RefParameter Visible="false" Comment="HSE PRESCALER" Name="HSEPRES" Type="integer" DefaultValue="1" Max="2" Min="1"/>
   
    <!--PLLM-->
    <RefParameter Visible="false" Comment="PLLM" DefaultValue="RCC_PLLM_DIV1" Name="PLLM" Type="list">
        <PossibleValue Comment="1"  Value="RCC_PLLM_DIV1"/>
        <PossibleValue Comment="2"  Value="RCC_PLLM_DIV2"/>
        <PossibleValue Comment="3"  Value="RCC_PLLM_DIV3"/>
        <PossibleValue Comment="4"  Value="RCC_PLLM_DIV4"/>
        <PossibleValue Comment="5"  Value="RCC_PLLM_DIV5"/>
        <PossibleValue Comment="6"  Value="RCC_PLLM_DIV6"/>
        <PossibleValue Comment="7"  Value="RCC_PLLM_DIV7"/>
        <PossibleValue Comment="8"  Value="RCC_PLLM_DIV8"/>
    </RefParameter>
    
    <!--PLLR-->
    <RefParameter Visible="false" Comment="PLLR" DefaultValue="RCC_PLLR_DIV2" Name="PLLR" Type="list">
        <PossibleValue Comment="2"  Value="RCC_PLLR_DIV2"/>
        <PossibleValue Comment="3"  Value="RCC_PLLR_DIV3"/>
        <PossibleValue Comment="4"  Value="RCC_PLLR_DIV4"/>
        <PossibleValue Comment="5"  Value="RCC_PLLR_DIV5"/>
        <PossibleValue Comment="6"  Value="RCC_PLLR_DIV6"/>
        <PossibleValue Comment="7"  Value="RCC_PLLR_DIV7"/>
        <PossibleValue Comment="8"  Value="RCC_PLLR_DIV8"/>
    </RefParameter>
    
  
    <!--PLLP-->
    <RefParameter Visible="false" Comment="PLLP" DefaultValue="RCC_PLLP_DIV2" Name="PLLP" Type="list">
        <PossibleValue Comment="2"  Value="RCC_PLLP_DIV2"/>
        <PossibleValue Comment="3"  Value="RCC_PLLP_DIV3"/>
        <PossibleValue Comment="4"  Value="RCC_PLLP_DIV4"/>
        <PossibleValue Comment="5"  Value="RCC_PLLP_DIV5"/>
        <PossibleValue Comment="6"  Value="RCC_PLLP_DIV6"/>
        <PossibleValue Comment="7"  Value="RCC_PLLP_DIV7"/>
        <PossibleValue Comment="8"  Value="RCC_PLLP_DIV8"/>
        <PossibleValue Comment="9"  Value="RCC_PLLP_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_PLLP_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_PLLP_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_PLLP_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_PLLP_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_PLLP_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_PLLP_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_PLLP_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_PLLP_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_PLLP_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_PLLP_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_PLLP_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_PLLP_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_PLLP_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_PLLP_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_PLLP_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_PLLP_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_PLLP_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_PLLP_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_PLLP_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_PLLP_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_PLLP_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_PLLP_DIV31"/>
        <PossibleValue Comment="32" Value="RCC_PLLP_DIV32"/>       
    </RefParameter>
   
    <!--PLLQ-->
    <RefParameter Visible="false" Comment="PLLQ" DefaultValue="RCC_PLLQ_DIV2"  Name="PLLQ" Type="list">
        <PossibleValue Comment="2"  Value="RCC_PLLQ_DIV2"/>
        <PossibleValue Comment="3"  Value="RCC_PLLQ_DIV3"/>
        <PossibleValue Comment="4"  Value="RCC_PLLQ_DIV4"/>
        <PossibleValue Comment="5"  Value="RCC_PLLQ_DIV5"/>
        <PossibleValue Comment="6"  Value="RCC_PLLQ_DIV6"/>
        <PossibleValue Comment="7"  Value="RCC_PLLQ_DIV7"/>
        <PossibleValue Comment="8"  Value="RCC_PLLQ_DIV8"/>
    </RefParameter>
   
    <!--AHB2CLKDivider-->
    <RefParameter Comment="AHB3CLK Divider" Visible="false" DefaultValue="RCC_SYSCLK_DIV1" Name="AHB3CLKDivider" Type="list">
        <PossibleValue Comment="1"   Value="RCC_SYSCLK_DIV1" />
        <PossibleValue Comment="2"   Value="RCC_SYSCLK_DIV2"/>
        <PossibleValue Comment="3"   Value="RCC_SYSCLK_DIV3"/>
        <PossibleValue Comment="4"   Value="RCC_SYSCLK_DIV4"/>
        <PossibleValue Comment="5"   Value="RCC_SYSCLK_DIV5"/>
        <PossibleValue Comment="6"   Value="RCC_SYSCLK_DIV6"/>
        <PossibleValue Comment="8"   Value="RCC_SYSCLK_DIV8"/>
        <PossibleValue Comment="10"   Value="RCC_SYSCLK_DIV10"/>
        <PossibleValue Comment="16"  Value="RCC_SYSCLK_DIV16"/>
        <PossibleValue Comment="32"   Value="RCC_SYSCLK_DIV32"/>
        <PossibleValue Comment="64"  Value="RCC_SYSCLK_DIV64"/>
        <PossibleValue Comment="128" Value="RCC_SYSCLK_DIV128"/>
        <PossibleValue Comment="256" Value="RCC_SYSCLK_DIV256"/>
        <PossibleValue Comment="512" Value="RCC_SYSCLK_DIV512"/>
    </RefParameter> 
    <!--AHB2CLKDivider-->
    <RefParameter Comment="AHBCLK2 Divider" Visible="false" DefaultValue="RCC_SYSCLK_DIV1" Name="AHB2CLKDivider" Type="list">
        <PossibleValue Comment="1"   Value="RCC_SYSCLK_DIV1" />
        <PossibleValue Comment="2"   Value="RCC_SYSCLK_DIV2"/>
        <PossibleValue Comment="3"   Value="RCC_SYSCLK_DIV3"/>
        <PossibleValue Comment="4"   Value="RCC_SYSCLK_DIV4"/>
        <PossibleValue Comment="5"   Value="RCC_SYSCLK_DIV5"/>
        <PossibleValue Comment="6"   Value="RCC_SYSCLK_DIV6"/>
        <PossibleValue Comment="8"   Value="RCC_SYSCLK_DIV8"/>
        <PossibleValue Comment="10"   Value="RCC_SYSCLK_DIV10"/>
        <PossibleValue Comment="16"  Value="RCC_SYSCLK_DIV16"/>
        <PossibleValue Comment="32"   Value="RCC_SYSCLK_DIV32"/>
        <PossibleValue Comment="64"  Value="RCC_SYSCLK_DIV64"/>
        <PossibleValue Comment="128" Value="RCC_SYSCLK_DIV128"/>
        <PossibleValue Comment="256" Value="RCC_SYSCLK_DIV256"/>
        <PossibleValue Comment="512" Value="RCC_SYSCLK_DIV512"/>
    </RefParameter>
    <!--AHBCLKDivider-->
    <RefParameter Comment="AHBCLK Divider" Visible="false" DefaultValue="RCC_SYSCLK_DIV1" Name="AHBCLKDivider" Type="list">
        <PossibleValue Comment="1"   Value="RCC_SYSCLK_DIV1"  Semaphore="AHBCLKDivider1" />
        <PossibleValue Comment="2"   Value="RCC_SYSCLK_DIV2"/>
        <PossibleValue Comment="3"   Value="RCC_SYSCLK_DIV3"/>
        <PossibleValue Comment="4"   Value="RCC_SYSCLK_DIV4"/>
        <PossibleValue Comment="5"   Value="RCC_SYSCLK_DIV5"/>
        <PossibleValue Comment="6"   Value="RCC_SYSCLK_DIV6"/>
        <PossibleValue Comment="8"   Value="RCC_SYSCLK_DIV8"/>
        <PossibleValue Comment="10"   Value="RCC_SYSCLK_DIV10"/>
        <PossibleValue Comment="16"  Value="RCC_SYSCLK_DIV16"/>
        <PossibleValue Comment="32"   Value="RCC_SYSCLK_DIV32"/>
        <PossibleValue Comment="64"  Value="RCC_SYSCLK_DIV64"/>
        <PossibleValue Comment="128" Value="RCC_SYSCLK_DIV128"/>
        <PossibleValue Comment="256" Value="RCC_SYSCLK_DIV256"/>
        <PossibleValue Comment="512" Value="RCC_SYSCLK_DIV512"/>
    </RefParameter>
   
    <!--RCC_MCODiv1-->
    <RefParameter Visible="false" Comment="MCO Prescaler" DefaultValue="RCC_MCODIV_1" Name="RCC_MCODiv" Type="list">
        <PossibleValue Comment="1"  Value="RCC_MCODIV_1"/>
        <PossibleValue Comment="2"  Value="RCC_MCODIV_2"/>
        <PossibleValue Comment="4"  Value="RCC_MCODIV_4"/>
        <PossibleValue Comment="8"  Value="RCC_MCODIV_8"/>
        <PossibleValue Comment="16" Value="RCC_MCODIV_16"/>
    </RefParameter>
    
    <!--diviseur APB1 1..16-->
    <RefParameter Visible="false"  Comment="APB1 Clock Divider" DefaultValue="RCC_HCLK_DIV1" Name="APB1CLKDivider" Type="list">
        <PossibleValue Comment="1"  Value="RCC_HCLK_DIV1"/>
        <PossibleValue Comment="2"  Value="RCC_HCLK_DIV2"/>
        <PossibleValue Comment="4"  Value="RCC_HCLK_DIV4"/>
        <PossibleValue Comment="8"  Value="RCC_HCLK_DIV8"/>
        <PossibleValue Comment="16" Value="RCC_HCLK_DIV16"/>
    </RefParameter>
      
    <!--diviseur APB2 1..16-->
    <RefParameter Visible="false"  Comment="APB2 Clock Divider" DefaultValue="RCC_HCLK_DIV1" Name="APB2CLKDivider" Type="list">
        <PossibleValue Comment="1"  Value="RCC_HCLK_DIV1"/>
        <PossibleValue Comment="2"  Value="RCC_HCLK_DIV2"/>
        <PossibleValue Comment="4"  Value="RCC_HCLK_DIV4"/>
        <PossibleValue Comment="8"  Value="RCC_HCLK_DIV8"/>
        <PossibleValue Comment="16" Value="RCC_HCLK_DIV16"/>
    </RefParameter>

	

    <!--Les multiplexeur-->
    <!--PLLSourceVirtual-->
	
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_PLLSOURCE_MSI" Name="PLLSourceVirtual" Type="list">
        <PossibleValue Comment="Pllsource MSI" Value="RCC_PLLSOURCE_MSI" />
        <PossibleValue Comment="Pllsource Hsi" Value="RCC_PLLSOURCE_HSI"/>
        <PossibleValue Comment="Pllsource Hse" Value="RCC_PLLSOURCE_HSE"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="+PLLSourceVirtual" Name="PLLSourceVirtualString" Type="string"/>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="+PLLSourceVirtualString" Name="PLLSource" Type="list">
        <PossibleValue Comment="Pllsource MSI" Value="RCC_PLLSOURCE_MSI" Semaphore="PLLSourceMSI"/>
        <PossibleValue Comment="Pllsource Hsi" Value="RCC_PLLSOURCE_HSI" Semaphore="PLLSourceHSI" />
        <PossibleValue Comment="Pllsource Hse" Value="RCC_PLLSOURCE_HSE" Semaphore="PLLSourceHSE"/>
    </RefParameter>
    
    <!--LSCOSource-->
    <RefParameter Visible="false" Comment="LSCOS Clock Source" DefaultValue="RCC_LSCOSOURCE_LSI" Name="LSCOSource1" Type="list">
        <PossibleValue Comment="LSI"    Value="RCC_LSCOSOURCE_LSI"       Semaphore="LSCOSSourceLSI"/>
        <PossibleValue Comment="LSE"    Value="RCC_LSCOSOURCE_LSE"       Semaphore="LSCOSSourceLSE"/>
    </RefParameter>
		
    <!--SYSCLKSource-->
    <RefParameter Comment="SYSCLK Source" Visible="false" DefaultValue="RCC_SYSCLKSOURCE_MSI" Name="SYSCLKSource" Type="list">
        <PossibleValue Comment="Sysclksource Msi"    Value="RCC_SYSCLKSOURCE_MSI"    Semaphore="SysSourceMSI"/>
        <PossibleValue Comment="Sysclksource Hsi"    Value="RCC_SYSCLKSOURCE_HSI"    Semaphore="SysSourceHSI"/>
        <PossibleValue Comment="Sysclksource Hse"    Value="RCC_SYSCLKSOURCE_HSE"    Semaphore="SysSourceHSE"/>
        <PossibleValue Comment="Sysclksource Pllclk" Value="RCC_SYSCLKSOURCE_PLLCLK" Semaphore="SysSourcePLL"/>
    </RefParameter>
    
    <!--RCC_MCO1Source-->
    <RefParameter Visible="false" Comment="MCO Clock Source" DefaultValue="RCC_MCO1SOURCE_SYSCLK" Name="RCC_MCO1Source" Type="list">
        <PossibleValue Comment="MCO1SRC SYSCLK" Value="RCC_MCO1SOURCE_SYSCLK" Semaphore="MCOSourcesys"/>
        <PossibleValue Comment="MCO1SRC HSI"    Value="RCC_MCO1SOURCE_HSI"    Semaphore="MCOSourceHSI"/>
        <PossibleValue Comment="MCO1SRC MSI"    Value="RCC_MCO1SOURCE_MSI"    Semaphore="MCOSourceMSI"/>
        <PossibleValue Comment="MCO1SRC HSE"    Value="RCC_MCO1SOURCE_HSE"    Semaphore="MCOSourceHSE"/>
        <PossibleValue Comment="MCO1SRC PLLCLK" Value="RCC_MCO1SOURCE_PLLCLK" Semaphore="MCOSourcePLL"/>
        <PossibleValue Comment="MCO1SRC LSE"    Value="RCC_MCO1SOURCE_LSE"    Semaphore="MCOSourceLSE"/>
        <PossibleValue Comment="MCO1SRC LSI"    Value="RCC_MCO1SOURCE_LSI"    Semaphore="MCOSourceLSI"/>
        <PossibleValue Comment="MCO1SRC PLLP"    Value="RCC_MCO1SOURCE_PLLPCLK"    Semaphore="MCO1SOURCE_PLLPCLK"/>
        <PossibleValue Comment="MCO1SRC PLLQ"    Value="RCC_MCO1SOURCE_PLLQCLK"    Semaphore="MCO1SOURCE_PLLQCLK"/>
    </RefParameter>  

    <!--RCC_RTC_Clock_SourceVirtual-->
    <RefParameter Visible="false"  Comment="RTC Clock Selection" DefaultValue="RCC_RTCCLKSOURCE_LSI" Name="RTCClockSelection" Type="list" IP="RTC">
        <PossibleValue Comment="Rtcclksource Lse"        Value="RCC_RTCCLKSOURCE_LSE"       Semaphore="RTCSourceLSE"/>
        <PossibleValue Comment="Rtcclksource Lsi"        Value="RCC_RTCCLKSOURCE_LSI"       Semaphore="RTCSourceLSI"/>
        <PossibleValue Comment="Rtcclksource Hse div32"  Value="RCC_RTCCLKSOURCE_HSE_DIV32" Semaphore="RTCSourceHSE"/>
         
    </RefParameter>
  
    <!--USART1CLockSelection-->
    <RefParameter Visible="false"  Comment="USART1 Clock Selection" DefaultValue="RCC_USART1CLKSOURCE_PCLK2" Name="USART1CLockSelection" Type="list" IP="USART1">
        <PossibleValue Comment="Usart1 Clksource Pclk2"  Value="RCC_USART1CLKSOURCE_PCLK2"  Semaphore="USART1SourcePCLK2"/>
        <PossibleValue Comment="Usart1 Clksource Sysclk" Value="RCC_USART1CLKSOURCE_SYSCLK" Semaphore="USART1SourceSys"/>
        <PossibleValue Comment="Usart1 Clksource Hsi"    Value="RCC_USART1CLKSOURCE_HSI"    Semaphore="USART1SourceHSI"/>
        <PossibleValue Comment="Usart1 Clksource Lse"    Value="RCC_USART1CLKSOURCE_LSE"    Semaphore="USART1SourceLSE"/>
    </RefParameter>
    
    <!--USART1CLockSelection-->
    <RefParameter Visible="false"  Comment="USART2 Clock Selection" DefaultValue="RCC_USART2CLKSOURCE_PCLK1" Name="USART2CLockSelection" Type="list" IP="USART2">
        <PossibleValue Comment="Usart2 Clksource Pclk2"  Value="RCC_USART2CLKSOURCE_PCLK1"  Semaphore="USART2SourcePCLK2"/>
        <PossibleValue Comment="Usart2 Clksource Sysclk" Value="RCC_USART2CLKSOURCE_SYSCLK" Semaphore="USART2SourceSys"/>
        <PossibleValue Comment="Usart2 Clksource Hsi"    Value="RCC_USART2CLKSOURCE_HSI"    Semaphore="USART2SourceHSI"/>
        <PossibleValue Comment="Usart2 Clksource Lse"    Value="RCC_USART2CLKSOURCE_LSE"    Semaphore="USART2SourceLSE"/>
    </RefParameter>
	
    <!--LPUART1CLockSelection-->
    <RefParameter Visible="false"  Comment="LPUART1 Clock Selection" DefaultValue="RCC_LPUART1CLKSOURCE_PCLK1" Name="LPUART1CLockSelection" Type="list" IP="LPUART1">
        <PossibleValue Comment="LPUART1 Clksource Pclk2"  Value="RCC_LPUART1CLKSOURCE_PCLK1"  Semaphore="LPUART1SourcePCLK1"/>
        <PossibleValue Comment="LPUART1 Clksource Sysclk" Value="RCC_LPUART1CLKSOURCE_SYSCLK" Semaphore="LPUART1SourceSys"/>
        <PossibleValue Comment="LPUART1 Clksource Hsi"    Value="RCC_LPUART1CLKSOURCE_HSI"    Semaphore="LPUART1SourceHSI"/>
        <PossibleValue Comment="LPUART1 Clksource Lse"    Value="RCC_LPUART1CLKSOURCE_LSE"    Semaphore="LPUART1SourceLSE"/>
    </RefParameter>   
    
    <!--I2C1CLockSelection-->
    <RefParameter Visible="false"  Comment="I2C1 Clock Selection" DefaultValue="RCC_I2C1CLKSOURCE_PCLK1"    Name="I2C1CLockSelection" Type="list" IP="I2C1">
        <PossibleValue Comment="I2C1 Clksource PCLK1"  Value="RCC_I2C1CLKSOURCE_PCLK1"  Semaphore="I2C1SourcePCLK1"/>
        <PossibleValue Comment="I2C1 Clksource Sysclk" Value="RCC_I2C1CLKSOURCE_SYSCLK" Semaphore="I2C1SourceSys"/>
        <PossibleValue Comment="I2C1 Clksource Hsi"    Value="RCC_I2C1CLKSOURCE_HSI"    Semaphore="I2C1SourceHSI"/>
    </RefParameter>
    <RefParameter Visible="false"  Comment="I2C2 Clock Selection" DefaultValue="RCC_I2C2CLKSOURCE_PCLK1"    Name="I2C2CLockSelection" Type="list" IP="I2C2">
        <PossibleValue Comment="I2C2 Clksource PCLK1"  Value="RCC_I2C2CLKSOURCE_PCLK1"  Semaphore="I2C2SourcePCLK1"/>
        <PossibleValue Comment="I2C2 Clksource Sysclk" Value="RCC_I2C2CLKSOURCE_SYSCLK" Semaphore="I2C2SourceSys"/>
        <PossibleValue Comment="I2C2 Clksource Hsi"    Value="RCC_I2C2CLKSOURCE_HSI"    Semaphore="I2C2SourceHSI"/>
    </RefParameter>
    <!--I2S2CLockSelection-->
    <RefParameter Visible="false"  Comment="I2S2/SPI2 Clock Selection" DefaultValue="RCC_I2S2CLKSOURCE_HSI"    Name="I2S2CLockSelection" Type="list" IP="I2S2,SPI2">
        <PossibleValue Comment="I2S2/SPI2 Clksource PCLK1"  Value="RCC_I2S2CLKSOURCE_PLL"    Semaphore="I2S2CLKSOURCE_PLL"/>
        <PossibleValue Comment="I2S2/SPI2 Clksource Sysclk" Value="RCC_I2S2CLKSOURCE_HSI"    Semaphore="I2S2CLKSOURCE_HSI"/>
        <PossibleValue Comment="I2S2/SPI2 Clksource Hsi"    Value="RCC_I2S2CLKSOURCE_PIN"    Semaphore="I2S2CLKSOURCE_PIN"/>
    </RefParameter>
  
    <!--I2C3CLockSelection-->
    <RefParameter Visible="false"  Comment="I2C3 Clock Selection" DefaultValue="RCC_I2C3CLKSOURCE_PCLK1"    Name="I2C3CLockSelection" Type="list" IP="I2C3">
        <PossibleValue Comment="I2C3 Clksource PCLK3"  Value="RCC_I2C3CLKSOURCE_PCLK1"  Semaphore="I2C3SourcePCLK1"/>
        <PossibleValue Comment="I2C3 Clksource Sysclk" Value="RCC_I2C3CLKSOURCE_SYSCLK" Semaphore="I2C3SourceSys"/>
        <PossibleValue Comment="I2C3 Clksource Hsi"    Value="RCC_I2C3CLKSOURCE_HSI"    Semaphore="I2C3SourceHSI"/>
    </RefParameter>
   
    <!--LPTIM1CLockSelection-->
    <RefParameter Visible="false"  Comment="LPTIM1 Clock Selection" DefaultValue="RCC_LPTIM1CLKSOURCE_PCLK1" Name="LPTIM1CLockSelection" Type="list" IP="LPTIM1">
        <PossibleValue Comment="Lptim1 Clksource Pclk" Value="RCC_LPTIM1CLKSOURCE_PCLK1"/>
        <PossibleValue Comment="Lptim1 Clksource Lsi"  Value="RCC_LPTIM1CLKSOURCE_LSI" Semaphore="LPTIM1SOURCELSI"/>
        <PossibleValue Comment="Lptim1 Clksource Hsi"  Value="RCC_LPTIM1CLKSOURCE_HSI" Semaphore="LPTIM1SOURCEHSI"/>
        <PossibleValue Comment="Lptim1 Clksource Lse"  Value="RCC_LPTIM1CLKSOURCE_LSE" Semaphore="LPTIM1SOURCELSE"/>
    </RefParameter>
    
    <!--LPTIM2CLockSelection-->	
    <RefParameter Visible="false"  Comment="LPTIM2 Clock Selection" DefaultValue="RCC_LPTIM2CLKSOURCE_PCLK" Name="LPTIM2CLockSelection" Type="list" IP="LPTIM2">
        <PossibleValue Comment="LPTIM2 Clksource Pclk" Value="RCC_LPTIM2CLKSOURCE_PCLK1"/>
        <PossibleValue Comment="LPTIM2 Clksource Lsi"  Value="RCC_LPTIM2CLKSOURCE_LSI" Semaphore="LPTIM2SOURCELSI"/>
        <PossibleValue Comment="LPTIM2 Clksource Hsi"  Value="RCC_LPTIM2CLKSOURCE_HSI" Semaphore="LPTIM2SOURCEHSI"/>
        <PossibleValue Comment="LPTIM2 Clksource Lse"  Value="RCC_LPTIM2CLKSOURCE_LSE" Semaphore="LPTIM2SOURCELSE"/>
    </RefParameter>
    
    <RefParameter Visible="false"  Comment="LPTIM3 Clock Selection" DefaultValue="RCC_LPTIM3CLKSOURCE_PCLK1" Name="LPTIM3CLockSelection" Type="list" IP="LPTIM3">
        <PossibleValue Comment="LPTIM3 Clksource Pclk" Value="RCC_LPTIM3CLKSOURCE_PCLK1"/>
        <PossibleValue Comment="LPTIM3 Clksource Lsi"  Value="RCC_LPTIM3CLKSOURCE_LSI" Semaphore="LPTIM3SOURCELSI"/>
        <PossibleValue Comment="LPTIM3 Clksource Hsi"  Value="RCC_LPTIM3CLKSOURCE_HSI" Semaphore="LPTIM3SOURCEHSI"/>
        <PossibleValue Comment="LPTIM3 Clksource Lse"  Value="RCC_LPTIM3CLKSOURCE_LSE" Semaphore="LPTIM3SOURCELSE"/>
    </RefParameter>
    

    <!--ADCCLockSelection-->
    <RefParameter Visible="false"  Comment="ADC CLock Selection" DefaultValue="RCC_ADCCLKSOURCE_HSI"    Name="ADCCLockSelection" Type="list" IP="ADC">
        <PossibleValue Comment="HSI"          Value="RCC_ADCCLKSOURCE_HSI" Semaphore="ADCCLKSOURCE_HSI"/>
        <PossibleValue Comment="PLL"          Value="RCC_ADCCLKSOURCE_PLL"     Semaphore="ADCSourcePLL"/>
        <PossibleValue Comment="SysCLKOutput" Value="RCC_ADCCLKSOURCE_SYSCLK"  Semaphore="ADCSourceSys"/>
    </RefParameter>
    
    <RefParameter Visible="false"  Comment="RNG CLock Selection" DefaultValue="RCC_RNGCLKSOURCE_LSI"    Name="RNGCLockSelection" Type="list" IP="RNG">
        <PossibleValue Comment="CLK48"    Value="RCC_RNGCLKSOURCE_PLL"     Semaphore="RNGCLKSOURCE_PLL"/>
        <PossibleValue Comment="LSI"      Value="RCC_RNGCLKSOURCE_LSI"     Semaphore="RNGCLKSOURCE_LSI"/>
        <PossibleValue Comment="LSE"      Value="RCC_RNGCLKSOURCE_LSE"     Semaphore="RNGCLKSOURCE_LSE"/>
        <PossibleValue Comment="LSE"      Value="RCC_RNGCLKSOURCE_MSI"     Semaphore="RNGCLKSOURCE_MSI"/>
    </RefParameter>

		
    <!-- MSI clock range-->	

    <RefParameter Visible="false" Comment="MSI Clock Range" DefaultValue="RCC_MSIRANGE_6" Name="MSIClockRange" Display="value/1000" Unit="KHz" Type="list">
        <PossibleValue Comment="100"    Value="RCC_MSIRANGE_0" Semaphore="MSIRANGE_0"/>
        <PossibleValue Comment="200"    Value="RCC_MSIRANGE_1" Semaphore="MSIRANGE_1"/>
        <PossibleValue Comment="400"    Value="RCC_MSIRANGE_2" Semaphore="MSIRANGE_2"/>
        <PossibleValue Comment="800"    Value="RCC_MSIRANGE_3" Semaphore="MSIRANGE_3"/>
        <PossibleValue Comment="1000"   Value="RCC_MSIRANGE_4" Semaphore="MSIRANGE_4"/>
        <PossibleValue Comment="2000"   Value="RCC_MSIRANGE_5" Semaphore="MSIRANGE_5"/>
        <PossibleValue Comment="4000"   Value="RCC_MSIRANGE_6" Semaphore="MSIRANGE_6"/>
        <PossibleValue Comment="8000"   Value="RCC_MSIRANGE_7" Semaphore="MSIRANGE_7"/>
        <PossibleValue Comment="16000"  Value="RCC_MSIRANGE_8" Semaphore="MSIRANGE_8"/>
        <PossibleValue Comment="24000"  Value="RCC_MSIRANGE_9" Semaphore="MSIRANGE_9"/>
        <PossibleValue Comment="32000"  Value="RCC_MSIRANGE_10" Semaphore="MSIRANGE_10"/>
        <PossibleValue Comment="48000"  Value="RCC_MSIRANGE_11" Semaphore="MSIRANGE_11"/>
    </RefParameter>
	
	
    <!-- Clock Security System on HSE-->
    <RefParameter Visible="false" Name="EnbaleCSS" Comment="Clock Security System: available only when HSE is used directly or undirectly as System Clock" Type="list" DefaultValue="false">
        <Condition Diagnostic="" Expression="((PLLSourceHSE &amp; SysSourcePLL )|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)) &amp; (HSEByPassPwr | HSEOscillator)"/>
        <PossibleValue Value="true" Comment="Enabled" Semaphore="CSSEnabled"/>
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>

    <RefParameter Visible="false" Name="EnbaleCSS" Comment="Clock Security System: available only when HSE is used directly or undirectly as System Clock" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>
	
    <!-- Clock Security System on LSE for RTC-->
    <RefParameter Visible="false" Name="EnableCSSLSE" Comment="LSE Clock Security System: available only when LSE is used as Clock Source for RTC/LCD" Type="list" DefaultValue="false">
        <Condition Diagnostic="" Expression="(((RTCClockSelection=RCC_RTCCLKSOURCE_LSE)) &amp; (RTCUsed_ForRCC|LCDUsed_ForRCC))"/>
        <PossibleValue Value="true" Comment="Enabled" Semaphore="RCC_LSECSS_ENABLED"/>
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>

    <RefParameter Visible="false" Name="EnableCSSLSE" Comment="LSE Clock Security System: available only when LSE is used as Clock Source for RTC/LCD" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>
	
	
	
    <!--frequence Values -->     
    <RefParameter Visible="false" Comment="HSE OSC"    Name="HSE_VALUE" DefaultValue="8000000" Max="32000000" Min="4000000" Type="double" Display="value/1000000" Unit="MHz"/><!--HSE in OSI mode-->
    <RefParameter Visible="false" Comment="LSE OSC"    Name="LSE_VALUE" DefaultValue="32768" Max="1000000" Min="1000"  Type="double" Display="value/1000" Unit="KHz"/>
   
    <RefParameter Visible="false" Comment="LSI Source"  Name="LSI_VALUE"   DefaultValue="32000" Max="32000"   Min="32000" Type="double" Display="value/1000" Unit="KHz"/>
	
    <!--RefParameter Visible="false" Comment="MSI Source" Name="MSI_VALUE"   DefaultValue="4000000"                         Type="double" Display="value/1000" Unit="KHz"/-->
    <RefParameter Visible="false" Comment="HSI Source" Name="HSI_VALUE"   DefaultValue="16000000"                        Type="double" Display="value/1000000" Unit="MHz"/>

    <!--output Freq value-->
    <RefParameter Visible="false" Comment="FCLK Cortex"           Name="FCLKCortexFreq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="FCLK2 Cortex"          Name="FCLK2Freq_Value"      DefaultValue="4000000"  Max="48000000" Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="AHB clock"             Name="AHBFreq_Value"        DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="PWR clock"             Name="PWRFreq_Value"        DefaultValue="4000000"  Max="48000000" Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="AHB2 clock"            Name="AHB2Freq_Value"       DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="IWDG clock"            Name="WatchDogFreq_Value"   DefaultValue="32000"    Type="double" Display="value/1000"    Unit="KHz" IP="IWATCHDOG" />
    <RefParameter Visible="false" Comment="Cortex System Timer"   Name="CortexFreq_Value"     DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="Cortex2 System Timer"  Name="Cortex2Freq_Value"    DefaultValue="4000000"  Max="48000000" Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="Audio Clock Input" Name="EXTERNAL_CLOCK_VALUE" DefaultValue="48000" Type="double" Display="value/1000000" Unit="MHz"/>

    <!--main sysclock Freq value-->
 
    <RefParameter Visible="false" Comment="System clock"   Name="SYSCLKFreq_VALUE"  DefaultValue="4000000"  Max="48000000" Type="double"  Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="MCO Output"     Name="MCO1PinFreq_Value" DefaultValue="4000000"   Type="double"  Display="value/1000000" Unit="MHz"/>
	


    <RefParameter Visible="false" Comment="HCLK Clock"    Name="HCLKFreq_Value" DefaultValue="4000000" Max="48000000" Min="14200000" Type="double"  Display="value/1000000" Unit="MHz" IP="TSC,CRC,ADC,QSPI">
        <Condition Diagnostic="USB activated" Expression="USBUsed_ForRCC "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HCLK clock"      Name="HCLKFreq_Value"    DefaultValue="4000000"   Type="double"  Display="value/1000000" Unit="MHz" Max="48000000" IP="TSC,CRC,ADC,QUADfSPI"/>
    <RefParameter Visible="false" Comment="HCLK2 clock"     Name="HCLK2Freq_Value"    DefaultValue="4000000" Max="48000000"  Type="double"  Display="value/1000000" Unit="MHz"  IP="RF"/>
    <RefParameter Visible="false" Comment="HCLK3 clock"     Name="HCLK3Freq_Value"    DefaultValue="4000000"   Type="double"  Display="value/1000000" Unit="MHz" Max="48000000" IP="SUBGHZSPIRST"/>
    <RefParameter Visible="false" Comment="APB3 clock"     Name="APB3Freq_Value"    DefaultValue="4000000"   Type="double"  Display="value/1000000" Unit="MHz" Max="48000000" IP="SUBGHZSPIRST"/>
	
    <!--ADC frequency  --> 
    <RefParameter Visible="false" Comment="ADC synchr"  Name="synchADCFreq_Value"  DefaultValue="=HCLKFreq_Value" Type="double" Display="value/1000000" Unit="MHz" IP="ADC"/>
    <RefParameter Visible="false" Comment="ADC asynchr" Name="asynchADCFreq_Value" DefaultValue="=ADCFreq_Value"  Type="double" Display="value/1000000"  Unit="MHz" IP="ADC"/>
    <!--IP Freq value-->
	
    <RefParameter Visible="false" Comment="I2C3 clock Source" Name="I2C3Freq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="I2C3"/>
    <RefParameter Visible="false" Comment="I2C2 clock Source" Name="I2C2Freq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="I2C2"/>
    <RefParameter Visible="false" Comment="I2C1 clock Source" Name="I2C1Freq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="I2C1"/>    
    <RefParameter Visible="false" Comment="I2S2/SPI2 clock Source" Name="I2S2Freq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="I2S2,SPI2"/>
	
    <RefParameter Visible="false" Comment="USART1 clock Source"  Name="USART1Freq_Value"  DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="USART1"/>
    <RefParameter Visible="false" Comment="USART2 clock Source"  Name="USART2Freq_Value"  DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="USART2"/>
    <RefParameter Visible="false" Comment="LPUART1 clock Source" Name="LPUART1Freq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="LPUART1"/>
    
    <RefParameter Visible="false" Comment="LPTIM1 clock Source"  Name="LPTIM1Freq_Value"  DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="LPTIM1"/>
    <RefParameter Visible="false" Comment="LPTIM2 clock Source"  Name="LPTIM2Freq_Value"  DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="LPTIM2"/>
    <RefParameter Visible="false" Comment="LPTIM2 clock Source"  Name="LPTIM3Freq_Value"  DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="LPTIM3"/>
	
    <RefParameter Visible="false" Comment="RNG clock Source"   Name="RNGFreq_Value"   DefaultValue="16000000" Max="48000000" Type="double" Display="value/1000000" Unit="MHz" IP="RNG"/>

    <RefParameter Visible="false" Comment="ADC clock Source"    Name="ADCFreq_Value"  Min="1400000"   Max="48000000" DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz" />
 	
    <RefParameter Visible="false" Comment="RTC Clock Source" Name="RTCFreq_Value" Type="double" DefaultValue="32000"  Max="1000000" Min="0" Display="value/1000" Unit="KHz" IP="RTC" >
        <Condition Diagnostic="RTC Has HSE as source" Expression="(!(RTCClockSelection=RCC_RTCCLKSOURCE_LSE)&amp;!(RTCClockSelection=RCC_RTCCLKSOURCE_LSI)&amp; (RTCEnable=true))"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC Clock Source" Name="RTCFreq_Value" Type="double" DefaultValue="32000"  Display="value/1000" Unit="KHz" IP="RTC"/>

    <RefParameter Visible="false" Comment="LCD clock" Name="LCDFreq_Value" Type="double" DefaultValue="32000" IP="LCD" Max="1000000" Min="0" Display="value/1000" Unit="KHz" >
        <Condition Diagnostic="RTC Has HSE as source" Expression="(!(RTCClockSelection=RCC_RTCCLKSOURCE_LSE)&amp;!(RTCClockSelection=RCC_RTCCLKSOURCE_LSI)&amp; (LCDEnable=true))"/>
    </RefParameter>   
    <RefParameter Visible="false" Comment="LCD clock" Name="LCDFreq_Value" Type="double" IP="LCD" DefaultValue="32000" Display="value/1000" Unit="KHz" />

    <RefParameter Visible="false" Comment="APB2 Timer clock" Name="APB2TimFreq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="TIMER16,TIMER17,TIMER1"/>
    <RefParameter Visible="false" Comment="APB1 Timer clock" Name="APB1TimFreq_Value" DefaultValue="4000000"  Type="double" Display="value/1000000" Unit="MHz" IP="TIMER3,TIMER2"/>

    <RefParameter Visible="false" Comment="APB2 Peripheral Clock"    Name="APB2Freq_Value"    DefaultValue="4000000" Max="48000000" Type="double" Display="value/1000000" Unit="MHz" IP="SPI1,USART1,SYSCFG"/>
    <RefParameter Visible="false" Comment="APB1 Peripheral Clock"    Name="APB1Freq_Value"    DefaultValue="4000000" Max="48000000" Type="double" Display="value/1000000" Unit="MHz" IP="SPI2,I2C3,LPUART2,I2C1,LPTIM1,LPTIM2,WWDG,RTC2,CRS,USB,IWDG"/>
		
    <RefParameter Visible="false" Comment="LSCO Output"       Name="LSCOPinFreq_Value"        DefaultValue="4000000"   Type="double"  Display="value/1000000" Unit="MHz"/>

    <!--PLLs Freq value-->
	
	
    
    <!--PLLQ output-->
    <RefParameter Visible="false" Comment="PLLQ"     Name="PLLQoutputFreq_Value"     DefaultValue="16000000"  Max="48000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="" Expression="(RNGCLKSOURCE_PLL &amp; RNGUsed_ForRCC) | (I2S2Used_ForRCC|SPI2Used_ForRCC) &amp; I2S2CLKSOURCE_PLL | ((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig) &amp;  MCO1SOURCE_PLLQCLK "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLQ"     Name="PLLQoutputFreq_Value"     DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz"/>

    <RefParameter Visible="false" Comment="PLLP"     Name="PLLPoutputFreq_Value"     DefaultValue="4571429"   Max="62000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Expression="((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig) &amp;  MCO1SOURCE_PLLPCLK | ADCUsed_ForRCC &amp; ADCSourcePLL " Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLP"     Name="PLLPoutputFreq_Value"     DefaultValue="4571429"   Type="double" Display="value/1000000" Unit="MHz"/>
   
    <!--Divisor constraint-->
    <!--VCOInput output ==> PLLM frequency range -->
    <RefParameter Visible="false" Comment="VCOInput"     Name="VCOInputFreq_Value" Min="4000000" Max="16000000"     DefaultValue="4000000"   Type="double" Display="value/1000000" Unit="MHz">
        <Condition Expression="(PLLUsed=1) " Diagnostic=" PLLUsed=1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="VCOInput"     Name="VCOInputFreq_Value"     DefaultValue="4000000"   Type="double" Display="value/1000000" Unit="MHz"/>
	
    <!--VCOOutput output ==> multiplicateur *N frequency range-->

    <RefParameter Visible="false" Comment="VCOOutput"     Name="VCOOutputFreq_Value"  Min="96000000" Max="344000000"    DefaultValue="32000000"   Type="double" Display="value/1000000" Unit="MHz">
        <Condition Expression="PLLUsed=1 &amp; scale1" Diagnostic="PLLUsed=1 "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="VCOOutput"     Name="VCOOutputFreq_Value"  Min="96000000" Max="128000000"    DefaultValue="32000000"   Type="double" Display="value/1000000" Unit="MHz">
        <Condition Expression="PLLUsed=1 &amp; scale2" Diagnostic="PLLUsed=1 "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="VCOOutput"     Name="VCOOutputFreq_Value"     DefaultValue="32000000"   Type="double" Display="value/1000000" Unit="MHz"/>
		 
    <!--PLLRCLK output ==> PLLCLK -->
    <RefParameter Visible="false" Comment="PLLCLK"     Name="PLLRCLKFreq_Value"   Min="12000000" Max="48000000"    DefaultValue="16000000"   Type="double" Display="value/1000000" Unit="MHz">
        <Condition Expression="((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig) &amp; MCO1SOURCE_PLLCLK | SysSourcePLL" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLCLK"     Name="PLLRCLKFreq_Value"     DefaultValue="16000000"   Type="double" Display="value/1000000" Unit="MHz"/>
	
  
    <RefParameter Visible="false" Comment="Main PLLIs Used" DefaultValue="1" Name="PLLUsedFOrADC" Min="1" Max="1" Type="integer">
        <Condition Expression="(ADCSourcePLL &amp;(ADCUsed_ForRCC))" Diagnostic=" "/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedFOrADC" Min="0" Max="0" Type="integer"/>


	
    <!--Enable Param-->
    <!--HSE Enable -->
    <RefParameter Visible="false" Name="EnableHSE" Comment="HSE OSC" Type="list" DefaultValue="true" >
        <Condition Expression="(HSEByPassPwr | HSEOscillator)" Diagnostic="Disabled if RTC is used and HSE ON"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableHSE" Comment="HSE OSC" Type="list" DefaultValue="false" >
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
		
    <!-- LSCO Enable -->
    <RefParameter Visible="false" Name="LSCOEnable" Comment="LSCO clock output" Type="list" DefaultValue="true" IP="Clock-out-LSCO">
        <Condition Expression="LSCOConfig" Diagnostic="MCO mode is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LSCOEnable" Comment="LSCO clock output" Type="list" DefaultValue="false" IP="Clock-out-LSCO">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    
    <RefParameter Visible="false" Name="LSIEnable" Comment="LSCO clock output" Type="list" DefaultValue="true">
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LSIEnable" Comment="LSCO clock output" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <!--RTC Enable -->
   
    <RefParameter Visible="false" Name="RTCEnable" Comment="RTC" Type="list" DefaultValue="true" IP="RTC">
        <Condition Expression="RTCUsed_ForRCC" Diagnostic="Disabled if RTC is used"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RTCEnable" Comment="RTC" Type="list" DefaultValue="false" IP="RTC">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>

    <RefParameter Visible="false" Name="EnableLSERTC" Comment="EnableLSERTC" Type="list" DefaultValue="true" IP="RTC">
        <Condition Expression="(RTCUsed_ForRCC) &amp; (LSEOscillator | LSEByPass)" Diagnostic="Disabled if RTC is used and LSE ON"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableLSERTC" Comment="EnableLSERTC" Type="list" DefaultValue="false" IP="RTC">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="EnableLSELCD" Comment="EnableLSELCD" Type="list" DefaultValue="true" IP="LCD">
        <Condition Expression="LCDUsed_ForRCC &amp; (LSEOscillator | LSEByPass)" Diagnostic="Disabled if RTC is used and LSE ON"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableLSELCD" Comment="EnableLSELCD" Type="list" DefaultValue="false" IP="LCD">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableHSERTCDevisor" Comment="RTC and HSE Oscillator" Type="list" DefaultValue="true" IP="RTC">
        <Condition Expression="(RTCUsed_ForRCC &amp; (HSEByPassPwr | HSEOscillator))" Diagnostic="Disabled if RTC is used"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableHSERTCDevisor" Comment="RTC and HSE Oscillator" Type="list" DefaultValue="false" IP="RTC">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>	
    <!--HSE DIV for LCD Enable -->
    <RefParameter Visible="false" Name="EnableHSELCDDevisor" Comment="LCD and HSE Oscillator" Type="list" DefaultValue="true" IP="LCD">
        <Condition Expression="LCDUsed_ForRCC &amp; (HSEByPassPwr | HSEOscillator)" Diagnostic="Disabled if RTC is used"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableHSELCDDevisor" Comment="LCD and HSE Oscillator" Type="list" DefaultValue="false" IP="LCD">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <!-- LCD Enable -->
    <RefParameter Visible="false" Name="LCDEnable" Comment="LCD" Type="list" DefaultValue="true" IP="LCD">
        <Condition Expression="LCDUsed_ForRCC" Diagnostic="LCD is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="LCDEnable" Comment="LCD" Type="list" DefaultValue="false" IP="LCD">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
   
   
	
    <!-- ADC Output Enable -->
    <RefParameter Visible="false" Name="ADCEnable" Comment="ADC in Asynchronous mode" Type="list" DefaultValue="true" IP="ADC">
        <Condition Expression="ADCUsed_ForRCC" Diagnostic="ADC is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="ADCEnable" Comment="ADC in Asynchronous mode" Type="list" DefaultValue="false" >
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
  
  
	
    <!-- LSE Enable -->
    <RefParameter Visible="false" Name="EnableLSE" Comment="EnableLSE" Type="list" DefaultValue="true">
        <Condition Expression="(LSEOscillator|LSEByPass)" Diagnostic="Disabled if RTC is used and LSE ON"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
   
    <RefParameter Visible="false" Name="EnableLSE" Comment="EnableLSE" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
	
    <!-- IWDG Enable -->
    <RefParameter Visible="false" Name="IWDGEnable" Comment="IWDG" Type="list" DefaultValue="true" IP="IWDG">
        <Condition Expression="IWDGUsed_ForRCC" Diagnostic="IWDG is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="IWDGEnable" Comment="IWDG" Type="list" DefaultValue="false" IP="IWDG">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
	
	

	
    <!-- MCO Enable -->
    <RefParameter Visible="false" Name="MCOEnable" Comment="Master clock output" Type="list" DefaultValue="true" IP="Clock-out">
        <Condition Expression="((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig)" Diagnostic="MCO mode is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="MCOEnable" Comment="Master clock output" Type="list" DefaultValue="false" IP="Clock-out">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
   
    <!-- USB Enable -->
    <RefParameter Visible="false" Name="USBEnable" Comment="USB" Type="list" DefaultValue="true" IP="USB">
        <Condition Expression="(USBUsed_ForRCC|USB_OTG_HSEmbeddedPHYUsed_ForRCC)" Diagnostic="USB is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="USBEnable" Comment="USB" Type="list" DefaultValue="false" IP="USB">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter> 
    
 
	
    
	
    <!--RNG Enable-->
    <RefParameter Visible="false" Name="RNGEnable" Comment="RNG" Type="list" DefaultValue="true">
        <Condition Expression="RNGUsed_ForRCC" Diagnostic="RNG is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="RNGEnable" Comment="RNG" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <!--USART1 Enable-->
    <RefParameter Visible="false" Name="USART1Enable" Comment="USART1" Type="list" DefaultValue="true">
        <Condition Expression="USART1Used_ForRCC" Diagnostic="USART1 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="USART1Enable" Comment="USART1" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    
    <!--USART1 Enable-->
    <RefParameter Visible="false" Name="USART2Enable" Comment="USART2" Type="list" DefaultValue="true">
        <Condition Expression="USART2Used_ForRCC" Diagnostic="USART2 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="USART2Enable" Comment="USART2" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	

	
    <!--LPUART1 Enable-->
    <RefParameter Visible="false" Name="LPUART1Enable" Comment="LPUART1" Type="list" DefaultValue="true">
        <Condition Expression="LPUARTUsed_ForRCC" Diagnostic="LPUART1 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="LPUART1Enable" Comment="LPUART1" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <!--LPTIM1 Enable-->
    <RefParameter Visible="false" Name="LPTIM1Enable" Comment="LPTIM1" Type="list" DefaultValue="true">
        <Condition Expression="LPTIM1Used_ForRCC" Diagnostic="LPTIM1 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>	
    <RefParameter Visible="false" Name="LPTIM1Enable" Comment="LPTIM1" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <!--LPTIM2 Enable-->
    <RefParameter Visible="false" Name="LPTIM2Enable" Comment="LPTIM2" Type="list" DefaultValue="true">
        <Condition Expression="LPTIM2Used_ForRCC" Diagnostic="LPTIM2 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>	
    <RefParameter Visible="false" Name="LPTIM2Enable" Comment="LPTIM2" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    
    <RefParameter Visible="false" Name="LPTIM3Enable" Comment="LPTIM3" Type="list" DefaultValue="true">
        <Condition Expression="LPTIM3Used_ForRCC" Diagnostic="LPTIM3 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>	
    <RefParameter Visible="false" Name="LPTIM3Enable" Comment="LPTIM3" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <!--I2C1 Enable-->
    <RefParameter Visible="false" Name="I2C1Enable" Comment="I2C1" Type="list" DefaultValue="true">
        <Condition Expression="I2C1Used_ForRCC" Diagnostic="I2C1 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>	
    <RefParameter Visible="false" Name="I2C1Enable" Comment="I2C1" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    
    
    
    <!-- Ext Clock  Enable-->
	<RefParameter Visible="false" Name="ExtClockEnable" Comment="Audio Clock Input(I2S_CKIN)" Type="list" DefaultValue="true" IP="Audio_ClockIn">
		<Condition Expression="AudioClockConfig" Diagnostic="Ext clock is activated"/>
		<PossibleValue Value="true" Comment="true"/>
	</RefParameter>
	<RefParameter Visible="false" Name="ExtClockEnable" Comment="Audio Clock Input(I2S_CKIN)" Type="list" DefaultValue="false" IP="Audio_ClockIn">
		<PossibleValue Value="false" Comment="false"/>
	</RefParameter>
    
    <RefParameter Visible="false" Name="I2C2Enable" Comment="I2C2" Type="list" DefaultValue="true">
        <Condition Expression="I2C2Used_ForRCC" Diagnostic="I2C2 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>	
    <RefParameter Visible="false" Name="I2C2Enable" Comment="I2C2" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>

    <!--I2C3 Enable-->
    <RefParameter Visible="false" Name="I2C3Enable" Comment="I2C3" Type="list" DefaultValue="true">
        <Condition Expression="I2C3Used_ForRCC" Diagnostic="I2C3 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="I2C3Enable" Comment="I2C3" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>

    <!--I2S2 Enable-->
    <RefParameter Visible="false" Name="I2S2Enable" Comment="I2S2,SPI2" Type="list" DefaultValue="true" IP="I2S2,SPI2">
        <Condition Expression="(I2S2Used_ForRCC|SPI2Used_ForRCC)" Diagnostic="I2S2/SPI2 is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>	
    <RefParameter Visible="false" Name="I2S2Enable" Comment="I2S2,SPI2" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
	
    <!-- HSE state control -->
    <!-- HSE osillator type -->
    <RefParameter Visible="false" Comment="Clock Type HSE" DefaultValue="" Name="OscillatorTypeHSE" Type="list">
        <Condition Expression="HSEUsed=0" Diagnostic="if HSE source not used"/>
        <PossibleValue Comment="" Value=""/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Clock Type HSE" DefaultValue="RCC_OSCILLATORTYPE_HSE" Name="OscillatorTypeHSE" Type="list">
        <PossibleValue Comment="HSE" Value="RCC_OSCILLATORTYPE_HSE"/>
    </RefParameter>
    
	
    <!-- HSE used -->	
    <RefParameter Visible="false" Comment="HSE Is Used" DefaultValue="1" Name="HSEUsedForSys" Min="1" Type="integer">
        <Condition Expression="((PLLSourceHSE)&amp; (SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)" Diagnostic="HSE is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSE is Used" DefaultValue="0" Name="HSEUsedForSys" Min="0" Type="integer"/>
    <RefParameter Visible="false" Comment="HSE used flag" DefaultValue="1" Name="HSEUsed" Type="integer" Min="1" Max="1">
        <Condition Expression="((RTCUsed_ForRCC|LCDUsed_ForRCC)&amp;!((RTCClockSelection=RCC_RTCCLKSOURCE_LSE)|(RTCClockSelection=RCC_RTCCLKSOURCE_LSI)))|((PLLSourceHSE) &amp; (PLLUsed=1))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)|((RCC_MCO1Source=RCC_MCO1SOURCE_HSE)&amp;(((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig)))" Diagnostic="SYSCLK source OR PLL source OR RTC source OR MCO1 source OR MCO2 source"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="HSE Is Used" DefaultValue="0" Name="HSEUsed" Min="0" Type="integer"/>
	
    <!-- HSE state for codGen -->	
    <RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_ON" Name="HSEState" Type="list">
        <Condition Diagnostic="HSE ON" Expression="HSEOscillator"/>
        <PossibleValue Comment="Hse ON" Value="RCC_HSE_ON" Semaphore="HSEEnabled"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_BYPASS_PWR" Name="HSEState" Type="list">
        <Condition Diagnostic="HSE ON" Expression="HSEByPassPwr"/>
        <PossibleValue Comment="Hse ON" Value="RCC_HSE_BYPASS_PWR" Semaphore="HSEEnabled"/>
    </RefParameter>

    <RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_OFF" Name="HSEState" Type="list">
        <PossibleValue Comment="Hse Off" Value="RCC_HSE_OFF"/>
    </RefParameter>
	
	
	
	
    <!-- LSE state control -->
    <!-- LSE osillator type -->
    <RefParameter Visible="false" Comment="Clock Type LSE" DefaultValue="" Name="OscillatorTypeLSE" Type="list">
        <Condition Diagnostic="LSE Is OFF" Expression="LSEUsed=0"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Clock Type LSE" DefaultValue="RCC_OSCILLATORTYPE_LSE" Name="OscillatorTypeLSE" Type="list">
        <PossibleValue Comment="LSE" Value="RCC_OSCILLATORTYPE_LSE"/>
    </RefParameter>
	
    <!-- LSE used -->
    <RefParameter Visible="false" Comment="LSE Is Used" DefaultValue="1" Name="LSEUsed" Min="1" Type="integer">
        <Condition Expression="(RNGUsed_ForRCC &amp; RNGCLKSOURCE_LSE)|MSIAutoCalibrationON|CRSActivatedSourceLSE|(LSCOSSourceLSE &amp; LSCOConfig)|(Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_LSE_REQUIRED1_TIM16)|(SEM2RCC_LSE_REQUIRED_TIM2 &amp; Semaphore_TIM2_L4_ETR_REMAPTIM2 &amp; TIM2)|(Semaphore_input_Channel1_directTIM15 &amp; TIM15 &amp; SEM2RCC_LSE_REQUIRED1_TIM15)|(USART1SourceLSE &amp; USART1Used_ForRCC)|(USART2SourceLSE &amp; USART2Used_ForRCC)|(LPUART1SourceLSE &amp; LPUARTUsed_ForRCC)|(LPTIM1SOURCELSE &amp; LPTIM1Used_ForRCC)|(LPTIM2SOURCELSE &amp; LPTIM2Used_ForRCC)|(LPTIM3SOURCELSE &amp; LPTIM3Used_ForRCC)|((RCC_MCO1Source=RCC_MCO1SOURCE_LSE)&amp; ((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig))|((RTCClockSelection=RCC_RTCCLKSOURCE_LSE) &amp;(RTCUsed_ForRCC|LCDUsed_ForRCC) )" Diagnostic="LSE is used if "/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="LSE Is Used" DefaultValue="0" Name="LSEUsed" Min="0" Type="integer"/>   <!-- LSE used -->

	
    <!-- LSE state used to codgen -->
    <RefParameter Visible="false" Comment="Lse State" DefaultValue="RCC_LSE_BYPASS" Name="LSEState" Type="list">
        <Condition Diagnostic="LSE BYPass" Expression="LSEByPass"/>
        <PossibleValue Comment="Lse Bypass" Value="RCC_LSE_BYPASS"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Lse State" DefaultValue="RCC_LSE_ON" Name="LSEState" Type="list">
        <Condition Diagnostic="LSE ON" Expression="LSEOscillator"/>
        <PossibleValue Comment="Lse ON" Value="RCC_LSE_ON"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Lse State" DefaultValue="RCC_LSE_OFF" Name="LSEState" Type="list">
        <PossibleValue Comment="Lse Off" Value="RCC_LSE_OFF"/>
        <PossibleValue Comment="Lse On" Value="RCC_LSE_ON"/>
        <PossibleValue Comment="Lse Bypass" Value="RCC_LSE_BYPASS"/>
    </RefParameter>
	
	
    
    <!-- LSI state control -->
    <!-- LSI osillator type -->
    <RefParameter Visible="false" Comment="Clock Type LSI" DefaultValue="" Name="OscillatorTypeLSI" Type="list">
        <Condition Diagnostic="WDOG is activated Or RTC source = LSI " Expression="LSIUsed=0"/>
        <PossibleValue Comment="" Value=""/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Clock Type LSI" DefaultValue="RCC_OSCILLATORTYPE_LSI" Name="OscillatorTypeLSI" Type="list">
	<Condition Diagnostic="WDOG is activated Or RTC source = LSI " Expression="LSIUsed=1"/>
        <PossibleValue Comment="LSI" Value="RCC_OSCILLATORTYPE_LSI"/>
    </RefParameter>
	
    <!-- LSI used -->
    <RefParameter Visible="false" Comment="LSI used flag" DefaultValue="1" Name="LSIUsed" Type="integer" Min="1" Max="1">
        <Condition Expression="(RNGUsed_ForRCC &amp; RNGCLKSOURCE_LSI) | (MCOConfig &amp; (MCOSourceLSI))|(LSCOSSourceLSI &amp; LSCOConfig)|RCC_DAC_SAMPLEANDHOLD|(SEM2RCC_LSI_REQUIRED_TIM16 &amp; TIM16 &amp;  Semaphore_input_Channel1TIM16)|(LPTIM1SOURCELSI &amp; LPTIM1Used_ForRCC)|(LPTIM2SOURCELSI &amp; LPTIM2Used_ForRCC)|(LPTIM3SOURCELSI &amp; LPTIM3Used_ForRCC)|(IWDGUsed_ForRCC|((RTCClockSelection=RCC_RTCCLKSOURCE_LSI)&amp;(RTCUsed_ForRCC|LCDUsed_ForRCC))|((RCC_MCO1Source=RCC_MCO1SOURCE_LSI)&amp;(((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig))))" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="LSI used flag" DefaultValue="0" Name="LSIUsed" Type="integer" Min="0" Max="0"/>
   
    <!-- LSI state to codGen -->
    <RefParameter Visible="false" Comment="Lsi State" DefaultValue="RCC_LSI_OFF" Name="LSIState" Type="list">
        <Condition Expression="LSIUsed=0" Diagnostic=""/>
        <PossibleValue Comment="Lsi Off" Value="RCC_LSI_OFF"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Lsi State" DefaultValue="RCC_LSI_ON" Name="LSIState" Type="list">
        <PossibleValue Comment="Lsi ON" Value="RCC_LSI_ON"/>
    </RefParameter>
	
	
	
	
    <!-- HSI state control -->
    <!-- HSI osillator type -->	
    <RefParameter Visible="false" Comment="Clock Type HSI" DefaultValue="" Name="OscillatorTypeHSI" Type="list">
        <Condition Diagnostic="HSI Is OFF" Expression="HSIUsed=0"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Type HSI" DefaultValue="RCC_OSCILLATORTYPE_HSI" Name="OscillatorTypeHSI" Type="list">
        <PossibleValue Comment="HSI" Value="RCC_OSCILLATORTYPE_HSI"/>
    </RefParameter>
	
    <!-- HSI used -->
    
    <RefParameter Visible="false" Comment="HSI Is Used" DefaultValue="1" Name="HSIUsedForSys" Min="1" Type="integer">
        <Condition Expression="((PLLSourceHSI)&amp; (SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSI)" Diagnostic="HSI is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSI is Used" DefaultValue="0" Name="HSIUsedForSys" Min="0" Type="integer"/>
    <RefParameter Visible="false" Comment="HSI Is Used" DefaultValue="1" Name="HSIUsed" Min="1" Type="integer">
        <Condition Expression="ADCUsed_ForRCC &amp; ADCCLKSOURCE_HSI | I2C2SourceHSI &amp; I2C2Used_ForRCC| ((I2S2Used_ForRCC|SPI2Used_ForRCC) &amp; I2S2CLKSOURCE_HSI)|(USART1SourceHSI&amp; USART1Used_ForRCC)|(USART2SourceHSI&amp; USART2Used_ForRCC)|(LPUART1SourceHSI&amp; LPUARTUsed_ForRCC)|(LPTIM1SOURCEHSI&amp; LPTIM1Used_ForRCC)|(LPTIM2SOURCEHSI &amp; LPTIM2Used_ForRCC)|(LPTIM3SOURCEHSI &amp; LPTIM3Used_ForRCC)|(I2C1SourceHSI&amp; I2C1Used_ForRCC)|(I2C3SourceHSI&amp; I2C3Used_ForRCC)|((PLLSourceHSI)&amp; (PLLUsed=1))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSI)|((RCC_MCO1Source=RCC_MCO1SOURCE_HSI)&amp;((((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig))))" Diagnostic="LSE is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSI is Used" DefaultValue="0" Name="HSIUsed" Min="0" Type="integer"/>    
    
    
    <RefParameter Visible="false" Comment="HSE Prediv" DefaultValue="1" Name="HSEPrediv2" Min="1" Type="integer">
        <Condition Expression="(((PLLSourceHSE)&amp; (SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK)) | (SYSCLKSource=RCC_SYSCLKSOURCE_HSE)) &amp; (HSEPRES=2)" Diagnostic="HSE prescaler is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSE Prediv" DefaultValue="0" Name="HSEPrediv2" Min="0" Type="integer"/>
	
    <!-- HSI state used codGen-->

    <RefParameter Visible="false" Comment="Hsi State" DefaultValue="RCC_HSI_OFF" Name="HSIState" Type="list">
        <Condition Expression="HSIUsed=0" Diagnostic=""/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Hsi State" DefaultValue="RCC_HSI_ON" Name="HSIState" Type="list">
        <PossibleValue Comment="Hsi On" Value="RCC_HSI_ON"/>
    </RefParameter>
	
    <!-- Main PLL state control-->
	
    <!-- PLLUsedForSys used -->
    <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsedForSys" Min="1" Max="1" Type="integer">
        <Condition Expression="(SysSourcePLL)|((RCC_MCO1Source=RCC_MCO1SOURCE_PLLCLK)&amp; ((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig))" Diagnostic=" "/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedForSys" Min="0" Max="0" Type="integer"/>

	
    <!-- PLL used -->
    <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsed" Min="1" Max="1" Type="integer">
        <Condition Expression="((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig) &amp;  (MCO1SOURCE_PLLPCLK | MCO1SOURCE_PLLQCLK | MCO1SOURCE_PLLCLK)| ADCUsed_ForRCC &amp; ADCSourcePLL | (RNGCLKSOURCE_PLL &amp; RNGUsed_ForRCC) | (I2S2Used_ForRCC|SPI2Used_ForRCC) &amp; I2S2CLKSOURCE_PLL | SysSourcePLL" Diagnostic=" "/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsed" Min="0" Max="0" Type="integer"/>
	
    <!-- PLL state -->
    <RefParameter Visible="false" Comment="Pll State" DefaultValue="RCC_PLL_OFF" Name="PLLState" Type="list">
        <Condition Expression="PLLUsed=0" Diagnostic=""/>
        <PossibleValue Comment="Pll Off" Value="RCC_PLL_OFF"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Pll State" DefaultValue="RCC_PLL_ON" Name="PLLState" Type="list">
        <PossibleValue Comment="Pll ON" Value="RCC_PLL_ON"/>
    </RefParameter>
    
    
    <!-- MSI state control -->
    <!-- MSI osillator type-->
    <RefParameter Visible="false" Comment="MSI Is Used" DefaultValue="1" Name="MSIUsedForSys" Min="1" Type="integer">
        <Condition Expression="((PLLSourceMSI)&amp; (SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK))|(SYSCLKSource=RCC_SYSCLKSOURCE_MSI)" Diagnostic="MSI is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="MSI is Used" DefaultValue="0" Name="MSIUsedForSys" Min="0" Type="integer"/>
    
    <RefParameter Visible="false" Comment="Clock Type MSI" DefaultValue="" Name="OscillatorTypeMSI" Type="list">
        <Condition Diagnostic="MSI Is OFF" Expression="MSIUsed=0"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Type MSI" DefaultValue="RCC_OSCILLATORTYPE_MSI" Name="OscillatorTypeMSI" Type="list">
        <PossibleValue Comment="MSI" Value="RCC_OSCILLATORTYPE_MSI"/>
    </RefParameter>
	
    <!-- MSI used -->
    <RefParameter Visible="false" Comment="MSI Is Used" DefaultValue="1" Name="MSIUsed" Min="1" Type="integer">
        <Condition Expression="(SEM2RCC_MSI_REQUIRED_TIM16 &amp; TIM16 &amp; Semaphore_input_Channel1TIM16)|(SYSCLKSource=RCC_SYSCLKSOURCE_MSI)|((RCC_MCO1Source=RCC_MCO1SOURCE_MSI)&amp; ((Semaphore_input_Channel1TIM16 &amp; TIM16 &amp; SEM2RCC_MCO_REQUIRED_TIM16)|MCOConfig))|(PLLSourceMSI &amp; (PLLUsed=1) )| (RNGCLKSOURCE_MSI &amp; RNGUsed_ForRCC)" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="MSI is Used" DefaultValue="0" Name="MSIUsed" Min="0" Type="integer"/>
	
    <!-- MSI state used to codgen -->
    <RefParameter Visible="false" Comment="Msi State" DefaultValue="RCC_MSI_ON" Name="MSIState" Type="list">
        <Condition Expression="MSIUsed=1" Diagnostic=""/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="MSI State" DefaultValue="RCC_MSI_OFF" Name="MSIState" Type="list">
    </RefParameter>
	
	
	
    <!--Clock Type-->
    <RefParameter Visible="false" Comment="Clock Type" DefaultValue="+ClockTypeHCLKs+|ClockTypeHCLK2+|ClockTypeHCLK+|ClockTypeSysClk+|ClockTypePCLK1+|ClockTypePCLK2" Name="ClockType" Type="list"/>
   
  
    <RefParameter Visible="false" Comment="Clock Type SysClk" DefaultValue="RCC_CLOCKTYPE_SYSCLK" Name="ClockTypeSysClk" Type="list">
        <PossibleValue Comment="Sysclk" Value="RCC_CLOCKTYPE_SYSCLK" Semaphore="SysClkToConfigure"/>
    </RefParameter>
    
    <RefParameter Visible="false" Comment="Clock Type AHB" DefaultValue="RCC_CLOCKTYPE_HCLK" Name="ClockTypeHCLK" Type="list">
        <PossibleValue Comment="RCC_CLOCKTYPE_HCLK" Value="RCC_CLOCKTYPE_HCLK" Semaphore="HCLKtoConfigure"/>
    </RefParameter>
 
    <RefParameter Visible="false" Comment="Clock Type AHB" DefaultValue="RCC_CLOCKTYPE_HCLK2" Name="ClockTypeHCLK2" Type="list">
        <Condition Expression="(STM32WL5x &amp; !S_SINGLE_CORE)" Diagnostic=""/>
        <PossibleValue Comment="RCC_CLOCKTYPE_HCLK2" Value="RCC_CLOCKTYPE_HCLK2" Semaphore="HCLK2toConfigure"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Type AHB" DefaultValue="" Name="ClockTypeHCLK2" Type="list"/>
 
    <RefParameter Visible="false" Comment="Clock Type AHB" DefaultValue="RCC_CLOCKTYPE_HCLK3" Name="ClockTypeHCLKs" Type="list">
        <PossibleValue Comment="RCC_CLOCKTYPE_HCLK3" Value="RCC_CLOCKTYPE_HCLK3" Semaphore="HCLKStoConfigure"/>
    </RefParameter>
 
    <RefParameter Visible="false" Comment="Clock Type HCLK1" DefaultValue="RCC_CLOCKTYPE_PCLK1" Name="ClockTypePCLK1" Type="list">
        <PossibleValue Comment="PCLK1" Value="RCC_CLOCKTYPE_PCLK1" Semaphore="PCLK1toConfigure"/>
    </RefParameter>
  
    <RefParameter Visible="false" Comment="Clock Type HCLK2" DefaultValue="RCC_CLOCKTYPE_PCLK2" Name="ClockTypePCLK2" Type="list">
        <PossibleValue Comment="PCLK2" Value="RCC_CLOCKTYPE_PCLK2" Semaphore="PCLK2toConfigure"/>
    </RefParameter>
    <!--params for code generation-->
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_RNGVar" Type="list" IP="RNG" DefaultValue="RCC_PERIPHCLK_RNG">
        <Condition Expression="RNGUsed_ForRCC" Diagnostic="RTC Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_RNG"/>
    </RefParameter>	

    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_RTCVar" Type="list" IP="RTC" DefaultValue="RCC_PERIPHCLK_RTC">
        <Condition Expression="RTCUsed_ForRCC|LCDUsed_ForRCC" Diagnostic="RTC Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_RTC"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_USART1Var" Type="list" IP="USART1" DefaultValue="RCC_PERIPHCLK_USART1">
        <Condition Expression="USART1Used_ForRCC" Diagnostic="RTC Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_USART1"/>
    </RefParameter>   
    
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_USART2Var" Type="list" IP="USART2" DefaultValue="RCC_PERIPHCLK_USART2">
        <Condition Expression="USART2Used_ForRCC" Diagnostic="RTC Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_USART2"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_LPUART1Var" Type="list" IP="LPUART1" DefaultValue="RCC_PERIPHCLK_LPUART1">
        <Condition Expression="LPUARTUsed_ForRCC" Diagnostic="LPUART1 Activated"/>
        <PossibleValue Comment="Periphclk LPUART1" Value="RCC_PERIPHCLK_LPUART1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_LPTIM1Var" Type="list" IP="LPTIM1" DefaultValue="RCC_PERIPHCLK_LPTIM1">
        <Condition Expression="LPTIM1Used_ForRCC" Diagnostic="LPTIM1 Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_LPTIM1"/>
    </RefParameter>	
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_LPTIM2Var" Type="list" IP="LPTIM2" DefaultValue="RCC_PERIPHCLK_LPTIM2">
        <Condition Expression="LPTIM2Used_ForRCC" Diagnostic="LPTIM2 Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_LPTIM2"/>
    </RefParameter>
    
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_LPTIM3Var" Type="list" IP="LPTIM3" DefaultValue="RCC_PERIPHCLK_LPTIM3">
        <Condition Expression="LPTIM3Used_ForRCC" Diagnostic="LPTIM3 Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_LPTIM3"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_I2S2Var" Type="list" IP="I2S2" DefaultValue="RCC_PERIPHCLK_I2S2">
        <Condition Expression="I2S2Used_ForRCC" Diagnostic="I2S2 Activated"/>
        <PossibleValue Comment="Periphclk I2S2" Value="RCC_PERIPHCLK_I2S2"/>
    </RefParameter>
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_I2S2Var" Type="list" IP="SPI2" DefaultValue="RCC_PERIPHCLK_I2S2">
        <Condition Expression="SPI2Used_ForRCC" Diagnostic="I2S2 Activated"/>
        <PossibleValue Comment="Periphclk I2S2" Value="RCC_PERIPHCLK_I2S2"/>
    </RefParameter>	
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_I2C1Var" Type="list" IP="I2C1" DefaultValue="RCC_PERIPHCLK_I2C1">
        <Condition Expression="I2C1Used_ForRCC" Diagnostic="I2C1 Activated"/>
        <PossibleValue Comment="Periphclk I2C1" Value="RCC_PERIPHCLK_I2C1"/>
    </RefParameter> 
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="I2C2" Type="list" IP="I2C2" DefaultValue="RCC_PERIPHCLK_I2C2">
        <Condition Expression="I2C2Used_ForRCC" Diagnostic="I2C2 Activated"/>
        <PossibleValue Comment="Periphclk I2C2" Value="RCC_PERIPHCLK_I2C2"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_I2C3Var" Type="list" IP="I2C3" DefaultValue="RCC_PERIPHCLK_I2C3">
        <Condition Expression="I2C3Used_ForRCC" Diagnostic="I2C3 Activated"/>
        <PossibleValue Comment="Periphclk I2C3" Value="RCC_PERIPHCLK_I2C3"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="RCC_PERIPHCLK_ADCVar" Type="list" IP="ADC" DefaultValue="RCC_PERIPHCLK_ADC">
        <Condition Expression="ADCUsed_ForRCC" Diagnostic="ADC Activated"/>
        <PossibleValue Comment="Periphclk ADC" Value="RCC_PERIPHCLK_ADC"/>
    </RefParameter>
    
    <RefParameter Visible="false" Name="PeriphClockSelectionARG" Comment="PeriphClockSelectionARG" Type="list" DefaultValue="null"/>
    
    <RefParameter Visible="false" Name="RTCClockSelectionARG" Comment="RTCClockSelectionARG" Type="list" IP="RTC" DefaultValue="+RTCClockSelection">
        <Condition Expression="(RTCUsed_ForRCC)" Diagnostic="RTC Activated"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="USART1lockSelectionARG" Comment="USART1lockSelectionARG" Type="list" IP="USART1" DefaultValue="+USART1CLockSelection">
        <Condition Expression="USART1Used_ForRCC" Diagnostic="USART1 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="USART1lockSelectionARG" Comment="USART1lockSelectionARG" Type="list" DefaultValue="null"/>
    
    <RefParameter Visible="false" Name="USART2lockSelectionARG" Comment="USART2lockSelectionARG" Type="list" IP="USART2" DefaultValue="+USART2CLockSelection">
        <Condition Expression="USART2Used_ForRCC" Diagnostic="USART2 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="USART2lockSelectionARG" Comment="USART2lockSelectionARG" Type="list" DefaultValue="null"/>
	
	
    <RefParameter Visible="false" Name="LPUART1lockSelectionARG" Comment="LPUART1lockSelectionARG" Type="list" IP="LPUART1" DefaultValue="+LPUART1CLockSelection">
        <Condition Expression="LPUARTUsed_ForRCC" Diagnostic="LPUART1 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LPUART1lockSelectionARG" Comment="LPUART1lockSelectionARG" Type="list" DefaultValue="null"/>
	
    <RefParameter Visible="false" Name="LPTIM1lockSelectionARG" Comment="LPTIM1lockSelectionARG" Type="list" IP="LPTIM1" DefaultValue="+LPTIM1CLockSelection">
        <Condition Expression="LPTIM1Used_ForRCC" Diagnostic="LPTIM1 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LPTIM1lockSelectionARG" Comment="LPTIM1lockSelectionARG" Type="list" DefaultValue="null"/>
	
    <RefParameter Visible="false" Name="LPTIM2lockSelectionARG" Comment="LPTIM2lockSelectionARG" Type="list" IP="LPTIM2" DefaultValue="+LPTIM2CLockSelection">
        <Condition Expression="LPTIM2Used_ForRCC" Diagnostic="LPTIM2 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LPTIM2lockSelectionARG" Comment="LPTIM2lockSelectionARG" Type="list" DefaultValue="null"/>

    <RefParameter Visible="false" Name="LPTIM3lockSelectionARG" Comment="LPTIM3lockSelectionARG" Type="list" IP="LPTIM3" DefaultValue="+LPTIM3CLockSelection">
        <Condition Expression="LPTIM3Used_ForRCC" Diagnostic="LPTIM3 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LPTIM3lockSelectionARG" Comment="LPTIM3lockSelectionARG" Type="list" DefaultValue="null"/>	
	
	
    <RefParameter Visible="false" Name="I2C1lockSelectionARG" Comment="I2C1lockSelectionARG" Type="list" IP="I2C1" DefaultValue="+I2C1CLockSelection">
        <Condition Expression="I2C1Used_ForRCC" Diagnostic="I2c1 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2C1lockSelectionARG" Comment="I2C1lockSelectionARG" Type="list" DefaultValue="null"/>

    <RefParameter Visible="false" Name="I2c2ClockSelectionARG" Comment="I2c2ClockSelectionARG" Type="list" IP="I2C2" DefaultValue="+I2C2CLockSelection">
        <Condition Expression="I2C2Used_ForRCC" Diagnostic="I2c2 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2c2ClockSelectionARG" Comment="I2c2ClockSelectionARG" Type="list" DefaultValue="null"/>
	
	
    <RefParameter Visible="false" Name="I2C3lockSelectionARG" Comment="I2C3lockSelectionARG" Type="list" IP="I2C3" DefaultValue="+I2C3CLockSelection">
        <Condition Expression="I2C3Used_ForRCC" Diagnostic="I2c3 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2C3lockSelectionARG" Comment="I2C3lockSelectionARG" Type="list" DefaultValue="null"/>
	
	
    <RefParameter Visible="false" Name="RNGClockSelectionARG" Comment="RNGClockSelectionARG" Type="list" IP="RNG" DefaultValue="+RNGCLockSelection">
        <Condition Expression="RNGUsed_ForRCC" Diagnostic="LCD Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RNGClockSelectionARG" Comment="RNGClockSelectionARG" Type="list" DefaultValue="null"/>
	
	
    <RefParameter Visible="false" Name="ADCClockSelectionARG" Comment="ADCClockSelectionARG" Type="list" IP="ADC" DefaultValue="+ADCCLockSelection">
        <Condition Expression="(ADCUsed_ForRCC)" Diagnostic="ADC Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="ADCClockSelectionARG" Comment="ADCClockSelectionARG" Type="list" DefaultValue="null"/>
    
    
    <RefParameter Visible="false" Name="I2s2ClockSelectionARG" Comment="I2s2ClockSelectionARG" Type="list" IP="I2S2" DefaultValue="+I2S2CLockSelection">
        <Condition Expression="I2S2Used_ForRCC" Diagnostic="USART2 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2s2ClockSelectionARG" Comment="I2s2ClockSelectionARG" Type="list" IP="SPI2" DefaultValue="+I2S2CLockSelection">
        <Condition Expression="SPI2Used_ForRCC" Diagnostic="USART2 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2s2ClockSelectionARG" Comment="I2s2ClockSelectionARG" Type="list" DefaultValue="null"/>
	
    <RefParameter Visible="false" Comment="LSCOSource1ARG" DefaultValue="+LSCOSource1" Name="LSCOSource1ARG" Type="list">
        <Condition Diagnostic="MSI used" Expression="LSCOConfig"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="LSCOSource1ARG" DefaultValue="null" Name="LSCOSource1ARG" Type="list"/>
	
    <!--params for clock source-->
    <!--params for HSE-->
    <RefParameter Visible="false" Comment="Lse StateARG" DefaultValue="+HSEState" Name="HSEStateARG" Type="list">
        <Condition Diagnostic="HSE used" Expression="HSEUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Hse StateARG" DefaultValue="null" Name="HSEStateARG" Type="list"/>
	
	
    <!--params for LSE-->
    <RefParameter Visible="false" Comment="Lse StateARG" DefaultValue="+LSEState" Name="LSEStateARG" Type="list">
        <Condition Diagnostic="LSE used" Expression="LSEUsed=1 "/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="Lse StateARG" DefaultValue="null" Name="LSEStateARG" Type="list"/>
	
	
    <!--params for HSI-->
    <RefParameter Visible="false" Comment="HSI StateARG" DefaultValue="+HSIState" Name="HSIStateARG" Type="list">
        <Condition Diagnostic="HSI used" Expression="HSIUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="HSI StateARG" DefaultValue="null" Name="HSIStateARG" Type="list"/>
	
    <!--params for LSI-->
    <RefParameter Visible="false" Comment="LSI StateARG" DefaultValue="+LSIState" Name="LSIStateARG" Type="list">
        <Condition Diagnostic="LSI used" Expression="LSIUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="LSI StateARG" DefaultValue="null" Name="LSIStateARG" Type="list"/>
	
        
    <!--params for MSI-->
    <RefParameter Visible="false" Comment="MSI StateARG" DefaultValue="+MSIState" Name="MSIStateARG" Type="list">
        <Condition Diagnostic="MSI used" Expression="MSIUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="MSI StateARG" DefaultValue="null" Name="MSIStateARG" Type="list"/>
	
    <!--params for PLL-->
    <RefParameter Visible="false" Comment="PLLStateARG" DefaultValue="+PLLState" Name="PLLStateARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLStateARG" DefaultValue="RCC_PLL_NONE" Name="PLLStateARG" Type="list"/>
	
    <RefParameter Visible="false" Comment="PLLSourceARG" DefaultValue="+PLLSource" Name="PLLSourceARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLSourceARG" DefaultValue="null" Name="PLLSourceARG" Type="list"/>
    
    
    
    <RefParameter Visible="false" Comment="HSEDivARG" DefaultValue="RCC_HSE_DIV1" Name="HSEDivARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="HSEUsed=1 &amp; HSEPRES=1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSEDivARG" DefaultValue="RCC_HSE_DIV2" Name="HSEDivARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="HSEUsed=1 &amp; HSEPRES=2"/>
    </RefParameter>	
    <RefParameter Visible="false" Comment="HSEDivARG" DefaultValue="null" Name="HSEDivARG" Type="list"/>

    <RefParameter Visible="false" Comment="PLLMARG" DefaultValue="+PLLM" Name="PLLMARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLMARG" DefaultValue="null" Name="PLLMARG" Type="list"/>
	
	
    <RefParameter Visible="false" Comment="PLLNARG" DefaultValue="+PLLN" Name="PLLNARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLNARG" DefaultValue="null" Name="PLLNARG" Type="list"/>
	
    <RefParameter Visible="false" Comment="PLLPARG" DefaultValue="+PLLP" Name="PLLPARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLPARG" DefaultValue="null" Name="PLLPARG" Type="list"/>
	
	
    <RefParameter Visible="false" Comment="PLLQARG" DefaultValue="+PLLQ" Name="PLLQARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLQARG" DefaultValue="null" Name="PLLQARG" Type="list"/>


    <RefParameter Visible="false" Comment="PLLRARG" DefaultValue="+PLLR" Name="PLLRARG" Type="list">
        <Condition Diagnostic="PLL used" Expression="PLLUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLLRARG" DefaultValue="null" Name="PLLRARG" Type="list"/>
    

    <RefParameter Comment="HSI Calibration Value" DefaultValue="64" Max="127" Min="0" Name="HSICalibrationValue" Group="RCC Parameters" Type="integer">
        <Condition Diagnostic="HSI used" Expression="HSIUsed=1"/>
    </RefParameter>
    <RefParameter Comment="HSI Calibration Value" DefaultValue="64" Max="127" Min="0" Name="HSICalibrationValue" Group="RCC Parameters" Type="integer"/>
    
   
    <RefParameter Comment="MSI Calibration Value" DefaultValue="0" Max="255" Min="0" Name="MSICalibrationValue" Type="integer" Group="RCC Parameters">
        <Condition Diagnostic="HSI used" Expression="MSIUsed=1"/>
    </RefParameter>
    <RefParameter Comment="MSI Calibration Value" DefaultValue="0" Max="255" Min="0" Name="MSICalibrationValue" Type="integer" Group="RCC Parameters"/>
	
    <RefParameter Visible="false" Comment="Clock TypeARG" DefaultValue="+ClockType" Name="ClockTypeARG" Type="list">
        <Condition Expression="SysClkToConfigure|HCLKtoConfigure|PCLK1toConfigure|PCLK2toConfigure|FLASH_LATENCY1|HCLKStoConfigure|HCLK2toConfigure" Diagnostic="at least one clock to configure"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock TypeARG" DefaultValue="null" Name="ClockTypeARG" Type="list"/>
    <RefParameter Visible="false" Comment="SysClock SourceARG" DefaultValue="+SYSCLKSource" Name="SYSCLKSourceARG" Type="list">
        <Condition Expression="SysClkToConfigure" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="SysClock SourceARG" DefaultValue="null" Name="SYSCLKSourceARG" Type="list"/>
    <RefParameter Visible="false" Comment="AHBCLKDividerARG" DefaultValue="+AHBCLKDivider" Name="AHBCLKDividerARG" Type="list">
        <Condition Expression="HCLKtoConfigure" Diagnostic=""/>
    </RefParameter>	
    <RefParameter Visible="false" Comment="AHBCLKDividerARG" DefaultValue="null" Name="AHBCLKDividerARG" Type="list"/>
    <RefParameter Visible="false" Comment="APB1CLKDividerARG" DefaultValue="+APB1CLKDivider" Name="APB1CLKDividerARG" Type="list">
        <Condition Expression="PCLK1toConfigure" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1CLKDividerARG" DefaultValue="null" Name="APB1CLKDividerARG" Type="list"/>
    <RefParameter Visible="false" Comment="APB2CLKDividerARG" DefaultValue="+APB2CLKDivider" Name="APB2CLKDividerARG" Type="list">
        <Condition Expression="PCLK2toConfigure" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2CLKDividerARG" DefaultValue="null" Name="APB2CLKDividerARG" Type="list"/>   

    <RefParameter Visible="false" Comment="AHBCLKSCLKDividerARG" DefaultValue="+AHB3CLKDivider" Name="AHBCLKSCLKDividerARG" Type="list">
        <Condition Expression="HCLKStoConfigure" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="AHBCLKSCLKDividerARG" DefaultValue="null" Name="AHBCLKSCLKDividerARG" Type="list"/>
	
    <RefParameter Visible="false" Comment="AHBCLK2CLKDividerARG" DefaultValue="+AHB2CLKDivider" Name="AHBCLK2CLKDividerARG" Type="list">
        <Condition Expression="HCLK2toConfigure &amp; STM32WL5x &amp; !S_SINGLE_CORE" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="AHBCLK2CLKDividerARG" DefaultValue="null" Name="AHBCLK2CLKDividerARG" Type="list"/>
	
	
    <!--MCO param used to codGen -->
    <RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO" DefaultValue="RCC_MCO1" Type="list">
        <Condition Diagnostic="" Expression="(MCOConfig)"/>
        <PossibleValue Comment="Clock Output" Value="RCC_MCO1"/>
    </RefParameter>
 
    <RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO" DefaultValue="null" Type="list"/>
	

    <RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="RCC_HSICALIBRATION_DEFAULT" Name="HSICalibrationValueARG" Type="list">
        <Condition Diagnostic="MSI used" Expression="HSIUsed=1 &amp; HSICalibrationValue=64"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="+HSICalibrationValue" Name="HSICalibrationValueARG" Type="list">
        <Condition Diagnostic="HSI used" Expression="HSIUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="null" Name="HSICalibrationValueARG" Type="list"/>
	
    <RefParameter Visible="false" Comment="MSICalibrationValueARG" DefaultValue="RCC_MSICALIBRATION_DEFAULT" Name="MSICalibrationValueARG" Type="list">
        <Condition Diagnostic="HSI used" Expression="(MSICalibrationValue=0) &amp; (MSIUsed=1)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="MSICalibrationValueARG" DefaultValue="+MSICalibrationValue" Name="MSICalibrationValueARG" Type="list">
        <Condition Diagnostic="MSI used" Expression="MSIUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="MSICalibrationValueARG" DefaultValue="null" Name="MSICalibrationValueARG" Type="list"/>
	
	
    <!--params for MSI clock range-->
    <RefParameter Visible="false" Comment="MSIClockRangeARG" DefaultValue="+MSIClockRange" Name="MSIClockRangeARG" Type="list">
        <Condition Diagnostic="MSI used" Expression="MSIUsed=1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="MSIClockRangeARG" DefaultValue="null" Name="MSIClockRangeARG" Type="list"/>

    <RefParameter Visible="false" Comment="RCC_MCO1SourceARG" DefaultValue="+RCC_MCO1Source" Name="RCC_MCO1SourceARG" Type="list">
        <Condition Diagnostic="MSI used" Expression="(MCOConfig)"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="RCC_MCO1SourceARG" DefaultValue="null" Name="RCC_MCO1SourceARG" Type="list"/>
	
    <!--VDD range--> 
 
    <RefParameter Name="VDD_VALUE" Comment="VDD voltage (V)" DefaultValue="3.3" Max="3.6" Min="1.65" Type="double" Unit="V" Group="System Parameters"/>
	
	
	<!--Power Regulator Voltage Scale-->
    <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE2" Group="Power Parameters">
        <Condition Diagnostic="" Expression="SysSourceMSI &amp; ((SYSCLKFreq_VALUE &lt; 16000000)| (SYSCLKFreq_VALUE = 16000000))"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE2" Comment="Power Regulator Voltage Scale 2" Semaphore="scale2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1" Semaphore="scale1"/>
    </RefParameter>
    <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">
        <Condition Diagnostic="" Expression="SysSourceMSI"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1" Semaphore="scale1"/>
    </RefParameter>
    <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE2" Group="Power Parameters">
        <Condition Diagnostic="" Expression="(SysSourceHSI | SysSourceHSE) &amp; ((SYSCLKFreq_VALUE &lt; 32000000)| (SYSCLKFreq_VALUE = 32000000))"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE2" Comment="Power Regulator Voltage Scale 2" Semaphore="scale2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1" Semaphore="scale1"/>
    </RefParameter>
    <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">
        <Condition Diagnostic="" Expression="((PLLPoutputFreq_Value &lt; 21000000)|PLLPoutputFreq_Value = 21000000) &amp; ((PLLRCLKFreq_Value &lt; 16000000)|PLLRCLKFreq_Value = 16000000) &amp; ((PLLQoutputFreq_Value &lt; 16000000)|PLLQoutputFreq_Value = 16000000)"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE2" Comment="Power Regulator Voltage Scale 2" Semaphore="scale2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1" Semaphore="scale1"/>
    </RefParameter>   
    <RefParameter Name="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1" Semaphore="scale1"/>
    </RefParameter>
    
    <RefParameter Visible="false" Comment="PWR_Regulator_Voltage_ScaleARG" DefaultValue="+PWR_Regulator_Voltage_Scale" Name="PWR_Regulator_Voltage_ScaleARG" Type="list"/>

    <!--         VCORE Range1   VCORE Range 2
    0 WS (1 CPU cycles)   ? 18             ? 6
    1 WS (2 CPU cycles)   ? 36             ? 12
    2 WS (3 CPU cycles)   ? 48             ? 16

    -->
  
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="list" DefaultValue="FLASH_LATENCY_0" Group="System Parameters">
        <Condition Diagnostic="" Expression="(scale1 &amp; ((HCLK3Freq_Value &lt; 18000000)|(HCLK3Freq_Value= 18000000 )))|(scale2 &amp; ((HCLK3Freq_Value &lt; 6000000)|(HCLK3Freq_Value= 6000000 )))" />
        <PossibleValue Value="FLASH_LATENCY_0" Comment="0 WS (1 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_1" Comment="1 WS (2 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>
    </RefParameter>
	
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="list" DefaultValue="FLASH_LATENCY_1" Group="System Parameters">
        <Condition Diagnostic="" Expression="(scale1 &amp; ((HCLK3Freq_Value &lt; 36000000)|(HCLK3Freq_Value= 36000000 )))|(scale2 &amp; ((HCLK3Freq_Value &lt; 12000000)|(HCLK3Freq_Value= 12000000 )))" />
        <PossibleValue Value="FLASH_LATENCY_1" Comment="1 WS (2 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>
    </RefParameter>
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="list" DefaultValue="FLASH_LATENCY_2" Group="System Parameters">
        <Condition Diagnostic="" Expression="(scale1 &amp; ((HCLK3Freq_Value &lt; 48000000)|(HCLK3Freq_Value= 48000000 ))) |(scale2 &amp; ((HCLK3Freq_Value &lt; 16000000)|(HCLK3Freq_Value= 16000000 )))" />
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>
    </RefParameter>
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_2" Group="System Parameters">   
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>    
    </RefParameter>
	
    <RefParameter Name="INSTRUCTION_CACHE_ENABLE" Comment="Instruction Cache" Type="list" DefaultValue="1" Group="System Parameters">
        <PossibleValue Value="1" Comment="Enabled"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="PREFETCH_ENABLE" Comment="Prefetch Buffer" Type="list" DefaultValue="0" Group="System Parameters">
        <PossibleValue Value="1" Comment="Enabled"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="DATA_CACHE_ENABLE" Comment="Data Cache" Type="list" DefaultValue="1" Group="System Parameters">
        <PossibleValue Value="1" Comment="Enabled"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>

   <RefParameter Name="MSIAutoCalibration" Comment="MSI Auto Calibration" Type="list" DefaultValue="ENABLED" Group="RCC Parameters">
        <Condition Expression="(MSIUsed=1) &amp; (LSEOscillator | LSEByPass)" Diagnostic=""/>
                <PossibleValue Value="DISABLED" Comment="Disabled"/>
		<PossibleValue Value="ENABLED" Comment="Enabled" Semaphore="MSIAutoCalibrationON" Condition="LSEState=RCC_LSE_OFF" Diagnostic="Could be enabled only if LSE mode is activated in pinout Tab" Action="disable" />
    </RefParameter>
	
    <RefParameter Name="MSIAutoCalibration" Comment="MSI Auto Calibration" Type="list" DefaultValue="DISABLED" Group="RCC Parameters">
        <PossibleValue Value="DISABLED" Comment="Disabled"/>
    </RefParameter>   
    

    <!--RefParameter Name="MSIOscState" Comment="MSI State" Type="list" DefaultValue="ENABLED" Group="RCC Parameters">
        <Condition Expression="(MSIUsed=0)" Diagnostic=""/>
        <PossibleValue Value="DISABLED" Comment="Disabled"/>
        <PossibleValue Value="ENABLED" Comment="Enabled"/>
    </RefParameter>
    <RefParameter Name="MSIOscState" Comment="MSI State" Type="list" DefaultValue="ENABLED" Group="RCC Parameters">
        <PossibleValue Value="ENABLED" Comment="Enabled"/>
    </RefParameter-->
    
    <!--RefParameter Name="HSIOscState" Comment="HSI State" Type="list" DefaultValue="ENABLED" Group="RCC Parameters">
        <Condition Expression="(HSIUsed=0)" Diagnostic=""/>
        <PossibleValue Value="DISABLED" Comment="Disabled"/>
        <PossibleValue Value="ENABLED" Comment="Enabled"/>
    </RefParameter>
    <RefParameter Name="HSIOscState" Comment="HSI State" Type="list" DefaultValue="ENABLED" Group="RCC Parameters">
        <PossibleValue Value="ENABLED" Comment="Enabled"/>
    </RefParameter-->

	
    
    
	       <!-- CRS Params -->   
	 <RefParameter Name="PERIPH_CRSAEG" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   

    </RefParameter>
	<RefParameter Name="PERIPH_CRSAEG" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="LL_APB1_GRP1_PERIPH_CRS" Group="CRS Parameters">
       
    </RefParameter>
    <RefParameter Visible="false" Name="EnableCRS" Comment="" Type="list" DefaultValue="ture">
        <Condition Diagnostic="" Expression="CRSActivatedSourceGPIO|CRSActivatedSourceLSE|CRSActivatedSourceUSB"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>

    <RefParameter Visible="false" Name="EnableCRS" Comment="" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="Disabled"/>
    </RefParameter>
    
	
    <RefParameter Name="Prescaler"  Visible="false" Comment="CRS Synchro Divider" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>    

    <RefParameter Name="Prescaler" Comment="CRS Synchro Divider" Type="list" DefaultValue="RCC_CRS_SYNC_DIV1" Group="CRS Parameters">
        <PossibleValue Comment="1" Semaphore="RccCrsSyncDiv1" Value="RCC_CRS_SYNC_DIV1"/>
        <PossibleValue Comment="2" Semaphore="RccCrsSyncDiv2" Value="RCC_CRS_SYNC_DIV2"/>
        <PossibleValue Comment="4" Semaphore="RccCrsSyncDiv4" Value="RCC_CRS_SYNC_DIV4"/>
        <PossibleValue Comment="8" Semaphore="RccCrsSyncDiv8" Value="RCC_CRS_SYNC_DIV8"/>
        <PossibleValue Comment="16" Semaphore="RccCrsSyncDiv16" Value="RCC_CRS_SYNC_DIV16"/>
        <PossibleValue Comment="32" Semaphore="RccCrsSyncDiv32" Value="RCC_CRS_SYNC_DIV32"/>
        <PossibleValue Comment="64" Semaphore="RccCrsSyncDiv64" Value="RCC_CRS_SYNC_DIV64"/>
        <PossibleValue Comment="128" Semaphore="RccCrsSyncDiv128" Value="RCC_CRS_SYNC_DIV128"/>
    </RefParameter>

    <RefParameter Name="Source" Visible="false" Comment="Synchro" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>    
    <RefParameter Name="Source" Visible="false" Comment="CRS Synchro Source" Type="list" DefaultValue="CRSActivatedSourceGPIO" Group="CRS Parameters">
        <Condition Expression="CRSActivatedSourceGPIO" Diagnostic=""/>   
        <PossibleValue Value="RCC_CRS_SYNC_SOURCE_GPIO"  Comment="GPIO"/>
    </RefParameter>
    <RefParameter Name="Source" Visible="false" Comment="CRS Synchro Source" Type="list" DefaultValue="RCC_CRS_SYNC_SOURCE_LSE" Group="CRS Parameters">
        <Condition Expression="CRSActivatedSourceLSE" Diagnostic=""/>          
        <PossibleValue Value="RCC_CRS_SYNC_SOURCE_LSE" Comment="LSE"/>
    </RefParameter>
    <RefParameter Name="Source"  Visible="false" Comment="CRS Synchro Source" Type="list" DefaultValue="RCC_CRS_SYNC_SOURCE_USB" Group="CRS Parameters">
        <Condition Expression="CRSActivatedSourceUSB" Diagnostic=""/>   
        <PossibleValue Value="RCC_CRS_SYNC_SOURCE_USB" Comment="USB" />
    </RefParameter>
    <RefParameter Name="Source" Visible="false"  Comment="CRS Synchro Source" Type="list" DefaultValue="RCC_CRS_SYNC_SOURCE_USB" Group="CRS Parameters">
        <PossibleValue Value="RCC_CRS_SYNC_SOURCE_USB" Comment="USB" />
    </RefParameter>
    
    <RefParameter Name="Polarity"  Visible= "false" Comment="CRS Synchro Polarity" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>    
    <RefParameter Name="Polarity" Comment="CRS Synchro Polarity" Type="list" DefaultValue="RCC_CRS_SYNC_POLARITY_RISING" Group="CRS Parameters">
        <PossibleValue Value="RCC_CRS_SYNC_POLARITY_RISING" Comment="Active on rising edge"/>
        <PossibleValue Value="RCC_CRS_SYNC_POLARITY_FALLING" Comment="Active on falling edge"/>
    </RefParameter>
   
    <RefParameter Name="ReloadValueType" Visible="false" Comment="CRS Synchro Reload Value Type" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>  
    <RefParameter Name="ReloadValueType" Comment="CRS Synchro Reload Value Type" Type="list" DefaultValue="automatic" Group="CRS Parameters">
        <PossibleValue Value="UserValue" Comment="User defined" Semaphore="UserDefinedReload"/>
        <PossibleValue Value="automatic" Comment="Automatic" Semaphore="AutomaticRelaod" />
    </RefParameter>
	    
    
	
    <RefParameter Name="ReloadValue" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>
      
    
    <RefParameter Name="ReloadValue" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="__HAL_RCC_CRS_RELOADVALUE_CALCULATE(48000000," Group="CRS Parameters">
        <Condition Expression="AutomaticRelaod" Diagnostic=""/>   
        <PossibleValue Value="__HAL_RCC_CRS_RELOADVALUE_CALCULATE(48000000," Comment="__HAL_RCC_CRS_RELOADVALUE_CALCULATE(48000000,"/>
    </RefParameter>
    <RefParameter Name="ReloadValue"  Comment="CRS Synchro Reload Value" Type="integer" DefaultValue="0" Min="0" Max="65535" Group="CRS Parameters">
        <Condition Expression="UserDefinedReload &amp; CRSActivatedSourceGPIO " Diagnostic=""/>   
    </RefParameter>
    <RefParameter Name="ReloadValue"  Comment="CRS Synchro Reload Value" Type="integer" DefaultValue="1463" Min="0" Max="65535" Group="CRS Parameters">
        <Condition Expression="UserDefinedReload &amp; CRSActivatedSourceLSE " Diagnostic=""/>   
    </RefParameter>
    <RefParameter Name="ReloadValue"  Comment="CRS Synchro Reload Value" Type="integer" DefaultValue="47999" Min="0" Max="65535" Group="CRS Parameters">
        <Condition Expression="UserDefinedReload &amp; CRSActivatedSourceUSB " Diagnostic=""/>   
    </RefParameter>
    <RefParameter Name="ReloadValue"  Comment="CRS Synchro Reload Value" Type="integer" DefaultValue="null" Min="0" Max="65535" Group="CRS Parameters"/>


	<RefParameter Name="ReloadValueARG" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   

    </RefParameter>
	
    
    <RefParameter Name="ReloadValueARG" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="+ReloadValue+Fsync+)" Group="CRS Parameters">
        <Condition Expression="AutomaticRelaod" Diagnostic=""/>   
    </RefParameter>
    <RefParameter Name="ReloadValueARG" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="+ReloadValue" Group="CRS Parameters">
        <Condition Expression="DefaultReload|UserDefinedReload" Diagnostic=""/>   
        
    </RefParameter>  
    <RefParameter Name="ReloadValueARG" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="null" Group="CRS Parameters"/>
    
    <RefParameter Name="ReloadValueARGLL" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   

    </RefParameter>
    
    <RefParameter Name="ReloadValueARGLL" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="+ReloadValueLL+GPIOFsync+)" Group="CRS Parameters">
        <Condition Expression="AutomaticRelaod &amp; (CRSActivatedSourceGPIO)" Diagnostic=""/>   
    </RefParameter>
    <RefParameter Name="ReloadValueARGLL" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="+ReloadValueLL+LSEFsync+)" Group="CRS Parameters">
        <Condition Expression="AutomaticRelaod &amp; (CRSActivatedSourceLSE)" Diagnostic=""/>   
    </RefParameter>
    <RefParameter Name="ReloadValueARGLL" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="+ReloadValueLL+USBFsync+)" Group="CRS Parameters">
        <Condition Expression="AutomaticRelaod &amp; (CRSActivatedSourceUSB)" Diagnostic=""/>   
    </RefParameter>
	    <RefParameter Name="ReloadValueARGLL" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="+ReloadValue" Group="CRS Parameters">
        <Condition Expression="DefaultReload|UserDefinedReload" Diagnostic=""/>   
        
    </RefParameter>  
    <RefParameter Name="ReloadValueARGLL" Visible="false" Comment="CRS Synchro Reload Value" Type="list" DefaultValue="null" Group="CRS Parameters"/>

    <RefParameter Name="Fsync" Visible="false" Comment="CRS Synchro frequency (Hz)" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>     
    <RefParameter Name="Fsync" Comment="CRS Synchro frequency (Hz)" Type="integer" DefaultValue="1" Min="1" Max="48000000"  Group="CRS Parameters">
        <Condition Expression="CRSActivatedSourceGPIO" Diagnostic=""/>   
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE" Group="CRS Parameters" Max="=LSE_VALUE" Min="=LSE_VALUE" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv1"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/2" Group="CRS Parameters" Max="=LSE_VALUE/2" Min="=LSE_VALUE/2" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv2"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/4" Group="CRS Parameters" Max="=LSE_VALUE/4" Min="=LSE_VALUE/4" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv4"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/8" Group="CRS Parameters" Max="=LSE_VALUE/8" Min="=LSE_VALUE/8" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv8"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/16" Group="CRS Parameters" Max="=LSE_VALUE/16" Min="=LSE_VALUE/16" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv16"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/32" Group="CRS Parameters" Max="=LSE_VALUE/32" Min="=LSE_VALUE/32" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv32"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/64" Group="CRS Parameters" Max="=LSE_VALUE/64" Min="=LSE_VALUE/64" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv64"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=LSE_VALUE/128" Group="CRS Parameters" Max="=LSE_VALUE/128" Min="=LSE_VALUE/128" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the LSE value In crystal Mode divided by the CRS Synchro Divider" Expression="CRSActivatedSourceLSE &amp; RccCrsSyncDiv128"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="1000" Group="CRS Parameters" Max="1000" Min="1000" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv1"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/2" Group="CRS Parameters" Max="=1000/2" Min="=1000/2" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv2"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/4" Group="CRS Parameters" Max="=1000/4" Min="=1000/4" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv4"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/8" Group="CRS Parameters" Max="=1000/8" Min="=1000/8" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv8"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/16" Group="CRS Parameters" Max="=1000/16" Min="=1000/16" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv16"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/32" Group="CRS Parameters" Max="=1000/32" Min="=1000/32" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv32"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/64" Group="CRS Parameters" Max="=1000/64" Min="=1000/64" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv64"/>
    </RefParameter>
    <RefParameter Comment="CRS Synchro frequency (Hz)" DefaultValue="=1000/128" Group="CRS Parameters" Max="=1000/128" Min="=1000/128" Name="Fsync" Type="uniqueElementList">
        <Condition Diagnostic="This value corresponds to the Default value (1000) divided by the CRS Synchro Divider" Expression="CRSActivatedSourceUSB &amp; RccCrsSyncDiv128"/>
    </RefParameter>
    <RefParameter Name="Fsync"  Comment="CRS Synchro frequency (Hz)" Type="integer" DefaultValue="0" Group="CRS Parameters"/>
    <RefParameter Name="ErrorLimitValue" Visible="false" Comment="Error limit Value" Type="list" DefaultValue="null" Group="CRS Parameters">
        <Condition Expression="!CRSActivatedSourceGPIO &amp; !CRSActivatedSourceLSE &amp; !CRSActivatedSourceUSB" Diagnostic=""/>   
    </RefParameter>  
    <RefParameter Name="ErrorLimitValue"  Comment="Error limit Value" Type="integer" DefaultValue="34" Min="0" Max="255" Group="CRS Parameters"/>


    <RefParameter  Name="LSE_Drive_Capability" Comment="LSE Drive Capability" Type="list" DefaultValue="false" Group="RCC Parameters">
        <Condition Diagnostic="" Expression="LSEOscillator &amp; (LSEUsed=1)"/>
        <PossibleValue Value="RCC_LSEDRIVE_LOW"        Comment="LSE oscillator low drive capability"  />
        <PossibleValue Value="RCC_LSEDRIVE_MEDIUMLOW"  Comment="LSE oscillator medium low drive capability"/>
        <PossibleValue Value="RCC_LSEDRIVE_MEDIUMHIGH" Comment="LSE oscillator medium high drive capability"/>
        <PossibleValue Value="RCC_LSEDRIVE_HIGH"       Comment="LSE oscillator high drive capability"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LSE_Drive_Capability" Comment="LSE Drive Capability" Type="list" DefaultValue="null" Group="RCC Parameters">
    
    </RefParameter>
    
    <RefParameter Visible="false" Name="LSIDivARG"  Comment="LSIDivARG" Type="list" DefaultValue="+LSIDIV">
        <Condition Expression="LSIUsed=1" Diagnostic=""/>   
    </RefParameter>  
    <RefParameter Visible="false" Name="LSIDivARG"   Comment="LSIDivARG" Type="integer" DefaultValue="null"/>
	
    <RefMode Name="ClockTree">
	<ConfigForMode>RCC_LSEDRIVE_CONFIG</ConfigForMode>
        <ConfigForMode>RCC_ConfigVoltageScaling</ConfigForMode> 
        <ConfigForMode>RCC_OSCConfig</ConfigForMode>        
        <ConfigForMode>RCC_ClockConfig</ConfigForMode>
        <ConfigForMode>RCC_HSE_DIV2_ENABLE</ConfigForMode>        
        <ConfigForMode>RCC_MCO1Config</ConfigForMode>        
        <ConfigForMode>RCC_LSCOConfig</ConfigForMode>       
        <ConfigForMode>RCC_CSS_Enable</ConfigForMode>
        <ConfigForMode>RCC_CSS_EnableLSE</ConfigForMode>    


        <!--ConfigForMode>RCC_interrupt_Time_SYSTICK_Config</ConfigForMode-->
        <!--ConfigForMode>RCC_SYSTICK_CONFIG</ConfigForMode-->
        <ConfigForMode>EnableMSIPLLMode</ConfigForMode>
        <ConfigForMode>RCC_CRSConfig</ConfigForMode>    

        <Parameter Name="OscillatorType"/>
        <Parameter Name="APB1TimCLKDivider"/>
        <Parameter Name="APB2TimCLKDivider"/>
        <Parameter Name="PLLN"/>
        <Parameter Name="Cortex_Div"/>
        <Parameter Name="RCC_RTC_Clock_Source_FROM_HSE"/>
        <Parameter Name="PLLM"/>
        <Parameter Name="PLLR"/>
        <Parameter Name="PLLP"/>
        <Parameter Name="PLLQ"/>
 
        <Parameter Name="AHBCLKDivider"/>
        <Parameter Name="RCC_MCODiv"/>
        <Parameter Name="APB1CLKDivider"/>
        <Parameter Name="APB2CLKDivider"/>
        <Parameter Name="RTCClockSelection"/>
        <Parameter Name="SYSCLKSource"/>
        <Parameter Name="RCC_MCO1Source"/>
    
        <Parameter Name="USART1CLockSelection"/>
  

        <Parameter Name="LPUART1CLockSelection"/>
        <Parameter Name="I2C1CLockSelection"/>
        <Parameter Name="I2C2CLockSelection"/>

        <Parameter Name="I2C3CLockSelection"/>
        <Parameter Name="LPTIM1CLockSelection"/>
        <Parameter Name="LPTIM2CLockSelection"/>
        <Parameter Name="ADCCLockSelection"/>
        <Parameter Name="MSIClockRange"/>
        <Parameter Name="EnbaleCSS"/>
        <Parameter Name="EnableCSSLSE"/>
        <Parameter Name="HSE_VALUE"/>
        <Parameter Name="HSI_VALUE"/>
        <Parameter Name="LSE_VALUE"/>
        <Parameter Name="LSI_VALUE"/>
        <!--Parameter Name="MSI_VALUE"/-->
        <Parameter Name="SYSCLKFreq_VALUE"/>
        <Parameter Name="MCO1PinFreq_Value"/>
        <Parameter Name="HCLKFreq_Value"/>
        <Parameter Name="ADCFreq_Value"/>
        <Parameter Name="I2C3Freq_Value"/>
        <Parameter Name="I2C2Freq_Value"/>  
        <Parameter Name="I2C1Freq_Value"/>
        <Parameter Name="I2S2Freq_Value"/>
        <Parameter Name="USART1Freq_Value"/>
        <Parameter Name="USART2Freq_Value"/>
        <Parameter Name="LPUART1Freq_Value"/>
        <Parameter Name="LPTIM1Freq_Value"/>
        <Parameter Name="LPTIM2Freq_Value"/>
        <Parameter Name="RTCFreq_Value"/>
        <Parameter Name="APB2TimFreq_Value"/>
        <Parameter Name="APB1TimFreq_Value"/>
        <Parameter Name="FCLKCortexFreq_Value"/>
        <Parameter Name="PWRFreq_Value"/>
        <Parameter Name="AHBFreq_Value"/>
        <Parameter Name="WatchDogFreq_Value"/>
        <Parameter Name="CortexFreq_Value"/>
        <Parameter Name="APB2Freq_Value"/>
        <Parameter Name="APB1Freq_Value"/>
        <Parameter Name="ClockTypeARG"/>
        <Parameter Name="SYSCLKSourceARG"/>
        <Parameter Name="AHBCLKDividerARG"/>
        <Parameter Name="APB1CLKDividerARG"/>
        <Parameter Name="APB2CLKDividerARG"/>
        <Parameter Name="AHBCLKSCLKDividerARG"/>
        <Parameter Name="ClockType"/>
        <Parameter Name="ClockTypeSysClk"/>
        <Parameter Name="ClockTypeHCLK"/>
        <Parameter Name="ClockTypePCLK1"/>
        <Parameter Name="ClockTypePCLK2"/>
	
    </RefMode>
    <RefMode Name="PClockTree">
        <ConfigForMode>RCC_PClockConfig</ConfigForMode>
    </RefMode>
	
    <RefMode Name="AdvancedSettings">
        <Parameter Name="VDD_VALUE"/>
        <Parameter Name="INSTRUCTION_CACHE_ENABLE"/>
        <Parameter Name="PREFETCH_ENABLE"/>
        <Parameter Name="DATA_CACHE_ENABLE"/>
        <Parameter Name="FLatency"/>
        <Parameter Name="HSICalibrationValue"/>        
        <Parameter Name="MSICalibrationValue"/>
        <Parameter Name="PWR_Regulator_Voltage_Scale"/>
        <Parameter Name="MSIAutoCalibration"/>
        <!--Parameter Name="MSIOscState"/-->
        <!--Parameter Name="HSIOscState"/-->
        <Parameter Name="Prescaler"/>
        <Parameter Name="Source"/>
        <Parameter Name="Polarity"/>
        <Parameter Name="ReloadValueType"/>
        <Parameter Name="ReloadValueARG"/>
        <Parameter Name="ReloadValue"/>
        <Parameter Name="Fsync"/>
        <Parameter Name="ErrorLimitValue"/>
        <Parameter Name="HSE_Timout"/>
        <Parameter Name="LSE_Timout"/>
        <Parameter Name="LSE_Drive_Capability"/>     
    </RefMode>


   
    <ModeLogicOperator Name="OR">
        <!-- Modes for Oscillators & Clocks -->
        <Mode Name="OSC" UserName="High Speed Clock (HSE)">
            <ModeLogicOperator Name="XOR">                
                <Mode Name="HSE-External-Oscillator" UserName="Crystal/Ceramic Resonator">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC_IN"/>
                        <Signal Name="OSC_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>HSEOscillator</Semaphore>
                </Mode>
                <Mode Name="HSE-TCXO" UserName="TCXO">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC_IN"/>
                        <!--Signal Name="OSC_OUT"/-->
                        <Signal Name="$SingleInstanceVDDTCXO"/>
                    </SignalLogicalOp>
                    <Semaphore>HSEByPassPwr</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        
        <Mode Name="OSC32" UserName="Low Speed Clock (LSE) ">
            <ModeLogicOperator Name="XOR">
                <Mode Name="LSE-External-Clock-Source" UserName="BYPASS Clock Source">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC32_IN"/>
                        <!--Signal Name="OSC32_OUT"/-->
                    </SignalLogicalOp>
                    <Semaphore>LSEByPass</Semaphore>
                </Mode>
                <Mode Name="LSE-External-Oscillator" UserName="Crystal/Ceramic Resonator">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC32_IN"/>
                        <Signal Name="OSC32_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>LSEOscillator</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="Clock-out" UserName="Master Clock Output">
            <ModeLogicOperator Name="OR">
                <Mode Name="Clock-out">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="MCO"/>
                    </SignalLogicalOp>
                    <Semaphore>MCOConfig</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode> 
		  
        <Mode Name="Clock-out-LSCO" UserName="LSCO Clock Output">
            <ModeLogicOperator Name="OR">
                <Mode Name="Clock-out-LSCO">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="LSCO"/>
                    </SignalLogicalOp>
                    <Semaphore>LSCOConfig</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="Audio_ClockIn" UserName="Audio Clock Input (I2S_CKIN)">
            <ModeLogicOperator Name="OR">
                <Mode Name="Audio_ClockIn">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="$SingleInstanceI2S_CKIN"/>
                    </SignalLogicalOp>
                    <Semaphore>AudioClockConfig</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
         
        <!--Mode Name="USB_CRS" UserName="CRS SYNC" >
            <ModeLogicOperator Name="XOR">
                <Mode Name="CRS SYNC Source GPIO">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="$SingleInstanceCRS_SYNC"/>
                    </SignalLogicalOp>
                    <Semaphore>CRSActivatedSourceGPIO</Semaphore>
                </Mode>
                <Mode Name="CRS SYNC Source LSE">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="LSE"/>
                    </SignalLogicalOp>
                    <Semaphore>CRSActivatedSourceLSE</Semaphore>
                    <Condition Expression="LSEByPass|LSEOscillator" Diagnostic="LSE Should be Enabled"/>
                    
                </Mode>
                <Mode Name="CRS SYNC Source USB" RemoveCondition="!USB_Exist">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="USB"/>
                    </SignalLogicalOp>
                    <Semaphore>CRSActivatedSourceUSB</Semaphore>
                    <Condition Expression="USBUsed_ForRCC" Diagnostic="USB Should be Enabled"/>
                </Mode>
            </ModeLogicOperator>
        </Mode-->

    </ModeLogicOperator>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="MCO"/>
    <RefSignal IOMode="System" Name="CK_IN"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="LSCO"/>
    <RefSignal IOMode="System" Name="OSC32_IN"/>
    <RefSignal IOMode="System" Name="OSC32_OUT"/>
    <RefSignal IOMode="System" Name="OSC_IN"/>
    <RefSignal IOMode="System" Name="OSC_OUT"/>
    <RefSignal IOMode="System" Name="$SingleInstanceVDDTCXO"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="$SingleInstanceCRS_SYNC"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="$SingleInstanceI2S_CKIN"/>  
    <RefSignal Virtual="true" Name="USB" />
    <RefSignal Virtual="true" Name="LSE" />
</IP>	
