<?xml version="1.0"?>
<!-- MSMC CTSET2                                                             -->
<!-- This file defines properties required to support core features in CCS --> 

<?CTOOLS version="1.1.0.0" Copyright="Copyright (c) 2017 Texas Instruments"?>
<AET>
    <JOB_MAJOR_V>1</JOB_MAJOR_V>
    <JOB_MINOR_V>0</JOB_MINOR_V>

<!--*****************************************************************************-->
<!--                       FIRST LEVEL OF FUNCTION LIST                          -->
<!-- This property presents all the supported functions to UBM and has a default -->
<!-- value of L3 Profile Counters. Every time UBM creates a operation and calls      -->
<!-- Operation::GetProperties()this property will be returned.                   -->
<!-- The menu item showed by UBM will be look like:                              -->
<!--                                                                             -->
<!--     Type | L3 Profile Counters         |                                    -->
<!--                                                                             -->
<!-- For different device different set of functions will be listed              -->
<!-- Mapping of The Fields:                                                      -->
<!--    NAME         - IProperty::GetName()                                      -->
<!--    DESCRIPTION  - IProperty::GetDescription()                               -->
<!--    ALLOWEDLIST  - IStringProperty::GetAllowedValues()                       -->
<!-- Other definitions:                                                          -->
<!--    ALLOWEDITEM  - defines an item of allowed values                         -->
<!--    ALLOWED_KEY  - defines the child key when this allowed value is selected -->
<!--    ALLOWED_HALT - defines if the function halts CPU                         -->
<!--    ALLOWED_STRING - allowed string value                                    -->
<!-- Every time a allowed value is selected as the value of StringProperty, the  -->
<!-- CHILDKEY will be changed. The new CHILDKEY will be used to update the child -->
<!-- property of the StringProperty                                              -->
<!--*****************************************************************************-->
    <PROPERTY_STRING>                                           
    <NAME>Type</NAME>                                         
    <DESCRIPTION>Display all the AET functions</DESCRIPTION>    
      <ALLOWEDLIST>
          <ALLOWEDITEM>
            <ALLOWED_KEY>L3 CTSET2 CT</ALLOWED_KEY>
            <ALLOWED_STRING>L3 Profile Counters</ALLOWED_STRING>
          </ALLOWEDITEM>
      </ALLOWEDLIST>
    </PROPERTY_STRING>

<!--=============================================================================-->
<!--                      MSMC CTSET2 Counters                                   -->
<!--=============================================================================-->

<!--=============================================================================-->
<!--                      Not Editable Counter Value                             -->
<!--=============================================================================-->
	<PROPERTY_INTEGER>
	  <NAME>Current Count</NAME>	
 	  <DESCRIPTION>Value of the count</DESCRIPTION>		
	  <KEYITEM>
		  <KEYNAME>L3 CTSET2 CT</KEYNAME>	      <!-- Key of sub property for Count Event -->
		  <KEYNUMBER>5</KEYNUMBER>	
	  </KEYITEM>
  	  <VALUE>0</VALUE>
	  <DISPLAYTYPE>DEC</DISPLAYTYPE>
	  <RANGELO>0</RANGELO>
	  <RANGEHI>0xFFFFFFFFFFFFFFFF</RANGEHI>
	  <EDITABLE>FALSE</EDITABLE>	
	  <ENUMVALUE>0x80070010</ENUMVALUE>
	</PROPERTY_INTEGER>

<!--=============================================================================-->
<!--                      Not Editable Overflow Flag                             -->
<!--=============================================================================-->
    <PROPERTY_STRING>
      <NAME>Overflow</NAME>    
       <DESCRIPTION>Counter Overflow status</DESCRIPTION>        
      <KEYITEM>
		  <KEYNAME>L3 CTSET2 CT</KEYNAME>	      <!-- Key of sub property for Count Event -->
		  <KEYNUMBER>6</KEYNUMBER>	
      </KEYITEM>
      <VALUE>no overflow</VALUE>
      <EDITABLE>FALSE</EDITABLE>    
    </PROPERTY_STRING>

