<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd"[]>
<featureDefinitions name="PMP" iconName="PSP" helpIndex="">
	<userControlGroup name="none" caption="none">
		<userControlSubGroup name="none" caption="none">
			<userControl name="applyButton">
				<dialogConfig type="applyButton" caption="none"></dialogConfig>
				<userAction name="apply">
					<!-- claimResource type="pin" pin="RTCC" polarity="Out"></claimResource --></userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="general" caption="General">
		<userControlSubGroup name="none" caption="none">
			<userControl name="enable">
				<dialogConfig type="CK" caption="Enable on Startup"></dialogConfig>
				<userAction name="enable">
					<claimResource type="register" registerField="PMPEN" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="PMPEN" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="operateDuringIdle">
				<dialogConfig type="CB" caption="CPU Idle Operation">
					<selection name="continueOnIdle" value="Continue"></selection>
					<selection name="stopOnIdle" value="Stop"></selection>
				</dialogConfig>
				<userAction name="stopOnIdle">
					<claimResource type="register" registerField="PSIDL" value="1"></claimResource>
				</userAction>
				<userAction name="continueOnIdle">
					<claimResource type="register" registerField="PSIDL" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="operatingMode">
				<dialogConfig type="CB" caption="Operating Mode">
					<selection name="masterMode1" value="Master mode 1"></selection>
					<selection name="masterMode2" value="Master mode 2"></selection>
					<selection name="enhancedPSP" value="Enhanced PSP, Control Signals"></selection>
					<selection name="legacyPSP" value="Legacy Parallel Slave Port, control signals"></selection>
				</dialogConfig>
				<userAction name="masterMode1">
					<claimResource type="register" registerField="MODE" value="11"></claimResource>
				</userAction>
				<userAction name="masterMode2">
					<claimResource type="register" registerField="MODE" value="10"></claimResource>
				</userAction>
				<userAction name="enhancedPSP">
					<claimResource type="register" registerField="MODE" value="01"></claimResource>
				</userAction>
				<userAction name="legacyPSP">
					<claimResource type="register" registerField="MODE" value="00"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="interruptSettings" caption="Interrupt Settings">
		<userControlSubGroup name="none" caption="none">
			<userControl name="interruptReqMode">
				<dialogConfig type="CB" caption="Interrupt Request Mode">
					<selection name="interruptOnRW3" value="Interrupt on buffer 3 read/write"></selection>
					<selection name="noInterruptActive" value="No interrupt/processor active"></selection>
					<selection name="interruptOnRWend" value="Interrupt on end of read/write"></selection>
					<selection name="noInterrupt" value="No interrupt"></selection>
				</dialogConfig>
				<userAction name="interruptOnRW3">
					<claimResource type="register" registerField="IRQM" value="11"></claimResource>
					<claimResource type="register" registerField="PMPIE" value="1"></claimResource>
				</userAction>
				<userAction name="noInterruptActive">
					<claimResource type="register" registerField="IRQM" value="10"></claimResource>
					<claimResource type="register" registerField="PMPIE" value="0"></claimResource>
				</userAction>
				<userAction name="interruptOnRWend">
					<claimResource type="register" registerField="IRQM" value="01"></claimResource>
					<claimResource type="register" registerField="PMPIE" value="1"></claimResource>
				</userAction>
				<userAction name="noInterrupt">
					<claimResource type="register" registerField="IRQM" value="00"></claimResource>
					<claimResource type="register" registerField="PMPIE" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="interruptPriority" priorityForInt="PMP">
				<dialogConfig type="CB" range="7" caption="Interrupt Priority">
					<selection name="PriorityLevelTo%index%" value="%index%" />
				</dialogConfig>
				<userAction>
					<claimResource type="register" registerField="PMPIP" method="priorityLevel3Bit" />
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="operationalSettings" caption="Operational Settings">
		<userControlSubGroup name="addressData" caption="Address/Data">
			<userControl name="dataBits">
				<dialogConfig type="CB" caption="Data Bits">
					<selection name="16bits" value="16 Bits"></selection>
					<selection name="8bits" value="8 Bits"></selection>
				</dialogConfig>
				<userAction name="16bits">
					<claimResource type="register" registerField="PMPMODE16" value="1"></claimResource>
				</userAction>
				<userAction name="8bits">
					<claimResource type="register" registerField="PMPMODE16" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="addressDataMuxSel">
				<dialogConfig type="CB" caption="Address/Data Multiplexing Selection">
					<selection name="all16Bits" value="All 16 bits of address are multiplexed on PMD(7:0) pins"></selection>
					<selection name="lower8Bits" value="Lower 8 bits of address are multiplexed on PMD(7:0) pins, upper 8 bits are on PMA(15:8)"></selection>
					<selection name="noBits" value="Address and data appear on separate pins"></selection>
				</dialogConfig>
				<userAction name="all16Bits">
					<claimResource type="register" registerField="ADRMUX" value="10"></claimResource>
				</userAction>
				<userAction name="lower8Bits">
					<claimResource type="register" registerField="ADRMUX" value="01"></claimResource>
				</userAction>
				<userAction name="noBits">
					<claimResource type="register" registerField="ADRMUX" value="00"></claimResource>
				</userAction>
			</userControl>
			<userControl name="addressIncrMode">
				<dialogConfig type="CB" caption="Address Increment Mode">
					<selection name="autoIncr" value="PSP auto-increment (Legacy PSP Mode)"></selection>
					<selection name="dcr" value="Decrement address by 1 every read/write cycle"></selection>
					<selection name="incr" value="Increment address by 1 every read/write cycle"></selection>
					<selection name="noAction" value="No increment or decrement of address"></selection>
				</dialogConfig>
				<userAction name="autoIncr">
					<claimResource type="register" registerField="INCM" value="11"></claimResource>
				</userAction>
				<userAction name="dcr">
					<claimResource type="register" registerField="INCM" value="10"></claimResource>
				</userAction>
				<userAction name="incr">
					<claimResource type="register" registerField="INCM" value="01"></claimResource>
				</userAction>
				<userAction name="noAction">
					<claimResource type="register" registerField="INCM" value="00"></claimResource>
				</userAction>
			</userControl>
			<userControl name="destAddress">
				<dialogConfig type="TB" caption="Destication Address"></dialogConfig>
				<userAction>
					<!-- The 'variable' attribute is added newly to accomodate the new requirement of variable value supplied by -->
					<!-- user in configuration dialog. Used as true/false(1/0) -->
					<claimResource type="register" registerField="ADDR" value="0" variable="1"></claimResource>
				</userAction>
			</userControl>
			<userControl name="%indexControl%PortEnable" range="15">
				<dialogConfig type="BoxCK" caption="PMA %indexControl%" />
				<userAction name="enable">
					<claimResource type="register" registerField="PTEN%indexControl%" value="1" />
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="PTEN%indexControl%" value="0" />
				</userAction>
			</userControl>
			<userControl name="inputBuffer">
				<dialogConfig type="CB" caption="Input Buffer">
					<selection name="ttl" value="TTL"></selection>
					<selection name="schmitt" value="Schmitt"></selection>
				</dialogConfig>
				<userAction name="ttl">
					<claimResource type="register" registerField="PMPTTL" value="1"></claimResource>
				</userAction>
				<userAction name="schmitt">
					<claimResource type="register" registerField="PMPTTL" value="0"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
		<userControlSubGroup name="controlSignal" caption="Control Signal">
			<userControl name="chipSelectFn">
				<dialogConfig type="CB" caption="Chip Select Function">
					<selection name="both" value="PMCS1 and PMCS2 function as chip select"></selection>
					<selection name="pmcs2" value="PMCS2 functions as chip select, PMCS1 functions as address bit 14"></selection>
					<selection name="none" value="PMCS1 and PMCS2 function as address bits 15 and 14"></selection>
				</dialogConfig>
				<userAction name="both">
					<claimResource type="register" registerField="INCM" value="10"></claimResource>
				</userAction>
				<userAction name="pmcs2">
					<claimResource type="register" registerField="INCM" value="01"></claimResource>
				</userAction>
				<userAction name="none">
					<claimResource type="register" registerField="INCM" value="00"></claimResource>
				</userAction>
			</userControl>
			<userControl name="enableByteEnablePort">
				<dialogConfig type="CK" caption="Enable Byte Enable Port"></dialogConfig>
				<userAction name="enable">
					<claimResource type="register" registerField="PTBEEN" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="PTBEEN" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="enableWriteEnableStrobePort">
				<dialogConfig type="CK" caption="Enable Write Enable Strobe Port"></dialogConfig>
				<userAction name="enable">
					<claimResource type="register" registerField="PTWREN" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="PTWREN" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="enableReadWriteStrobePort">
				<dialogConfig type="CK" caption="Enable Read/Write Strobe Port"></dialogConfig>
				<userAction name="enable">
					<claimResource type="register" registerField="PTRDEN" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="PTRDEN" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="addressLatchPolarity">
				<dialogConfig type="CB" caption="Address Latch Polarity">
					<selection name="activeHi" value="Active High"></selection>
					<selection name="activeLo" value="Active Low"></selection>
				</dialogConfig>
				<userAction name="activeHi">
					<claimResource type="register" registerField="ALP" value="1"></claimResource>
				</userAction>
				<userAction name="activeLo">
					<claimResource type="register" registerField="ALP" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="chipSelect2Polarity">
				<dialogConfig type="CB" caption="Chip Select 2 Polarity">
					<selection name="activeHi" value="Active High"></selection>
					<selection name="activeLo" value="Active Low"></selection>
				</dialogConfig>
				<userAction name="activeHi">
					<claimResource type="register" registerField="CS2P" value="1"></claimResource>
				</userAction>
				<userAction name="activeLo">
					<claimResource type="register" registerField="CS2P" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="chipSelect1Polarity">
				<dialogConfig type="CB" caption="Chip Select 1 Polarity">
					<selection name="activeHi" value="Active High"></selection>
					<selection name="activeLo" value="Active Low"></selection>
				</dialogConfig>
				<userAction name="activeHi">
					<claimResource type="register" registerField="CS1P" value="1"></claimResource>
				</userAction>
				<userAction name="activeLo">
					<claimResource type="register" registerField="CS1P" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="byteEnablePolarity">
				<dialogConfig type="CB" caption="Byte Enable Polarity">
					<selection name="activeHi" value="Active High"></selection>
					<selection name="activeLo" value="Active Low"></selection>
				</dialogConfig>
				<userAction name="activeHi">
					<claimResource type="register" registerField="BEP" value="1"></claimResource>
				</userAction>
				<userAction name="activeLo">
					<claimResource type="register" registerField="BEP" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="writeStrobePolarity">
				<dialogConfig type="CB" caption="Write Strobe Polarity">
					<selection name="activeHi" value="Active High"></selection>
					<selection name="activeLo" value="Active Low"></selection>
				</dialogConfig>
				<userAction name="activeHi">
					<claimResource type="register" registerField="WRSP" value="1"></claimResource>
				</userAction>
				<userAction name="activeLo">
					<claimResource type="register" registerField="WRSP" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="readStrobePolarity">
				<dialogConfig type="CB" caption="Read Strobe Polarity">
					<selection name="activeHi" value="Active High"></selection>
					<selection name="activeLo" value="Active Low"></selection>
				</dialogConfig>
				<userAction name="activeHi">
					<claimResource type="register" registerField="RDSP" value="1"></claimResource>
				</userAction>
				<userAction name="activeLo">
					<claimResource type="register" registerField="RDSP" value="0"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
		<userControlSubGroup name="waitState" caption="Wait State">
			<userControl name="readwriteWaitStateCnfg">
				<dialogConfig type="CB" caption="Read/Write Wait State Configuration">
					<selection name="for4Tcy" value="Data wait of 4 TCY; multiplexed address phase of 4 TCY"></selection>
					<selection name="for3Tcy" value="Data wait of 3 TCY; multiplexed address phase of 3 TCY"></selection>
					<selection name="for2Tcy" value="Data wait of 2 TCY; multiplexed address phase of 2 TCY"></selection>
					<selection name="for1Tcy" value="Data wait of 1 TCY; multiplexed address phase of 1 TCY"></selection>
				</dialogConfig>
				<userAction name="for4Tcy">
					<claimResource type="register" registerField="WAITB" value="11"></claimResource>
				</userAction>
				<userAction name="for3Tcy">
					<claimResource type="register" registerField="WAITB" value="10"></claimResource>
				</userAction>
				<userAction name="for2Tcy">
					<claimResource type="register" registerField="WAITB" value="01"></claimResource>
				</userAction>
				<userAction name="for1Tcy">
					<claimResource type="register" registerField="WAITB" value="00"></claimResource>
				</userAction>
			</userControl>
			<userControl name="readToBEStribeWaitStateCnfg">
				<dialogConfig type="CB" caption="Read to Byte Enable Strobe Wait State Configuration">
					<selection name="for15Tcy" value="Wait of additional 15 TCY"></selection>
					<selection name="for14Tcy" value="Wait of additional 14 TCY"></selection>
					<selection name="for13Tcy" value="Wait of additional 13 TCY"></selection>
					<selection name="for12Tcy" value="Wait of additional 12 TCY"></selection>
					<selection name="for11Tcy" value="Wait of additional 11 TCY"></selection>
					<selection name="for10Tcy" value="Wait of additional 10 TCY"></selection>
					<selection name="for9Tcy" value="Wait of additional 9 TCY"></selection>
					<selection name="for8Tcy" value="Wait of additional 8 TCY"></selection>
					<selection name="for7Tcy" value="Wait of additional 7 TCY"></selection>
					<selection name="for6Tcy" value="Wait of additional 6 TCY"></selection>
					<selection name="for5Tcy" value="Wait of additional 5 TCY"></selection>
					<selection name="for4Tcy" value="Wait of additional 4 TCY"></selection>
					<selection name="for3Tcy" value="Wait of additional 3 TCY"></selection>
					<selection name="for2Tcy" value="Wait of additional 2 TCY"></selection>
					<selection name="for1Tcy" value="Wait of additional 1 TCY"></selection>
					<selection name="for0Tcy" value="No additional wait cycles"></selection>
				</dialogConfig>
				<userAction name="for15Tcy">
					<claimResource type="register" registerField="WAITM" value="1111"></claimResource>
				</userAction>
				<userAction name="for14Tcy">
					<claimResource type="register" registerField="WAITM" value="1110"></claimResource>
				</userAction>
				<userAction name="for13Tcy">
					<claimResource type="register" registerField="WAITM" value="1101"></claimResource>
				</userAction>
				<userAction name="for12Tcy">
					<claimResource type="register" registerField="WAITM" value="1100"></claimResource>
				</userAction>
				<userAction name="for11Tcy">
					<claimResource type="register" registerField="WAITM" value="1011"></claimResource>
				</userAction>
				<userAction name="for104Tcy">
					<claimResource type="register" registerField="WAITM" value="1010"></claimResource>
				</userAction>
				<userAction name="for9Tcy">
					<claimResource type="register" registerField="WAITM" value="1001"></claimResource>
				</userAction>
				<userAction name="for8Tcy">
					<claimResource type="register" registerField="WAITM" value="1000"></claimResource>
				</userAction>
				<userAction name="for7Tcy">
					<claimResource type="register" registerField="WAITM" value="0111"></claimResource>
				</userAction>
				<userAction name="for6Tcy">
					<claimResource type="register" registerField="WAITM" value="0110"></claimResource>
				</userAction>
				<userAction name="for5Tcy">
					<claimResource type="register" registerField="WAITM" value="0101"></claimResource>
				</userAction>
				<userAction name="for4Tcy">
					<claimResource type="register" registerField="WAITM" value="0100"></claimResource>
				</userAction>
				<userAction name="for3Tcy">
					<claimResource type="register" registerField="WAITM" value="0011"></claimResource>
				</userAction>
				<userAction name="for2Tcy">
					<claimResource type="register" registerField="WAITM" value="0010"></claimResource>
				</userAction>
				<userAction name="for1Tcy">
					<claimResource type="register" registerField="WAITM" value="0001"></claimResource>
				</userAction>
				<userAction name="for0Tcy">
					<claimResource type="register" registerField="WAITM" value="0000"></claimResource>
				</userAction>
			</userControl>
			<userControl name="dataHoldAfterStrobeWaitStateCnfg">
				<dialogConfig type="CB" caption="Data Hold After Strobe Wait State Configuration">
					<selection name="for4Tcy" value="wait of 4 TCY"></selection>
					<selection name="for3Tcy" value="wait of 3 TCY"></selection>
					<selection name="for2Tcy" value="wait of 2 TCY"></selection>
					<selection name="for1Tcy" value="wait of 1 TCY"></selection>
				</dialogConfig>
				<userAction name="for4Tcy">
					<claimResource type="register" registerField="WAITE" value="11"></claimResource>
				</userAction>
				<userAction name="for3Tcy">
					<claimResource type="register" registerField="WAITE" value="10"></claimResource>
				</userAction>
				<userAction name="for2Tcy">
					<claimResource type="register" registerField="WAITE" value="01"></claimResource>
				</userAction>
				<userAction name="for1Tcy">
					<claimResource type="register" registerField="WAITE" value="00"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
</featureDefinitions>