<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<IP DBVersion="V4.0" IPType="peripheral" Name="DEBUG" Version="STM32MP1_debug_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>DBG: Debug</About>
	
	   

	<!-- Modes for Debug (JTAG and Trace) -->
	<ModeLogicOperator Name="OR">
		<Mode Name="Debug">
			<ModeLogicOperator Name="XOR">
				<Mode Name="Serial_Wire" UserName="Serial Wire">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTMS-SWDIO" />
					</SignalLogicalOp>
					<Semaphore>SWD</Semaphore>
				</Mode>

				<Mode Name="JTAG_4_pins" UserName="JTAG (4 pins)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTDI" />
						<Signal Name="JTDO-SWO" />
						<Signal Name="JTMS-SWDIO" />
					</SignalLogicalOp>
					<Semaphore>JTAG</Semaphore>
				</Mode>

				<Mode Name="JTAG_5_pins" UserName="JTAG (5 pins)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTDI" />
						<Signal Name="JTDO-SWO" />
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="JTRST" />
					</SignalLogicalOp>
					<Semaphore>JTAG</Semaphore>
				</Mode>

				<Mode Name="Trace_Asynchronous_SW" UserName="Trace Asynchronous Sw">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTDO-SWO" />
					</SignalLogicalOp>
					<Semaphore>SWD</Semaphore>
				</Mode>

				<Mode Name="Trace_Synchro_1bit_JTAG" UserName="JTAG with Trace Synchro(1 bit)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTDI" />
						<Signal Name="JTDO-SWO" />
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="TRACECLK" />
						<Signal Name="TRACED0" />
					</SignalLogicalOp>
					<Semaphore>JTAG</Semaphore>
				</Mode>

				<Mode Name="Trace_Synchro_2bits_JTAG" UserName="JTAG with Trace Synchro(2 bits)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTDI" />
						<Signal Name="JTDO-SWO" />
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="TRACECLK" />
						<Signal Name="TRACED0" />
						<Signal Name="TRACED1" />
					</SignalLogicalOp>
					<Semaphore>JTAG</Semaphore>
				</Mode>

				<Mode Name="Trace_Synchro_16bits_JTAG" UserName="JTAG with Trace Synchro(16 bits)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="JTDI" />
						<Signal Name="JTDO-SWO" />
						<Signal Name="JTMS-SWDIO" />
                                             	<Signal Name="TRACECLK" />
						<Signal Name="TRACED0" />
						<Signal Name="TRACED1" />
						<Signal Name="TRACED2" />
						<Signal Name="TRACED3" />
						<Signal Name="TRACED4" />
						<Signal Name="TRACED5" />
						<Signal Name="TRACED6" />
						<Signal Name="TRACED7" />
						<Signal Name="TRACED8" />
						<Signal Name="TRACED9" />
						<Signal Name="TRACED10" />
						<Signal Name="TRACED11" />
						<Signal Name="TRACED12" />
						<Signal Name="TRACED13" />
						<Signal Name="TRACED14" />
						<Signal Name="TRACED15" />
					</SignalLogicalOp>
					<Semaphore>JTAG</Semaphore>
				</Mode>

				<Mode Name="Trace_Synchro_1bit_SW" UserName="Trace Synchro Sw (1 bit)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="TRACECLK" />
						<Signal Name="TRACED0" />
					</SignalLogicalOp>
					<Semaphore>SWD</Semaphore>
				</Mode>
				<Mode Name="Trace_Synchro_2bits_SW" UserName="Trace Synchro Sw (2 bits)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="TRACECLK" />
						<Signal Name="TRACED0" />
						<Signal Name="TRACED1" />
					</SignalLogicalOp>
					<Semaphore>SWD</Semaphore>
				</Mode>
				<Mode Name="Trace_Synchro_16bits_SW" UserName="Trace Synchro Sw (16 bits)">
					<SignalLogicalOp Name="AND">
						<Signal Name="JTMS-SWDIO" />
						<Signal Name="JTCK-SWCLK" />
						<Signal Name="TRACECLK" />
						<Signal Name="TRACED0" />
						<Signal Name="TRACED1" />
						<Signal Name="TRACED2" />
						<Signal Name="TRACED3" />
						<Signal Name="TRACED4" />
						<Signal Name="TRACED5" />
						<Signal Name="TRACED6" />
						<Signal Name="TRACED7" />
						<Signal Name="TRACED8" />
						<Signal Name="TRACED9" />
						<Signal Name="TRACED10" />
						<Signal Name="TRACED11" />
						<Signal Name="TRACED12" />
						<Signal Name="TRACED13" />
						<Signal Name="TRACED14" />
						<Signal Name="TRACED15" />
					</SignalLogicalOp>
					<Semaphore>SWD</Semaphore>
				</Mode>
				
			</ModeLogicOperator>
		</Mode>
                              
                <Mode Name="External_Trigger_Input" UserName="External Trigger Input">
                    <ModeLogicOperator Name="OR">
                        <Mode Name="External_Trigger_Input">
                            <SignalLogicalOp Name="AND">
                                <Signal Name="DBTRGI" />                            
                            </SignalLogicalOp>		
                        </Mode>
                    </ModeLogicOperator>
                </Mode>
                <Mode Name="External_Trigger_Output" UserName="External Trigger Output">
                    <ModeLogicOperator Name="OR">
                        <Mode Name="External_Trigger_Output">
                    <SignalLogicalOp Name="AND">
                        <Signal Name="DBTRGO" />
                    </SignalLogicalOp>
                        </Mode>	
                    </ModeLogicOperator>				
                </Mode>
                    
		
	</ModeLogicOperator>

	<!-- RefSignal for System -->
	<RefSignal IOMode="System" Name="JTCK-SWCLK" />
	<RefSignal IOMode="System" Name="JTDI" />
	<RefSignal IOMode="System" Name="JTDO-SWO" />
	<RefSignal IOMode="System" Name="JTMS-SWDIO" />
	<RefSignal IOMode="System" Name="JTRST" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACECLK" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED0" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED1" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED2" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED3" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED4" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED5" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED6" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED7" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED8" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED9" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED10" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED11" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED12" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED13" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED14" />
	<RefSignal IOMode="AlternateFunctionPushPullHighSpeedDefault" Name="TRACED15" />
	
	<RefSignal IOMode="System" Name="DBTRGI" />
	<RefSignal IOMode="System" Name="DBTRGO" />
</IP>
