<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<IP xmlns:ns0="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://mcd.rou.st.com/modules.php?name=mcu" DBVersion="V4.0" Name="RCC" Version="STM32F410-rcc_v1_0" IPType="peripheral" ns0:schemaLocation="http://mcd.rou.st.com/modules.php?name=mcu ../../../../../../../doc/V4/Development/Specifications/db/IP_Modes.xsd">
    <About>RCC: Reset and Clock Control</About>
	
    <RefParameter Visible="false" Comment="Oscillator Type" DefaultValue="+OscillatorTypeHSI+|OscillatorTypeLSI+|OscillatorTypeHSE+|OscillatorTypeLSE" 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"/>
	 
    <!--APB1 MUL for TIM-->
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="1" Name="APB1TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="" Expression="((APB1CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED))"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="1" Name="APB1TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="" Expression="(APB1CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(APB1CLKDivider=RCC_HCLK_DIV2)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="4" Name="APB1TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(APB1CLKDivider=RCC_HCLK_DIV4)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="4" Name="APB1TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB1 Timer Clock Divider" DefaultValue="2" Name="APB1TimCLKDivider" Type="integer" Max="2" Min="2"/>
	
    <!--APB1 MUL for TIM-->
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="1" Name="APB2TimCLKDivider" Type="integer" Max="1" Min="1">
<Condition Diagnostic="" Expression="((APB2CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED))"/>  
  </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_DESACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="1" Name="APB2TimCLKDivider" Type="integer" Max="1" Min="1">
        <Condition Diagnostic="" Expression="(APB2CLKDivider=RCC_HCLK_DIV1)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2">
        <Condition Diagnostic="" Expression="(APB2CLKDivider=RCC_HCLK_DIV2)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="4" Name="APB2TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(APB2CLKDivider=RCC_HCLK_DIV4)&amp;(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="4" Name="APB2TimCLKDivider" Type="integer" Max="4" Min="4">
        <Condition Diagnostic="" Expression="(RCC_TIM_PRescaler_Selection=RCC_TIMPRES_ACTIVATED)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="APB2 Timer Clock Divider" DefaultValue="2" Name="APB2TimCLKDivider" Type="integer" Max="2" Min="2"/>
	
    <!--LPTIM1CLockSelection-->
    <RefParameter Visible="false"  Comment="LPTIM1 Clock Selection" DefaultValue="RCC_LPTIM1CLKSOURCE_PCLK" Name="LPTIM1CLockSelection" Type="list" IP="LPTIM1">
        <PossibleValue Comment="Lptim1 Clksource Pclk" Value="RCC_LPTIM1CLKSOURCE_PCLK"/>
        <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>
	<!--FMI2C1CLockSelection-->
    <RefParameter Visible="false" Comment="FMPI2C1 Clock Selection" DefaultValue="RCC_FMPI2C1CLKSOURCE_APB" Name="FMPI2C1Selection" Type="list" IP="FMPI2C1">
        <PossibleValue Comment="FMPI2C1 sys clock" Value="RCC_FMPI2C1CLKSOURCE_SYSCLK" />
        <PossibleValue Comment="FMPI2C1 Hsi"       Value="RCC_FMPI2C1CLKSOURCE_HSI"/>
        <PossibleValue Comment="FMPI2C1 PCLK1"     Value="RCC_FMPI2C1CLKSOURCE_APB"/>
    </RefParameter>
    
    <RefParameter Visible="false" Comment="Clock Source for I2S" DefaultValue="I2S_CLOCK_PLL" Name="I2SClockSource" Type="list" IP="I2S1,I2S2,I2S3,I2S4,I2S5">
        <PossibleValue Comment="Clk Source Pll" Value="RCC_I2SAPBCLKSOURCE_PLLR" Semaphore="I2SSourceIsPll"/>
        <PossibleValue Comment="Clk Source Pll" Value="RCC_I2SAPBCLKSOURCE_PLLSRC" Semaphore="I2SSourceIsPllSRC"/>
        <PossibleValue Comment="Clk Source  Ext" Value="RCC_I2SAPBCLKSOURCE_EXT"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="SysClock Source" DefaultValue="RCC_SYSCLKSOURCE_HSI" Name="SYSCLKSource" Type="list">
        <PossibleValue Comment="HSI" Value="RCC_SYSCLKSOURCE_HSI"/>
        <PossibleValue Comment="HSE" Value="RCC_SYSCLKSOURCE_HSE"/>
        <PossibleValue Comment="Pllclk" Value="RCC_SYSCLKSOURCE_PLLCLK"/>
    </RefParameter>
	
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_PLLSOURCE_HSI" Name="PLLSourceVirtual" Type="list">
        <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 Hsi" Value="RCC_PLLSOURCE_HSI" />
        <PossibleValue Comment="Pllsource Hse" Value="RCC_PLLSOURCE_HSE"/>
    </RefParameter>

    <RefParameter Visible="false" Comment="MCO1 Clock Source" DefaultValue="RCC_MCO1SOURCE_HSI" Name="RCC_MCO1Source" Type="list">
        <PossibleValue Comment="MCO1SRC HSI" Value="RCC_MCO1SOURCE_HSI"/>
        <PossibleValue Comment="MCO1SRC LSE" Value="RCC_MCO1SOURCE_LSE"/>
        <PossibleValue Comment="MCO1SRC HSE" Value="RCC_MCO1SOURCE_HSE"/>
        <PossibleValue Comment="MCO1SRC PLLCLK" Value="RCC_MCO1SOURCE_PLLCLK"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="MCO2 Clock Source" DefaultValue="RCC_MCO2SOURCE_SYSCLK" Name="RCC_MCO2Source" Type="list">
        <PossibleValue Comment="MCO1SRC SYSCLK" Value="RCC_MCO2SOURCE_SYSCLK"/>
        <PossibleValue Comment="MCO1SRC PLLI2SCLK" Value="RCC_MCO2SOURCE_I2SCLK" Semaphore="MCOSourceIsPLLI2SP"/>
        <PossibleValue Comment="MCO1SRC HSE" Value="RCC_MCO2SOURCE_HSE"/>
        <PossibleValue Comment="MCO1SRC PLLCLK" Value="RCC_MCO2SOURCE_PLLCLK"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLM" DefaultValue="16" Max="63" Min="2" Name="PLLM" Type="integer"/>
    <RefParameter Visible="false" Comment="PLLN" DefaultValue="192" Max="432" Min="50" Name="PLLN" Type="integer"/>
	
    <RefParameter Visible="false" Comment="PLLP" DefaultValue="RCC_PLLP_DIV2" Name="PLLP" Type="list">
        <PossibleValue Comment="2" Value="RCC_PLLP_DIV2"/>
        <PossibleValue Comment="4" Value="RCC_PLLP_DIV4"/>
        <PossibleValue Comment="6" Value="RCC_PLLP_DIV6"/>
        <PossibleValue Comment="8" Value="RCC_PLLP_DIV8"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLQ" DefaultValue="4" Max="15" Min="2" Name="PLLQ" Type="integer"/>
    <RefParameter Visible="false" Comment="PLLR" DefaultValue="2" Max="7" Min="2" Name="PLLR" Type="integer"/>
	
    <RefParameter Visible="false" Comment="AHB Clock Divider" DefaultValue="RCC_SYSCLK_DIV1" Name="AHBCLKDivider" Type="list">
        <PossibleValue Comment="1" Value="RCC_SYSCLK_DIV1"/>
        <PossibleValue Comment="2" Value="RCC_SYSCLK_DIV2"/>
        <PossibleValue Comment="4" Value="RCC_SYSCLK_DIV4"/>
        <PossibleValue Comment="8" Value="RCC_SYSCLK_DIV8"/>
        <PossibleValue Comment="16" Value="RCC_SYSCLK_DIV16"/>
        <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>
    <RefParameter Visible="false" Comment="APB1 Clock Divider" DefaultValue="RCC_HCLK_DIV1" Name="APB1CLKDivider" Type="list">
        <PossibleValue Comment="1" Value="RCC_HCLK_DIV1" Semaphore="APB2DIV1"/>
        <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>

    <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>

    <RefParameter Visible="false" Comment="MCO1 Prescaler" DefaultValue="RCC_MCODIV_1" Name="RCC_MCODiv1" Type="list">
        <PossibleValue Comment="1" Value="RCC_MCODIV_1"/>
        <PossibleValue Comment="2" Value="RCC_MCODIV_2"/>
        <PossibleValue Comment="3" Value="RCC_MCODIV_3"/>
        <PossibleValue Comment="4" Value="RCC_MCODIV_4"/>
        <PossibleValue Comment="5" Value="RCC_MCODIV_5"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="MCO2 Prescaler" DefaultValue="RCC_MCODIV_1" Name="RCC_MCODiv2" Type="list">
        <PossibleValue Comment="1" Value="RCC_MCODIV_1"/>
        <PossibleValue Comment="2" Value="RCC_MCODIV_2"/>
        <PossibleValue Comment="3" Value="RCC_MCODIV_3"/>
        <PossibleValue Comment="4" Value="RCC_MCODIV_4"/>
        <PossibleValue Comment="5" Value="RCC_MCODIV_5"/>
    </RefParameter>
	   <RefParameter Name="RCC_TIM_PRescaler_Selection" Comment="TIM Prescaler Selection" Type="list" DefaultValue="RCC_TIMPRES_DESACTIVATED" Group="RCC Parameters">
        <PossibleValue Value="RCC_TIMPRES_ACTIVATED" Comment="Enabled" Semaphore="TimPrescalerEnabled"/>
        <PossibleValue Value="RCC_TIMPRES_DESACTIVATED" Comment="Disabled"/>
    </RefParameter>
	
	
    <!-- RTC  MUX-->
    <!-- RTC mustbe HSE DIv when Timer remap HSE is selected-->
  
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_RTCCLKSOURCE_HSE_DIV2" Name="RCC_RTC_Clock_SourceVirtual" Type="list">
        <Condition Diagnostic="RTC Mux should have HSE as input when TIM11 remap is used" Expression="((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))"/>
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="RCC_RTCCLKSOURCE_LSI" Name="RCC_RTC_Clock_SourceVirtual" Type="list">
        <PossibleValue Comment="LSE" Value="RCC_RTCCLKSOURCE_LSE"/>
        <PossibleValue Comment="LSI" Value="RCC_RTCCLKSOURCE_LSI"/>
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Source" DefaultValue="+RCC_RTC_Clock_SourceVirtual" Name="RCC_RTC_Clock_SourceVirtualString" Type="string"/>
 
	
    <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="+RCC_RTC_Clock_SourceVirtualString" Name="RCC_RTC_Clock_Source" Type="list" IP="RTC">
        <PossibleValue Comment="LSE" Value="RCC_RTCCLKSOURCE_LSE"/>
        <PossibleValue Comment="LSI" Value="RCC_RTCCLKSOURCE_LSI"/>
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
        <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="RCC_RTCCLKSOURCE_LSE" Name="RCC_RTC_Clock_SourceLL" Type="list" IP="RTC">
        <Condition Expression="RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE" Diagnostic=""/>
        <PossibleValue Comment="LSE" Value="RCC_RTCCLKSOURCE_LSE"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="RCC_RTCCLKSOURCE_LSI" Name="RCC_RTC_Clock_SourceLL" Type="list" IP="RTC">
        <Condition Expression="RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI" Diagnostic=""/>
        <PossibleValue Comment="LSI" Value="RCC_RTCCLKSOURCE_LSI"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC Clock Source"  DefaultValue="RCC_RTCCLKSOURCE_HSE" Name="RCC_RTC_Clock_SourceLL" Type="list" IP="RTC">
        <PossibleValue Comment="HSE" Value="RCC_RTCCLKSOURCE_HSE"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC Clock Source_HSEDiv" DefaultValue="RCC_RTCCLKSOURCE_HSE_DIV2" Name="RCC_RTC_Clock_Source_FROM_HSE" Type="list" IP="RTC">
        <PossibleValue Comment="2" Value="RCC_RTCCLKSOURCE_HSE_DIV2"/>
        <PossibleValue Comment="3" Value="RCC_RTCCLKSOURCE_HSE_DIV3"/>
        <PossibleValue Comment="4" Value="RCC_RTCCLKSOURCE_HSE_DIV4"/>
        <PossibleValue Comment="5" Value="RCC_RTCCLKSOURCE_HSE_DIV5"/>
        <PossibleValue Comment="6" Value="RCC_RTCCLKSOURCE_HSE_DIV6"/>
        <PossibleValue Comment="7" Value="RCC_RTCCLKSOURCE_HSE_DIV7"/>
        <PossibleValue Comment="8" Value="RCC_RTCCLKSOURCE_HSE_DIV8"/>
        <PossibleValue Comment="9" Value="RCC_RTCCLKSOURCE_HSE_DIV9"/>
        <PossibleValue Comment="10" Value="RCC_RTCCLKSOURCE_HSE_DIV10"/>
        <PossibleValue Comment="11" Value="RCC_RTCCLKSOURCE_HSE_DIV11"/>
        <PossibleValue Comment="12" Value="RCC_RTCCLKSOURCE_HSE_DIV12"/>
        <PossibleValue Comment="13" Value="RCC_RTCCLKSOURCE_HSE_DIV13"/>
        <PossibleValue Comment="14" Value="RCC_RTCCLKSOURCE_HSE_DIV14"/>
        <PossibleValue Comment="15" Value="RCC_RTCCLKSOURCE_HSE_DIV15"/>
        <PossibleValue Comment="16" Value="RCC_RTCCLKSOURCE_HSE_DIV16"/>
        <PossibleValue Comment="17" Value="RCC_RTCCLKSOURCE_HSE_DIV17"/>
        <PossibleValue Comment="18" Value="RCC_RTCCLKSOURCE_HSE_DIV18"/>
        <PossibleValue Comment="19" Value="RCC_RTCCLKSOURCE_HSE_DIV19"/>
        <PossibleValue Comment="20" Value="RCC_RTCCLKSOURCE_HSE_DIV20"/>
        <PossibleValue Comment="21" Value="RCC_RTCCLKSOURCE_HSE_DIV21"/>
        <PossibleValue Comment="22" Value="RCC_RTCCLKSOURCE_HSE_DIV22"/>
        <PossibleValue Comment="23" Value="RCC_RTCCLKSOURCE_HSE_DIV23"/>
        <PossibleValue Comment="24" Value="RCC_RTCCLKSOURCE_HSE_DIV24"/>
        <PossibleValue Comment="25" Value="RCC_RTCCLKSOURCE_HSE_DIV25"/>
        <PossibleValue Comment="26" Value="RCC_RTCCLKSOURCE_HSE_DIV26"/>
        <PossibleValue Comment="27" Value="RCC_RTCCLKSOURCE_HSE_DIV27"/>
        <PossibleValue Comment="28" Value="RCC_RTCCLKSOURCE_HSE_DIV28"/>
        <PossibleValue Comment="29" Value="RCC_RTCCLKSOURCE_HSE_DIV29"/>
        <PossibleValue Comment="30" Value="RCC_RTCCLKSOURCE_HSE_DIV30"/>
        <PossibleValue Comment="31" Value="RCC_RTCCLKSOURCE_HSE_DIV31"/>
    </RefParameter>
    <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"/>
	
	
	 <!--   Frequency values-->
    <RefParameter Visible="false" Comment="HSE OSC" Name="HSE_VALUE" DefaultValue="25000000" Max="50000000" Min="1000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="HSEByPass" Expression="HSEByPass"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="HSE OSC" Name="HSE_VALUE" DefaultValue="25000000" Max="26000000" Min="4000000" Type="double" Display="value/1000000" Unit="MHz"/>
    
	<RefParameter Visible="false" Comment="HSI Source" Name="HSI_VALUE" DefaultValue="16000000" Max="16000000" Min="16000000" Type="double" Display="value/1000000" Unit="MHz"/>
    
	<RefParameter Visible="false" Comment="LSE OSC" Name="LSE_VALUE" DefaultValue="32768" Max="32768" Min="32768" Type="double" Display="value/1000" Unit="KHz">
        <Condition Diagnostic="LSE In crystal Mode" Expression="LSEOscillator"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="LSE OSC" Name="LSE_VALUE" DefaultValue="32768" Max="1000000" Min="0" 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="Audio Clock Input" Name="EXTERNAL_CLOCK_VALUE" DefaultValue="12288000" Type="double" Display="value/1000000" Unit="MHz"/>

    <RefParameter Visible="false" Comment="System Clock" Name="SYSCLKFreq_VALUE" DefaultValue="16000000" Max="100000000" Type="double" Display="value/1000000" Unit="MHz"/>



    <RefParameter Visible="false" Comment="AHB Clock" Name="HCLKFreq_Value" DefaultValue="16000000" Max="100000000" Type="double" IP="DMA-2D,CAMERAITF" Display="value/1000000" Unit="MHz"/>
    <!--MCO freq va  --> 
    <RefParameter Visible="false" Comment="MCO Output" Name="MCO1PinFreq_Value" DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz"/>
		
		
    <RefParameter Visible="false" Comment="MCO Output" Name="MCO2PinFreq_Value" DefaultValue="16000000"  Type="double" Display="value/1000000" Unit="MHz"/>
        
<!--ADC frequency  --> 
    <RefParameter Visible="false" Comment="ADC synchr"  Name="synchADCFreq_Value"  DefaultValue="=APB2Freq_Value" Type="double" Display="value/1000000" Unit="MHz" IP="ADC1,ADC2,ADC3"/>
	
	<RefParameter Visible="false" Comment="IWDG" Name="WatchDogFreq_Value" DefaultValue="32000" Type="double" IP="IWATCHDOG" Display="value/1000" Unit="KHz"/>
    <RefParameter Visible="false" Comment="RTC Clock Source"     Name="RTCFreq_Value" Type="double" DefaultValue="32000" IP="RTC" Max="1000000" Min="0" Display="value/1000" Unit="KHz">
        <Condition Diagnostic="RTC Has HSE as source" Expression="(!(RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE)&amp;!(RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI))"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="RTC" Name="RTCFreq_Value" Type="double" IP="RTC" DefaultValue="32000" Display="value/1000" Unit="KHz"/>
    <RefParameter Visible="false" Comment="RTC Clock Source_HSEDiv" Name="RTCHSEDivFreq_Value" DefaultValue="12500000" Max="1000000" Type="double" Display="value/1000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="Ethernet PTP Clock" Name="EthernetFreq_Value" DefaultValue="16000000" Type="double" IP="Ehternet" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="HCLK" Name="AHBFreq_Value" DefaultValue="16000000" Min="0" Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="Cortex System Timer" Name="CortexFreq_Value" DefaultValue="2000000" Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="FCLK Cortex" Name="FCLKCortexFreq_Value" DefaultValue="16000000" Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="APB1 Timers" Name="APB1TimFreq_Value" DefaultValue="16000000" Type="double" IP="TIMER6,TIMER7,,TIMER2,TIMER3,TIMER4,TIMER5,TIMER12,TIMER13,TIMER14" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="APB2 Timers" Name="APB2TimFreq_Value" DefaultValue="16000000" Type="double" IP="TIMER1,TIMER8,TIMER9,TIMER10,TIMER11" Display="value/1000000" Unit="MHz"/>
  
    <RefParameter Visible="false" Comment="48MHz Clocks" Name="48MHZClocksFreq_Value" DefaultValue="48000000" Max="48000000" Type="double" IP="RNG" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="I2S Clock" Name="I2SClocksFreq_Value" DefaultValue="96000000" Max="192000000" Type="double" IP="I2S1,I2S2,I2S3,I2S4,I2S5" Display="value/1000000" Unit="MHz"/>


    <RefParameter Visible="false" Comment="APB1 Peripheral Clock" Name="APB1Freq_Value" DefaultValue="16000000" Max="50000000" Min="=RTCFreq_Value*4" Type="double" IP="DAC1,DAC2,WinWATCHDOG,CAN1,CAN2,I2C1,I2C2,I2C3,SPI3,SPI2,UART4,UART7,UART8,USART2,USART3,UART5" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="overDrive activated" Expression="RTCUsed_ForRCC"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="FMPI2C1 Clock Source" Name="FMPI2C1Freq_Value"   DefaultValue="16000000" IP="FMPI2C1"   Type="double" Display="value/1000000" Unit="MHz"/>
    <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="APB1 Peripheral Clock" Name="APB1Freq_Value" DefaultValue="16000000" Max="50000000" Type="double" IP="DAC1,DAC2,WinWATCHDOG,CAN1,CAN2,I2C1,I2C2,I2C3,SPI3,SPI2,UART4,UART7,UART8,USART2,USART3,UART5" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="APB2 Peripheral Clock" Name="APB2Freq_Value" DefaultValue="16000000" Max="100000000" Type="double" IP="SPI1,SPI4,SPI5,SPI6,USART1,USART6,EXTI,SDIO" Display="value/1000000" Unit="MHz"/>
   	        
	<RefParameter Visible="false" Comment="VCOInput" Name="VCOInputFreq_Value" DefaultValue="1000000" Min="950000" Max="2100000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="PLLUsed=1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="VCOInput" Name="VCOInputFreq_Value" DefaultValue="1000000"  Type="double" Display="value/1000000" Unit="MHz"/>

    <RefParameter Visible="false" Comment="PLL Clock" Name="PLLCLKFreq_Value" DefaultValue="96000000" Max="100000000"  Min="24000000"  Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="PLLUsed=1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLL Clock" Name="PLLCLKFreq_Value" DefaultValue="96000000"  Type="double" Display="value/1000000" Unit="MHz"/>

    <RefParameter Visible="false" Comment="VCOOutput" Name="VCOOutputFreq_Value" DefaultValue="192000000" Min="100000000" Max="432000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="PLLUsed=1"/>
    </RefParameter>

<!-- PLLUsedForSys used -->
        <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsedForSys" Min="1" Max="1" Type="integer">
            <Condition Expression="(SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK)|((RCC_MCO1Source=RCC_MCO1SOURCE_PLLCLK)&amp;(MCO1Config))|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLCLK)&amp;(MCO2Config))" Diagnostic=" "/>
        </RefParameter>
	
        <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedForSys" Min="0" Max="0" Type="integer"/>
        
        <!-- PLLUsedForCK48 used -->
        <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsedForCK48" Min="1" Max="1" Type="integer">
            <Condition Expression="(RNGUsed_ForRCC)" Diagnostic=" "/>
        </RefParameter>
	
        <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedForCK48" Min="0" Max="0" Type="integer"/>

        <!-- PLLSRCUsedForI2S used -->
        <RefParameter Visible="false" Comment="PLLSRC Is Used for I2S" DefaultValue="1" Name="PLLSRCUsedForI2S" Min="1" Max="1" Type="integer">
            <Condition Expression="(I2SSourceIsPllSRC &amp; I2SUsed_ForRCC)" Diagnostic=" "/>
        </RefParameter>
	
        <RefParameter Visible="false" Comment="PLLSRC Is Used for I2S" DefaultValue="0" Name="PLLSRCUsedForI2S" Min="0" Max="0" Type="integer"/>
        <!-- PLLUsedForI2S used -->
        <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsedForI2S" Min="1" Max="1" Type="integer">
            <Condition Expression="((I2SSourceIsPll &amp; I2SUsed_ForRCC) |((MCOSourceIsPLLI2SP &amp;(MCO2Config))))" Diagnostic=" "/>
        </RefParameter>
	
        <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsedForI2S" Min="0" Max="0" Type="integer"/>

    <RefParameter Visible="false" Comment="VCOOutput" Name="VCOOutputFreq_Value" DefaultValue="192000000"  Type="double" Display="value/1000000" Unit="MHz"/>
    <RefParameter Visible="false" Comment="VCOOutput" Name="VCOQOutputFreq_Value" DefaultValue="192000000"  Max="75000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="RNGUsed_ForRCC"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="VCOOutput" Name="VCOQOutputFreq_Value" DefaultValue="192000000"  Type="double" Display="value/1000000" Unit="MHz"/>
		   <RefParameter Visible="false" Comment="VCOOutput" Name="VCOROutputFreq_Value" DefaultValue="192000000"  Max="100000000" Min="24000000" Type="double" Display="value/1000000" Unit="MHz">
        <Condition Diagnostic="PLL not used" Expression="I2SSourceIsPll"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="VCOOutput" Name="VCOROutputFreq_Value" DefaultValue="192000000"  Type="double" Display="value/1000000" Unit="MHz"/>
		

    <!-- LSI state control -->
    <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">
        <PossibleValue Comment="LSI" Value="RCC_OSCILLATORTYPE_LSI"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="LSI used flag" DefaultValue="1" Name="LSIUsed" Type="integer" Min="1" Max="1">
        <Condition Expression="(LPTIM1SOURCELSI &amp; LPTIMUsed_ForRCC)|(SEM2RCC_LSI_REQUIRED_TIM5 &amp; TIM5 &amp; Semaphore_input_Channel4TIM5)|IWDGUsed_ForRCC|((RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI)&amp;(RTCUsed_ForRCC))" Diagnostic=""/>
    </RefParameter>
    <RefParameter Visible="false" Comment="LSI used flag" DefaultValue="0" Name="LSIUsed" Type="integer" Min="0" Max="0"/>
    <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>
    <!-- HSE state control -->
    <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>
    <RefParameter Visible="false" Comment="HSE used flag" DefaultValue="1" Name="HSEUsed" Type="integer" Min="1" Max="1">
        <Condition Expression="(((HSEByPass|HSEOscillator)&amp;SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))|(RTCUsed_ForRCC&amp;!((RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE)|(RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSI)))|((PLLSource=RCC_PLLSOURCE_HSE) &amp; ((PLLUsed=1)|I2SSourceIsPllSRC))|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)|((RCC_MCO1Source=RCC_MCO1SOURCE_HSE)&amp;(MCO1Config))|((RCC_MCO2Source=RCC_MCO2SOURCE_HSE)&amp;(MCO2Config))" 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"/>
    <RefParameter Visible="false" Comment="Hse State" DefaultValue="RCC_HSE_BYPASS" Name="HSEState" Type="list">
        <Condition Diagnostic="HSE BYPass" Expression="HSEByPass"/>
        <PossibleValue Comment="Hse Bypass" Value="RCC_HSE_BYPASS" Semaphore="HSEEnabled"/>
    </RefParameter>
    <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_OFF" Name="HSEState" Type="list">
        <PossibleValue Comment="Hse Off" Value="RCC_HSE_OFF"/>
    </RefParameter>
    <!-- LSE state control -->
    <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>
    <RefParameter Visible="false" Comment="LSE Is Used" DefaultValue="1" Name="LSEUsed" Min="1" Type="integer">
        <Condition Expression="(LPTIM1SOURCELSE &amp; LPTIMUsed_ForRCC)|(SEM2RCC_LSE_REQUIRED_TIM5 &amp; TIM5 &amp; Semaphore_input_Channel4TIM5)|((RCC_MCO1Source=RCC_MCO1SOURCE_LSE) &amp; MCO1Config)|((RCC_RTC_Clock_Source=RCC_RTCCLKSOURCE_LSE)&amp;RTCUsed_ForRCC)" Diagnostic="LSE is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="LSE Is Used" DefaultValue="0" Name="LSEUsed" Min="0" Type="integer"/>
    <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>
    <!-- HSI state control -->
    <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>
    <RefParameter Visible="false" Comment="HSI Is Used" DefaultValue="1" Name="HSIUsed" Min="1" Type="integer">
        <Condition Expression="(((MCOSourceIsPLLI2SP &amp;(PLLSource=RCC_PLLSOURCE_HSI)))&amp;(MCO2Config))|((LPTIM1SOURCEHSI&amp; LPTIMUsed_ForRCC)|((PLLSource=RCC_PLLSOURCE_HSI) &amp; ((PLLUsed=1)|I2SSourceIsPllSRC))|((FMPI2C1Selection=RCC_FMPI2C1CLKSOURCE_HSI)&amp; FMPI2C1Used_ForRCC)|(SYSCLKSource=RCC_SYSCLKSOURCE_HSI)|((RCC_MCO1Source=RCC_MCO1SOURCE_HSI)&amp;(MCO1Config)))" 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="Hsi State" DefaultValue="RCC_HSI_OFF" Name="HSIState" Type="list">
        <Condition Expression="HSIUsed=0" Diagnostic=""/>
        <PossibleValue Comment="Hsi Off" Value="RCC_HSI_OFF"/>
    </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-->
    <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLUsed" Min="1" Type="integer">
        <Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|(MCOSourceIsPLLI2SP &amp;(MCO2Config))|(SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK)|((RCC_MCO1Source=RCC_MCO1SOURCE_PLLCLK)&amp;(MCO1Config))|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLCLK)&amp;(MCO2Config))|RNGUsed_ForRCC" Diagnostic="LSE is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLUsed" Min="0" Type="integer"/>
    <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>
	
	
     <RefParameter Visible="false" Comment="Clock Type" DefaultValue="+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 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>
	    <RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO1" DefaultValue="RCC_MCO1" Type="list">
        <Condition Diagnostic="" Expression="MCO1Config"/>
        <PossibleValue Comment="Clock Output 1" Value="RCC_MCO1"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO1" DefaultValue="null" Type="list"/>
    <RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO2" DefaultValue="RCC_MCO2" Type="list">
        <Condition Diagnostic="" Expression="MCO2Config"/>
        <PossibleValue Comment="Clock Output 2" Value="RCC_MCO2"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Clock Output" Name="RCC_MCO2" DefaultValue="null" Type="list"/>

    
    <!--params for Code Generation for IPs -->
	    <RefParameter Visible="false" Comment="Periph Clock Selection" Name="PeriphClockSelectionARG" DefaultValue="+PeriphClockSelection" Type="list">
        <Condition Expression="(MCO2Config &amp; MCOSourceIsPLLI2SP)|LPTIMUsed_ForRCC|FMPI2C1Used_ForRCC|(I2SUsed_ForRCC)|TimPrescalerEnabled|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; (MCO2Config))|RTCUsed_ForRCC|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="clock used by RCC"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Periph Clock Selection" Name="PeriphClockSelectionARG" DefaultValue="null" Type="list"/>	
	
    <RefParameter Visible="false" Comment="Periph Clock Selection" Name="PeriphClockSelection" DefaultValue="+RCC_PERIPHCLK_TIMVar+|RCC_PERIPHCLK_LPTIM1Var+|RCC_PERIPHCLK_PLLI2SVar+|RCC_PERIPHCLK_I2SVar+|RCC_PERIPHCLK_RTCVar+|RCC_PERIPHCLK_FMPI2C1Var" Type="list"/>

	
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_LPTIM1Var" Comment="RCC_PERIPHCLK_LPTIM1Var" Type="list" DefaultValue="RCC_PERIPHCLK_LPTIM1">
        <Condition Expression="LPTIMUsed_ForRCC" Diagnostic="LPTIM1 Activated"/>
        <PossibleValue Comment="Periphclk RTC" Value="RCC_PERIPHCLK_LPTIM1"/>
    </RefParameter>
	
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_LPTIM1Var" Comment="RCC_PERIPHCLK_LPTIM1Var" Type="list" DefaultValue=""/> 
	
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_FMPI2C1Var" Comment="RCC_PERIPHCLK_FMPI2C1Var" Type="list" DefaultValue="RCC_PERIPHCLK_FMPI2C1">
        <Condition Expression="FMPI2C1Used_ForRCC" Diagnostic="I2S Activated and source is PLLI2S"/>
        <PossibleValue Value="RCC_PERIPHCLK_FMPI2C1" Comment="RCC_PERIPHCLK_FMPI2C1"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_FMPI2C1Var" Comment="RCC_PERIPHCLK_FMPI2C1Var" Type="list" DefaultValue=""/>
	
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_PLLI2SVar" Comment="RCC_PERIPHCLK_PLLI2SVar" Type="list" DefaultValue="RCC_PERIPHCLK_PLLI2S">
        <Condition Expression="((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="I2S Activated and source is PLLI2S"/>
        <PossibleValue Value="RCC_PERIPHCLK_PLLI2S" Comment="RCC_PERIPHCLK_PLLI2S"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_PLLI2SVar" Comment="RCC_PERIPHCLK_PLLI2SVar" Type="list" DefaultValue=""/>

    <RefParameter Visible="false" Name="RCC_PERIPHCLK_I2SVar" Comment="RCC_PERIPHCLK_I2SVar" Type="list" DefaultValue="RCC_PERIPHCLK_I2S">
        <Condition Expression="( I2SUsed_ForRCC)" Diagnostic="I2S Activated and source is PLLI2S"/>
        <PossibleValue Value="RCC_PERIPHCLK_I2S" Comment="RCC_PERIPHCLK_I2S"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_I2SVar" Comment="RCC_PERIPHCLK_I2SVar" Type="list" DefaultValue=""/>
	
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_RTCVar" Comment="RCC_PERIPHCLK_RTCVar" Type="list" DefaultValue="RCC_PERIPHCLK_RTC">
        <Condition Expression="((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))|RTCUsed_ForRCC" Diagnostic="RTC Prescaler Activated"/>
        <PossibleValue Value="RCC_PERIPHCLK_RTC" Comment="RCC_PERIPHCLK_RTC"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_RTCVar" Comment="RCC_PERIPHCLK_RTCVar" Type="list" DefaultValue=""/>
	
	
	
    <RefParameter Visible="false" Name="I2SlockSelectionARG" Comment="I2SlockSelectionARG" Type="list" DefaultValue="+I2SClockSource">
        <Condition Expression="I2SUsed_ForRCC" Diagnostic="LPTIM1 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2SlockSelectionARG" Comment="I2SlockSelectionARG" Type="list" DefaultValue="null"/> 
	
	<RefParameter Visible="false" Name="LPTIM1lockSelectionARG" Comment="LPTIM1lockSelectionARG" Type="list" DefaultValue="+LPTIM1CLockSelection">
        <Condition Expression="LPTIMUsed_ForRCC" Diagnostic="LPTIM1 Activated"/>
    </RefParameter>
    <RefParameter Visible="false" Name="LPTIM1lockSelectionARG" Comment="LPTIM1lockSelectionARG" Type="list" DefaultValue="null"/>
	
	    <RefParameter Visible="false" Name="RTCClockSelectionARG" Comment="RTCClockSelectionARG" Type="list" DefaultValue="+RCC_RTC_Clock_Source">
        <Condition Expression="RTCUsed_ForRCC|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="PLLSAI is used for SAI"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RTCClockSelectionARG" Comment="RTCClockSelectionARG" Type="list" DefaultValue="null"/>

     
	
	
    <RefParameter Visible="false" Name="FMPI2C1ClockSelectionARG" Comment="FMPI2C1ClockSelectionARG" Type="list" DefaultValue="+FMPI2C1Selection">
        <Condition Expression="FMPI2C1Used_ForRCC" Diagnostic="I2S Activated and source is PLLI2S"/>
    </RefParameter>
    <RefParameter Visible="false" Name="FMPI2C1ClockSelectionARG" Comment="FMPI2C1ClockSelectionARG" Type="list" DefaultValue="null"/> 
	

	
	
    <RefParameter Visible="false" Name="PLLRARG" Comment="PLLRARG" Type="list" DefaultValue="+PLLR">
        <Condition Expression="PLLUsed=1" Diagnostic="PLLI2S is used for I2S"/>
    </RefParameter>
    <RefParameter Visible="false" Name="PLLRARG" Comment="PLLRARG" Type="list" DefaultValue="null"/>

	
    <RefParameter Visible="false" Comment="Hse 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"/>
	
    <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"/>
	
    <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"/>

    <RefParameter Visible="false" Comment="HSICalibrationValueARG" DefaultValue="RCC_HSICALIBRATION_DEFAULT" Name="HSICalibrationValueARG" Type="list">
        <Condition Diagnostic="HSI used" Expression="HSIUsed=1 &amp; HSICalibrationValue=16"/>
    </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="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"/>

    <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 | (I2SSourceIsPllSRC &amp; I2SUsed_ForRCC)"/>
    </RefParameter>
    <RefParameter Visible="false" Comment="PLLSourceARG" DefaultValue="null" Name="PLLSourceARG" 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="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="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="Clock TypeARG" DefaultValue="+ClockType" Name="ClockTypeARG" Type="list">
        <Condition Expression="SysClkToConfigure|HCLKtoConfigure|PCLK1toConfigure|PCLK2toConfigure" 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" Name="TIMPresSelectionARG" Comment="TIMPresSelectionARG" Type="list" DefaultValue="+RCC_TIM_PRescaler_Selection">
        <Condition Expression="TimPrescalerEnabled" Diagnostic="PLLSAI is used for SAI"/>
    </RefParameter>
    <RefParameter Visible="false" Name="TIMPresSelectionARG" Comment="TIMPresSelectionARG" Type="list" DefaultValue="null"/>
	
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_TIMVar" Comment="RCC_PERIPHCLK_TIMVar" Type="list" DefaultValue="RCC_PERIPHCLK_TIM">
        <Condition Expression="TimPrescalerEnabled" Diagnostic="Timer Prescaler Activated"/>
        <PossibleValue Value="RCC_PERIPHCLK_TIM" Comment="RCC_PERIPHCLK_TIM"/>
    </RefParameter>
    <RefParameter Visible="false" Name="RCC_PERIPHCLK_TIMVar" Comment="RCC_PERIPHCLK_TIMVar" Type="list" DefaultValue=""/>
	

	
	
	
	

	
    <!-- Enable refParameters list -->
    <!--RefEnabel Parameters -->
    <RefParameter Visible="false" Name="EnableHSE" Comment="EnableHSE" Type="list" DefaultValue="true">
        <Condition Expression="(HSEOscillator | HSEByPass)|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" Diagnostic="Disabled if RTC is used and HSE ON"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableHSE" Comment="EnableHSE" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <!--RTC Enable-->
    <RefParameter Visible="false" Name="EnableHSERTCDevisor" Comment="RTC and HSE Oscillator" Type="list" DefaultValue="true" IP="RTC">
        <Condition Expression="((RTCUsed_ForRCC) &amp; (HSEOscillator|HSEByPass))|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" 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>
    <RefParameter Visible="false" Name="RTCEnable" Comment="RTC" Type="list" DefaultValue="true" IP="RTC">
        <Condition Expression="RTCUsed_ForRCC|((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))" 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="(((HSEByPass|HSEOscillator)&amp;(SEM2RCC_HSE_REQUIRED_TIM11 &amp; TIM11 &amp; Semaphore_input_Channel1TIM11))|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="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>
    <!--I2S Enable-->
    <RefParameter Visible="false" Name="I2SEnable" Comment="I2S instance" Type="list" DefaultValue="false">
        <Condition Expression="!I2SUsed_ForRCC" Diagnostic="I2S ip not used"/>
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2SEnable" Comment="I2S instance" Type="list" DefaultValue="true">
        <Condition Expression="I2SUsed_ForRCC" Diagnostic="I2S ip used"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="I2SEnable" Comment="I2S instance" Type="list" DefaultValue="true">
        <PossibleValue Value="true" Comment="true"/>
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableExtClockForI2S" Comment="EnableExtClockForI2S" Type="list" DefaultValue="true" IP="Audio_ClockIn">
        <Condition Expression="I2SUsed_ForRCC&amp;AudioClockConfig" Diagnostic="Disabled if RTC is used"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableExtClockForI2S" Comment="EnableExtClockForI2S" Type="list" DefaultValue="false" IP="Audio_ClockIn">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <!-- Clock Out  Enable-->
    <RefParameter Visible="false" Name="MCO1OutPutEnable" Comment="Master Clock Output 1" Type="list" DefaultValue="true" IP="Clock-out-1">
        <Condition Expression="MCO1Config" Diagnostic="MCO1 mode is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="MCO1OutPutEnable" Comment="Master Clock Output 1" Type="list" DefaultValue="false" IP="Clock-out-1">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <RefParameter Visible="false" Name="MCO2OutPutEnable" Comment="Master Clock Output 2" Type="list" DefaultValue="false" IP="Clock-out-2">
        <Condition Expression="MCO2Config" Diagnostic="MCO2 mode is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="MCO2OutPutEnable" Comment="Clock Output 2" Type="list" DefaultValue="false" IP="Clock-out-2">
        <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>
    <!-- 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">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <!--FMPI2C1 Enable -->
    <RefParameter Visible="false" Name="EnableFMPI2C1" Comment="FMPI2C1" Type="list" DefaultValue="true">
        <Condition Expression="FMPI2C1Used_ForRCC" Diagnostic="FMPI2C1 enabled"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="EnableFMPI2C1" Comment="FMPI2C1" Type="list" DefaultValue="false">
        <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>
    <!--SDIO Enable-->
    <RefParameter Visible="false" Name="SDIOEnable" Comment="SDIO" Type="list" DefaultValue="true">
        <Condition Expression="SDIOUsed_ForRCC" Diagnostic="SDIO is activated"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="SDIOEnable" Comment="SDIO" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <!--USBFS Enable -->
    <RefParameter Visible="false" Name="USBFSEnable" Comment="USBFS" Type="list" DefaultValue="true">
        <Condition Expression="USB_OTG_FSUsed_ForRCC" Diagnostic="USBFS Enabled"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="USBFSEnable" Comment="USBFS" 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="LPTIMUsed_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>
	
    <!--USBHS Enable -->
    <RefParameter Visible="false" Name="USBHSEnable" Comment="USBHS" Type="list" DefaultValue="true">
        <Condition Expression="USB_OTG_HSEmbeddedPHYUsed_ForRCC" Diagnostic="USBHS Enabled"/>
        <PossibleValue Value="true" Comment="true"/>
    </RefParameter>
    <RefParameter Visible="false" Name="USBHSEnable" Comment="USBHS" Type="list" DefaultValue="false">
        <PossibleValue Value="false" Comment="false"/>
    </RefParameter>
    <!-- refParameter for dynamic labels constraints-->
    <!-- Advanced Parameters-->
    <!-- <RefParameter Name="VDD_VALUE" Comment="VDD voltage (V)" DefaultValue="3" Min="1.8" Max="3.6" Type="double" Unit="V"/>	-->
    <RefParameter Name="VDD_VALUE" Comment="VDD voltage (V)" DefaultValue="3.3" Max="3.6" Min="1.7" Type="double" Unit="V" Group="System Parameters">
		
    </RefParameter>
	
       
	
      
    <!--0 < HCLK <= 30  |0 < HCLK <= 24  |0 < HCLK <= 18   |0 < HCLK <= 16  -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_0" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6))) &amp; ((HCLKFreq_Value &gt; 0) &amp;((HCLKFreq_Value &lt;  30000000)|(HCLKFreq_Value =30000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt; 0) &amp; ((HCLKFreq_Value &lt;  24000000)|(HCLKFreq_Value =24000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt; 0) &amp; ((HCLKFreq_Value &lt;  18000000)|(HCLKFreq_Value= 18000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 0) &amp; ((HCLKFreq_Value &lt; 16000000)|(HCLKFreq_Value =16000000))))) "/>
        <PossibleValue Value="FLASH_LATENCY_0" Comment="0 WS (1 CPU cycle)"/>
    </RefParameter>
    <!--1 WS 30 < HCLK <= 60 |24 < HCLK <= 48 |18 < HCLK <= 36  |16 < HCLK <= 32 -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_1" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6))) &amp; ((HCLKFreq_Value &gt; 30000000) &amp; ((HCLKFreq_Value &lt;  64000000)|(HCLKFreq_Value= 64000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt;  24000000) &amp; ((HCLKFreq_Value &lt;  48000000)|(HCLKFreq_Value= 48000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt;  18000000) &amp; ((HCLKFreq_Value &lt;  36000000)|(HCLKFreq_Value =36000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 16000000) &amp; ((HCLKFreq_Value &lt;  32000000)|(HCLKFreq_Value= 32000000)))))"/>
        <PossibleValue Value="FLASH_LATENCY_1" Comment="1 WS (2 CPU cycle)"/>
    </RefParameter>
    <!--2WS(3CPU cycle) -->
    <!-- 60 < HCLK <= 84 |48 < HCLK <= 72 |36 < HCLK <= 54  |32 < HCLK <= 48 -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_2" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6))) &amp; ((HCLKFreq_Value &gt; 64000000) &amp; ((HCLKFreq_Value &lt;  90000000)|(HCLKFreq_Value= 90000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt;  48000000) &amp; ((HCLKFreq_Value &lt; 72000000)|(HCLKFreq_Value = 72000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt;  36000000) &amp; ((HCLKFreq_Value &lt; 54000000)|(HCLKFreq_Value=  54000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 32000000) &amp; ((HCLKFreq_Value &lt; 48000000)|(HCLKFreq_Value=  48000000)))))"/>
        <PossibleValue Value="FLASH_LATENCY_2" Comment="2 WS (3 CPU cycle)"/>
    </RefParameter>
    <!--3WS(4CPU cycle) -->
    <!--  |90 < HCLK ? 100  | 72 < HCLK ? 96   |54 < HCLK ? 72    |48 < HCLK ? 64 -->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_3" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.7)|(VDD_VALUE = 2.7)) &amp; ((VDD_VALUE &lt; 3.6)|(VDD_VALUE =3.6)))&amp; ((HCLKFreq_Value &gt;  90000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))))|
		((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt; 72000000) &amp; ((HCLKFreq_Value &lt; 96000000)|(HCLKFreq_Value = 96000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp;  ((HCLKFreq_Value &gt; 54000000) &amp; ((HCLKFreq_Value &lt; 72000000)|(HCLKFreq_Value = 72000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 48000000) &amp; ((HCLKFreq_Value &lt; 64000000)|(HCLKFreq_Value=  64000000))))) "/>
        <PossibleValue Value="FLASH_LATENCY_3" Comment="3 WS (4 CPU cycle)"/>
    </RefParameter>
    <!--4WS(5CPU cycle) -->
    <!--| 96 < HCLK ? 100  |72 < HCLK ? 90    |64 < HCLK ? 80-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_4" Group="System Parameters">
        <Condition Diagnostic="" Expression="
		(((((VDD_VALUE &gt; 2.4)|(VDD_VALUE= 2.4)) &amp; ((VDD_VALUE &lt; 2.7)|(VDD_VALUE = 2.7))) &amp; ((HCLKFreq_Value &gt;  96000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))))|
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; (((HCLKFreq_Value &gt; 72000000) )&amp; ((HCLKFreq_Value &lt; 90000000)|(HCLKFreq_Value = 90000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 64000000) &amp; ((HCLKFreq_Value &lt;  80000000)|(HCLKFreq_Value =80000000))))) "/>
        <PossibleValue Value="FLASH_LATENCY_4" Comment="4 WS (5 CPU cycle)"/>
    </RefParameter>
    <!--5WS(6CPU cycle) -->
    <!-- |90 < HCLK ? 100   |80 < HCLK ? 96-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_5" Group="System Parameters">
        <Condition Diagnostic="" Expression="(
		((((VDD_VALUE &gt; 2.1)|(VDD_VALUE= 2.1)) &amp; ((VDD_VALUE &lt; 2.4)|(VDD_VALUE = 2.4))) &amp; ((HCLKFreq_Value &gt;  90000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))))|
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; ((HCLKFreq_Value &gt; 80000000)&amp; ((HCLKFreq_Value &lt; 96000000)|(HCLKFreq_Value = 96000000)) ))) "/>
        <PossibleValue Value="FLASH_LATENCY_5" Comment="5 WS (6 CPU cycle)"/>
    </RefParameter>
    <!--6WS(7CPU cycle) -->
    <!--  |96 < HCLK ? 100-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="uniqueElementList" DefaultValue="FLASH_LATENCY_6" Group="System Parameters">
        <Condition Diagnostic="" Expression="(
		
		((((VDD_VALUE &gt; 1.71)|(VDD_VALUE=1.71)) &amp; ((VDD_VALUE &lt; 2.1)|(VDD_VALUE = 2.1))) &amp; (HCLKFreq_Value &gt;  96000000) &amp; ((HCLKFreq_Value &lt; 100000000)|(HCLKFreq_Value = 100000000))) )"/>
        <PossibleValue Value="FLASH_LATENCY_6" Comment="6 WS (7 CPU cycle)"/>
    </RefParameter>
       
   
    <!--Should not Happen!-->
    <RefParameter Name="FLatency" Comment="Flash Latency(WS)" Type="list" DefaultValue="FLASH_LATENCY_0" Group="System Parameters">
        <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)"/>
        <PossibleValue Value="FLASH_LATENCY_3" Comment="3 WS (4 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_4" Comment="4 WS (5 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_5" Comment="5 WS (6 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_6" Comment="6 WS (7 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_7" Comment="7 WS (8 CPU cycle)"/>
        <PossibleValue Value="FLASH_LATENCY_8" Comment="8 WS (9 CPU cycle)"/>
    </RefParameter>
    <RefParameter Comment="HSI Calibration Value" DefaultValue="16" Min="0" Max="31" Name="HSICalibrationValue" Type="integer" Group="RCC Parameters"/>
    <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="(((PLLSource=RCC_PLLSOURCE_HSE) &amp;SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK )|(SYSCLKSource=RCC_SYSCLKSOURCE_HSE)) &amp; (HSEOscillator | HSEByPass)"/>
        <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>
    <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">
        <Condition Diagnostic="" Expression="(VDD_VALUE &lt; 2.1)"/>
        <PossibleValue Value="0" Comment="Disabled"/>
    </RefParameter>
    <RefParameter Name="PREFETCH_ENABLE" Comment="Prefetch Buffer" Type="list" DefaultValue="1" 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="PWR_Regulator_Voltage_Scale" Comment="Power Regulator Voltage Scale" Type="list" DefaultValue="PWR_REGULATOR_VOLTAGE_SCALE1" Group="Power Parameters">
        <Condition Diagnostic="" Expression="(HCLKFreq_Value  &gt; 84000000)"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1"/>
    </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="(HCLKFreq_Value  &gt; 64000000)"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE2" Comment="Power Regulator Voltage Scale 2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1"/>

    </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_SCALE2" Comment="Power Regulator Voltage Scale 2"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE1" Comment="Power Regulator Voltage Scale 1"/>
        <PossibleValue Value="PWR_REGULATOR_VOLTAGE_SCALE3" Comment="Power Regulator Voltage Scale 3"/>

    </RefParameter>
	
    <RefParameter Visible="false" Comment="MainPLL Is Used" DefaultValue="1" Name="PLLMUsed" Min="1" Type="integer">
        <Condition Expression="(I2SSourceIsPll &amp; I2SUsed_ForRCC)|((RCC_MCO2Source=RCC_MCO2SOURCE_PLLI2SCLK)&amp; MCO2Config)" Diagnostic="LSE is used if "/>
    </RefParameter>
    <RefParameter Visible="false" Comment="Main PLL is Used" DefaultValue="0" Name="PLLMUsed" Min="0" Type="integer"/>
    <RefParameter Visible="false" Name="PLLMARGForMacro" Comment="PLLMARGForMacro" Type="list" DefaultValue="+PLLM">
        <Condition Diagnostic="PLLSAIP not used" Expression=" ((PLLMUsed=1) &amp; PLLState=RCC_PLL_OFF)"/>
    </RefParameter>
    <RefParameter Visible="false" Name="PLLMARGForMacro" Comment="PLLMARGForMacro" Type="list" DefaultValue="null"/>
	
    <RefParameter Visible="false" Name="PLLSourceMARGForMacro" Comment="PLLSourceMARGForMacro" Type="list" DefaultValue="+PLLSource">
        <Condition Diagnostic="PLLSAIP not used" Expression=" ((PLLMUsed=1|I2SSourceIsPllSRC) &amp; PLLState=RCC_PLL_OFF)"/>
    </RefParameter>
    <RefParameter Visible="false" Name="PLLSourceMARGForMacro" Comment="PLLSourceMARGForMacro" Type="list" DefaultValue="null"/>
    
   <RefParameter Visible="false" Comment="Overdrive enable" DefaultValue="0" Name="OverDriveEnable" Type="integer" Min="1" Max="1"/>
    
    <RefMode Name="ClockTree">
	    <ConfigForMode>RCC_PLL_PLLM_CONFIG</ConfigForMode>
        <ConfigForMode>RCC_PLL_PLLSOURCE_CONFIG</ConfigForMode>
        <ConfigForMode>RCC_ConfigVoltageScaling</ConfigForMode>
        <ConfigForMode>RCC_OSCConfig</ConfigForMode>        
        <ConfigForMode>PWR_ActivateOverDrive</ConfigForMode>
		
        <ConfigForMode>RCC_ClockConfig</ConfigForMode>        
        <ConfigForMode>RCC_MCO1Config</ConfigForMode>        
        <ConfigForMode>RCC_MCO2Config</ConfigForMode>        
        <ConfigForMode>RCC_CSS_Enable</ConfigForMode>
        <ConfigForMode>RCC_interrupt_Time_SYSTICK_Config</ConfigForMode>
        <ConfigForMode>RCC_SYSTICK_CONFIG</ConfigForMode>
        <Parameter Name="OscillatorType"/>
        <Parameter Name="OscillatorTypeLSI"/>
        <Parameter Name="LSIUsed"/>
        <Parameter Name="LSIState"/>
        <Parameter Name="OscillatorTypeHSE"/>
        <Parameter Name="HSEUsed"/>
        <Parameter Name="HSEState"/>
        <Parameter Name="OscillatorTypeLSE"/>
        <Parameter Name="LSEUsed"/>
        <Parameter Name="LSEState"/>
        <Parameter Name="OscillatorTypeHSI"/>
        <Parameter Name="HSIUsed"/>
        <Parameter Name="HSIState"/>
        <Parameter Name="PLLUsed"/>
        <Parameter Name="PLLState"/>
        <Parameter Name="PLLSource"/>
        <Parameter Name="PLLM"/>
        <Parameter Name="PLLN"/>
        <Parameter Name="PLLP"/>
        <Parameter Name="PLLQ"/>
        <Parameter Name="ClockType"/>
        <Parameter Name="ClockTypeSysClk"/>
        <Parameter Name="ClockTypeHCLK"/>
        <Parameter Name="ClockTypePCLK1"/>
        <Parameter Name="ClockTypePCLK2"/>
        <Parameter Name="SYSCLKSource"/>
        <Parameter Name="AHBCLKDivider"/>
        <Parameter Name="APB1CLKDivider"/>
        <Parameter Name="APB1TimCLKDivider"/>
        <Parameter Name="APB2CLKDivider"/>
        <Parameter Name="RCC_MCO1"/>
        <Parameter Name="RCC_MCO2"/>
        <Parameter Name="RCC_MCO1Source"/>
        <Parameter Name="RCC_MCO2Source"/>
        <Parameter Name="RCC_MCODiv1"/>
        <Parameter Name="RCC_MCODiv2"/>
        <Parameter Name="RCC_RTC_Clock_Source"/>
        <Parameter Name="RCC_RTC_Clock_Source_FROM_HSE"/>
        <Parameter Name="Cortex_Div"/>
        <Parameter Name="HSE_VALUE"/>
        <Parameter Name="HSI_VALUE"/>
        <Parameter Name="LSE_VALUE"/>
        <Parameter Name="LSI_VALUE"/>
        <Parameter Name="EXTERNAL_CLOCK_VALUE"/>
        <Parameter Name="SYSCLKFreq_VALUE"/>
        <Parameter Name="HCLKFreq_Value"/>
        <Parameter Name="APB1Freq_Value"/>
        <Parameter Name="APB2Freq_Value"/>
        <Parameter Name="WatchDogFreq_Value"/>
        <Parameter Name="RTCFreq_Value"/>
        <Parameter Name="RTCHSEDivFreq_Value"/>
        <Parameter Name="EthernetFreq_Value"/>
        <Parameter Name="AHBFreq_Value"/>
        <Parameter Name="CortexFreq_Value"/>
        <Parameter Name="FCLKCortexFreq_Value"/>
        <Parameter Name="APB1TimFreq_Value"/>
        <Parameter Name="APB2TimFreq_Value"/>
        <Parameter Name="48MHZClocksFreq_Value"/>
        <Parameter Name="I2SClocksFreq_Value"/>
        <Parameter Name="VCOInputFreq_Value"/>
        <Parameter Name="PLLCLKFreq_Value"/>
        <Parameter Name="PLLSourceVirtual"/>
        <Parameter Name="PLLCLKFreq_Value"/>
        <Parameter Name="VCOOutputFreq_Value"/>

        <Parameter Name="MCO1PinFreq_Value"/>
        <Parameter Name="MCO2PinFreq_Value"/>
        <Parameter Name="I2SClockSource"/>
    
        <Parameter Name="EnableHSE"/>
        <Parameter Name="EnableHSERTCDevisor"/>
        <Parameter Name="RTCEnable"/>
        <Parameter Name="EnableLSERTC"/>
        <Parameter Name="EnableLSE"/>
        <Parameter Name="I2SEnable"/>
        <Parameter Name="EnableExtClockForI2S"/>
        <Parameter Name="MCO1OutPutEnable"/>
        <Parameter Name="MCO2OutPutEnable"/>
        <Parameter Name="ExtClockEnable"/>
        <Parameter Name="IWDGEnable"/>
        <Parameter Name="RNGEnable"/>
        <Parameter Name="SDIOEnable"/>
        <Parameter Name="USBFSEnable"/>
        <Parameter Name="USBHSEnable"/>
        <Parameter Name="PeriphClockSelection"/>
        <Parameter Name="RCC_PERIPHCLK_I2SVar"/>
        <Parameter Name="RCC_PERIPHCLK_RTCVar"/>
       
        <Parameter Name="RTCClockSelectionARG"/>
       
    </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="PWR_Regulator_Voltage_Scale"/>
		   <Parameter Name="RCC_TIM_PRescaler_Selection"/>
		   <Parameter Name="HSE_Timout"/>
        <Parameter Name="LSE_Timout"/>
    </RefMode>
    <RefMode Name="Clock-out-1" HalMode="RCC">
        <!--ConfigForMode>RTC_RefClock</ConfigForMode-->
    </RefMode>
    <RefMode Name="Clock-out-2" HalMode="RCC">
        <!--ConfigForMode>RTC_RefClock</ConfigForMode-->
    </RefMode>
    <ModeLogicOperator Name="OR">
        <!-- Modes for Oscillators & Clocks -->
        <Mode Name="OSC" UserName="High Speed Clock (HSE)">
            <ModeLogicOperator Name="XOR">
                <Mode Name="HSE-External-Clock-Source" UserName="BYPASS Clock Source">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="OSC_IN"/>
                        <Signal Name="OSC_OUT"/>
                    </SignalLogicalOp>
                    <Semaphore>HSEByPass</Semaphore>
                </Mode>
                <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>
            </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-1" UserName="Master Clock Output 1">
            <ModeLogicOperator Name="OR">
                <Mode Name="Clock-out-1">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="MCO_1"/>
                    </SignalLogicalOp>
                    <Semaphore>MCO1Config</Semaphore>
                </Mode>
            </ModeLogicOperator>
        </Mode>
        <Mode Name="Clock-out-2" UserName="Master Clock Output 2">
            <ModeLogicOperator Name="OR">
                <Mode Name="Clock-out-2">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="MCO_2"/>
                    </SignalLogicalOp>
                    <Semaphore>MCO2Config</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>
    </ModeLogicOperator>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="MCO_1"/>
    <RefSignal IOMode="AlternateFunctionPushPull" Name="MCO_2"/>
    <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="AlternateFunctionPushPull" Name="$SingleInstanceI2S_CKIN"/>
</IP>
