<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<IP DBVersion="V4.0" IPType="peripheral" Name="PWR" Version="STM32H7_pwr_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>PWR: Power</About>
	
	<RefParameter Comment="Instance" DefaultValue="PWR" Name="Instance" Type="" Visible="false"/>
	
	<RefParameter Comment="PVD detection Level" DefaultValue="PWR_PVDLEVEL_7" Name="PVDLevel" Type="list" Visible="false">
		<Condition Expression="Sem_ExternalAnalogVoltage" Diagnostic="" />
		<PossibleValue Comment="PWR PVD LEVEL 7" Value="PWR_PVDLEVEL_7" />
	</RefParameter>
	<RefParameter Comment="PVD detection Level" DefaultValue="PWR_PVDLEVEL_0" Name="PVDLevel" Type="list">
		<Condition Expression="!Sem_ExternalAnalogVoltage" Diagnostic="" />
		<PossibleValue Comment="PWR PVD LEVEL 0 (1.95 V)" Value="PWR_PVDLEVEL_0" />
		<PossibleValue Comment="PWR PVD LEVEL 1 (2.1 V)" Value="PWR_PVDLEVEL_1" />
		<PossibleValue Comment="PWR PVD LEVEL 2 (2.25 V)" Value="PWR_PVDLEVEL_2" />
		<PossibleValue Comment="PWR PVD LEVEL 3 (2.4 V)" Value="PWR_PVDLEVEL_3" />
		<PossibleValue Comment="PWR PVD LEVEL 4 (2.55 V)" Value="PWR_PVDLEVEL_4" />
		<PossibleValue Comment="PWR PVD LEVEL 5 (2.7 V)" Value="PWR_PVDLEVEL_5" />
		<PossibleValue Comment="PWR PVD LEVEL 6 (2.85 V)" Value="PWR_PVDLEVEL_6" />
	</RefParameter>

	<RefParameter Comment="PWR PVD Mode" DefaultValue="PWR_PVM_MODE_NORMAL" Name="Mode" Type="list">
		<Description>Mode: Specifies the PVD trigger mode.</Description>
		<PossibleValue Comment="basic mode is used" Value="PWR_PVD_MODE_NORMAL" />
		<PossibleValue Comment="External Interrupt Mode with Rising edge trigger detection" Value="PWR_PVD_MODE_IT_RISING" />
		<PossibleValue Comment="External Interrupt Mode with Falling edge trigger detection" Value="PWR_PVD_MODE_IT_FALLING" />
		<PossibleValue Comment="External Interrupt Mode with Rising/Falling edge trigger detection" Value="PWR_PVD_MODE_IT_RISING_FALLING" />
		<PossibleValue Comment="Event Mode with Rising edge trigger detection" Value="PWR_PVD_MODE_EVENT_RISING" />
		<PossibleValue Comment="Event Mode with Falling edge trigger detection" Value="PWR_PVD_MODE_EVENT_FALLING" />
		<PossibleValue Comment="Event Mode with Rising/Falling edge trigger detection" Value="PWR_PVD_MODE_EVENT_RISING_FALLING" />
	</RefParameter>
	
		
   <RefParameter Comment="High impedance mode" DefaultValue="null" Name="HighImpedanceMode" Type="list" Visible="false"/>

	
	
	<RefParameter Comment="Internal Voltage reference scale" DefaultValue="null" Name="VoltageScaling" Type="list" Visible="false" />
	
	<RefParameter Comment="Trimming Mode" DefaultValue="__NULL" Name="TrimmingMode" Type="list">
	    <Condition Expression="Sem_InternalMode" Diagnostic=""/>
		<PossibleValue Comment="Factory Trimming" Value="__NULL" />
		<PossibleValue Comment="User Trimming" Value="USER_TRIMMING" />
	</RefParameter>
	
	<RefParameter Comment="Trimming Mode" DefaultValue="null" Name="TrimmingMode" Type="list" Visible="false" />
	
	<RefParameter Comment="Trimming Value" DefaultValue="0" Max="63" Min="0" Name="TrimmingValue" Type="integer">
    	<Condition Expression="TrimmingMode = USER_TRIMMING &amp; Sem_InternalMode" Diagnostic=""/>
    </RefParameter>
    
    <RefParameter Comment="Trimming Value" DefaultValue="null" Max="63" Min="0" Name="TrimmingValue" Type="integer" Visible="false"/>
	
	
	<RefMode Name="Mode_PVD_Ext" Group="Programmable_Voltage_Detector_Settings">
		<ConfigForMode>PVDConfig</ConfigForMode>
		<ConfigForMode>PVDEnable</ConfigForMode>
		<Parameter Name="PVDLevel" />
		<Parameter Name="Mode" />
	</RefMode>
	<RefMode Name="Mode_PVD_Int"  Group="Programmable_Voltage_Detector_Settings">
		<ConfigForMode>PVDConfig</ConfigForMode>
		<ConfigForMode>PVDEnable</ConfigForMode>
		<Parameter Name="PVDLevel" />
		<Parameter Name="Mode" />
	</RefMode>
	
	
	<ModeLogicOperator Name="OR">
		<Mode Name="WakeUp0" UserName="Wake-Up 0">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp0">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP0" />
					</SignalLogicalOp>
					<Semaphore>WAKEUP_INTERRUPT</Semaphore>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="WakeUp1" UserName="Wake-Up 1">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp1">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP1" />
					</SignalLogicalOp>
					<Semaphore>WAKEUP_INTERRUPT</Semaphore>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="WakeUp2" UserName="Wake-Up 2">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp2">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP2" />
					</SignalLogicalOp>
					<Semaphore>WAKEUP_INTERRUPT</Semaphore>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="WakeUp3" UserName="Wake-Up 3">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp3">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP3" />
					</SignalLogicalOp>
					<Semaphore>WAKEUP_INTERRUPT</Semaphore>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="WakeUp4" UserName="Wake-Up 4">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp4">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP4" />
					</SignalLogicalOp>
					<Semaphore>WAKEUP_INTERRUPT</Semaphore>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="WakeUp5" UserName="Wake-Up 5">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp5">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP5" />
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
		</Mode>
		<Mode Name="WakeUp6" UserName="Wake-Up 6">
			<ModeLogicOperator Name="OR">
				<Mode Name="WakeUp6">
					<SignalLogicalOp Name="AND">
						<Signal Name="WKUP6" />
					</SignalLogicalOp>
				</Mode>
			</ModeLogicOperator>
		</Mode>
                <Mode Name="PowerVD" UserName="Power Voltage Detector In">
			<ModeLogicOperator Name="XOR">
				<Mode Name="Mode_PVD_Ext"
					UserName="Power Voltage Detector In (External input analog voltage)">
					<SignalLogicalOp Name="AND">
						<Signal Name="PVD_IN" />
					</SignalLogicalOp>
					<Semaphore>Sem_ExternalAnalogVoltage</Semaphore>
					<Semaphore>PVD_INTERRUPT</Semaphore>

				</Mode>
				<Mode Name="Mode_PVD_Int"
					UserName="Power Voltage Detector In (Internal analog voltage)">
					<SignalLogicalOp Name="AND">
						<Signal Name="V_PVD_IN" />
					</SignalLogicalOp>
					<Semaphore>PVD_INTERRUPT</Semaphore>
				</Mode>
			</ModeLogicOperator>
		</Mode>


	</ModeLogicOperator>

	<!-- RefSignal for System -->
	
	<RefSignal IOMode="System" Name="WKUP0" />
	<RefSignal IOMode="System" Name="WKUP1" />
	<RefSignal IOMode="System" Name="WKUP2" />
	<RefSignal IOMode="System" Name="WKUP3" />
	<RefSignal IOMode="System" Name="WKUP4" />
	<RefSignal IOMode="System" Name="WKUP5" />
	<RefSignal IOMode="System" Name="WKUP6" />
        <RefSignal IOMode="Analog" Name="PVD_IN" />
	<RefSignal IOMode="Analog" Name="V_PVD_IN" Virtual="true" />
        <RefSignal Name="VS_Systick" Virtual="true" />    
        
	
	
</IP>