<!--=============================================================================-->
<!--                      Other Editable Optioins                                -->
<!--=============================================================================-->
	<PROPERTY_STRING>
	  <NAME>Counter Size</NAME>	
 	  <DESCRIPTION>The option of setting the size of the counter</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>L3 CTSET2 CT</KEYNAME>	
		  <KEYNUMBER>4</KEYNUMBER>	
	  </KEYITEM>
	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070002</ALLOWED_ENUM>
			<ALLOWED_STRING>32 Bit</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070003</ALLOWED_ENUM>
			<ALLOWED_STRING>64 Bit</ALLOWED_STRING>
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

	<PROPERTY_STRING>
	  <NAME>Event Detection Type</NAME>	
 	  <DESCRIPTION>Edge or level detection. With the Edge type, counter will increment when a rising edge is detected. With the level type, counter will increment every time a clock cycle is seen while the input event signal is high.</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>L3 CTSET2 CT</KEYNAME>	
		  <KEYNUMBER>3</KEYNUMBER>	
	  </KEYITEM>
	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070007</ALLOWED_ENUM>
			<ALLOWED_STRING>Edge</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070008</ALLOWED_ENUM>
			<ALLOWED_STRING>Level</ALLOWED_STRING>
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

	<PROPERTY_STRING>
	  <NAME>SRAM Bank</NAME>	
 	  <DESCRIPTION>Selecting a SRAM bank to count the events from</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>L3 CTSET2 CT</KEYNAME>	
		  <KEYNUMBER>1</KEYNUMBER>	
	  </KEYITEM>
	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80072000</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Bank 0</ALLOWED_STRING>
 	  		<ALLOWED_SAMELEVEL_KEY>SRAM0</ALLOWED_SAMELEVEL_KEY>	
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80072001</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Bank 1</ALLOWED_STRING>
 	  		<ALLOWED_SAMELEVEL_KEY>SRAM1</ALLOWED_SAMELEVEL_KEY>	
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80072002</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Bank 2</ALLOWED_STRING>
 	  		<ALLOWED_SAMELEVEL_KEY>SRAM2</ALLOWED_SAMELEVEL_KEY>	
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80072003</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Bank 3</ALLOWED_STRING>
 	  		<ALLOWED_SAMELEVEL_KEY>SRAM3</ALLOWED_SAMELEVEL_KEY>	
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

	<PROPERTY_STRING>
	  <NAME>Event to Count</NAME>	
 	  <DESCRIPTION>Selecting event input from the selected SRAM bank to count</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>SRAM0</KEYNAME>	
		  <KEYNUMBER>2</KEYNUMBER>	
	  </KEYITEM>
	  <KEYITEM>
		  <KEYNAME>SRAM1</KEYNAME>	
		  <KEYNUMBER>2</KEYNUMBER>	
	  </KEYITEM>
	  <KEYITEM>
		  <KEYNAME>SRAM2</KEYNAME>	
		  <KEYNUMBER>2</KEYNUMBER>	
	  </KEYITEM>
	  <KEYITEM>
		  <KEYNAME>SRAM3</KEYNAME>	
		  <KEYNUMBER>2</KEYNUMBER>	
	  </KEYITEM>

	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071000</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Access</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071001</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Coherent Access</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071002</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Coherent Snoop Filter Miss</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071003</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Coherent Snoop Filter Hit</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071004</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Coherent Targeted Snoop</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071005</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Coherent Broadcast Snoop</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071006</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Non-Coherent Access to Coherent Entry Snoop Filter Hit</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071007</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Snoop Filter Allocation</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071008</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External SF Allocation Required EMIF Read</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071009</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External SF Eviction</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007100A</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External SF Eviction of L3 Dirty Data</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007100B</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External SF Eviction Required Targeted Snoop</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007100C</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External SF Eviction Required Broadcast Snoop</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007100D</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Access Cacheable</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007100E</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Access Hit to Data Cache</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007100F</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External L3 Cache Hit Required Read-Modify-Write</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071010</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM External Access Hazarded with Previous Transaction</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071011</ALLOWED_ENUM>
			<ALLOWED_STRING>Shared SRAM Access</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071012</ALLOWED_ENUM>
			<ALLOWED_STRING>Coherent SRAM Access</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071013</ALLOWED_ENUM>
			<ALLOWED_STRING>Coherent SRAM Access Targeted Snoop</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071014</ALLOWED_ENUM>
			<ALLOWED_STRING>Coherent SRAM Access Broadcast Snoop</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071015</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Access Required Read-Modify-Write</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071016</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Non-Coherent Access to Coherent Snoop Filter Block</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071017</ALLOWED_ENUM>
			<ALLOWED_STRING>SRAM Access Hazarded with Previous Transaction</ALLOWED_STRING>
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

</AET>
