<!-- ROD TTC address table -->
<!-- Defines ROD_TTC register block container -->
<!--  -->

<node fwinfo="endpoint;width=5">
        
	<node id="TTC_fifo_control" 		permission="rw"   address="0x0" description="TOB fifo control bits" fwinfo="endpoint;width=0">
		<node id="Busy_enable" 					mask="0x1" description="Enable action on busy threshold exceeded" />
		<node id="Xoff_enable"					mask="0x2" description="Enable action on xoff threshold exceeded" />
		</node>	
		
	<node id="TTC_reset"  				permission="w"  address="0x1" description="Backplane Control register" fwinfo="endpoint;width=0">
			<node id="TTC_FIFO_reset"  			mask="0x1" description="Clear the TTC FIFO"/>
			<node id="TTC_watermark_reset"  	mask="0x2" description="Clear the TTC FIFO"/>
			<node id="TTC_error_reset"  		mask="0x4" description="Clear the TTC Error Counters"/>
			<node id="CTTC_link_reset" 			mask="0x10" description="CTTC MGT Soft Reset"/>
<!--			<node id="Hub_link_reset" 		mask="0x20" description="Hub GT Reset - not implemented"/>  -->
			<node id="event_count_reset"       	mask="0x100" description="reset event counter"/>
			<node id="total_event_count_reset" 	mask="0x200" description="reset the physics run event counter"/>
			<node id="orbit_count_reset"      	mask="0x400" description="reset the orbit counter"/>
			</node>	
		
	<node id="TTC_fifo_status" 			permission="r"   address="0x2" description="TOB fifo status bits" fwinfo="endpoint;width=0">
		<node id="TTC_fifo_overrun" 			mask="0x1" description="TTC	fifo is currently overrun" />
		<node id="TTC_fifo_busy"				mask="0x2" description="TTC fifo level is currently above the busy threshold" />
		<node id="TTC_fifo_xoff"				mask="0x4" description="TTC fifo level is currently above the xoff threshold" />
		</node>	
		
	<node id="TTC_fifo_fill_level"  	permission="r"  address="0x3" description="TTC fifo current fill level" fwinfo="endpoint;width=0">
		<node id="TTC_fifo_watermark"   		mask="0xFFFF0000" description="TTC fill watermark"/>
		<node id="TTC_fifo_fill"  				mask="0x0000FFFF" description="real time fill level"/>
		</node>	
	
	
	<node id="TTC_fifo_busy_Count"  	permission="r"  address="0x4" description="TTC FIFO Busy Threshold Exceeded Counter" fwinfo="endpoint;width=0"/>
		
		
		
	<node id="Felix_backpressure"  		permission="r"  address="0x5" description="Current status of Felix Back-Pressure" fwinfo="endpoint;width=0">
		<node id="ttc_felix_backpressure"  		mask="0xfff" description="back pressure status bits"/>
		</node>
	
	<node id="TTC_fifo_busy_threshold"  permission="rw"  address="0x6" description="Tob Fifo Busy Threshold for all channels" fwinfo="endpoint;width=0">
		<node id="ttc_threshold"  				mask="0xfff" description="16-bit threshold"/>
		</node>
		
	
	<node id="TTC_L1ID"  				permission="r"  address="0x7" description="L1ID captured on last L1A" fwinfo="endpoint;width=0">
		</node>	
		
	<node id="orbit"  					permission="r"  address="0x8" description="orbit" fwinfo="endpoint;width=0">
		<node id="orbit"  						mask="0x0000ffff" description="orbit"/>
		</node>
	
	<node id="TTC_BCN"  				permission="r"  address="0x9" description="BCN count" fwinfo="endpoint;width=0">
		<node id="BCN_Value"  					mask="0x00000fff" description="BCN count"/>
		</node>	
		
	<node id="BCN_adjust"  				permission="rw"  address="0xA" description="Tob Fifo Busy Threshold for all channels" fwinfo="endpoint;width=0">
		<node id="adjustment"  					mask="0xfff" description="12-bit number added to BCN"/>
		</node>	

	
	<node id="CTTC_LINK_STAT"  			permission="r"  address="0xB" description="Status of the Combined_TTC MGT" fwinfo="endpoint;width=0">
		<node id="TTC_rxfsmresetdone" 	    	mask="0x1" description="normally '1' TTC FSM_Reset_Done_Flag" />
		<node id="TTC_rxresetdone" 	    		mask="0x2" description="normally '1' TTC TX_Reset_Done_Flag" />
		<node id="TTC_cpllfbclklost" 	    	mask="0x4" description="normally '0' TTC cpll fb clk lost" />	
		<node id="TTC_cplllock" 	    		mask="0x8" description="normally '1' TTC cpll lock" />	
		<node id="TTC_cpllrefclklost" 	    	mask="0x10" description="normally '0' TTC cpll ref clk lost" />
		<node id="TTC_cplllocklost"    		    mask="0x20" description="normally '0' TTC cpll lock was lost at some point - sticky bit" />	
		<node id="not_in_table_error_count"		mask="0x0000FF00" description="number of 8b10b errors encountered" />
		<node id="disp_error_count"				mask="0x00FF0000" description="number of disparity errors encountered" />
		<node id="crc_error_count"				mask="0xFF000000" description="number of crc errors encountered" />
		</node>	
			
	<node id="TTC_Control"  			permission="rw"  address="0xC" description="TTC Control register" fwinfo="endpoint;width=0">			
		<node id="TTC_L1ID_ignore"  			mask="0x1" description="Do not check incoming header L1ID against TTC L1ID"/>
		<node id="TTC_CRC_ignore"   			mask="0x2" description="Do not check incoming CTTC CRC value"/>
		<node id="event_sel"        			mask="0x30" description="Accept TTC events by slot and L1ID(0)  00:slot=L1ID, 01:slot|=L1ID, 10: accept none, 11:accept all"/>
		</node>
<!--	event_sel
         00:  Accept events where L1ID(0) = Slot number
 		 01:  Accept events where L1ID(0) = not Slot number
		 10:  Accept no events
		 11:  Accept all events 
		 -->			
		
<!--       </node >  -->
    <node id="Packet_Header_Info"  		permission="rw"  address="0xD" description="Outgoing header fields and deset selection" fwinfo="endpoint;width=0">
		<node id="Type"     					mask="0x0000f" description="4-bit type field"/>
		<node id="Sequence"  					mask="0x0fff0" description="12-bit sequence field"/>
		<node id="DSET_sel"  					mask="0xf0000" description="Select DSET output fibre (default 0x0 is bulk0, 1: bulk1, 2: bulk2)"/>
		</node>
   
	<node id="event_count"  			permission="r"  address="0xE" description="event count (reset by ECR or ttc_reset_reg)" fwinfo="endpoint;width=0">
		</node>
   
	<node id="total_event_count"  		permission="r"  address="0xF" description="total event count for the run (not reset by ECR)" fwinfo="endpoint;width=0">
		</node>
		
	<node id="total_event_count_msb"  	permission="r"  address="0x10" description="most significant bits of the total event count for the run (not reset by ECR)" fwinfo="endpoint;width=0">
		<node id="total_event_count_msb"  		mask="0x0000000f" description="most significant bits of the total event count for the run (not reset by ECR)"/>
		</node>	
 

 
 <!--  TTC vs Locally generated L1ID and ECRID -->

 
	<node id="L1id_Continuity_Capture_Control"  permission="w"  address="0x11" description="Controls the L1ID continuity checker" fwinfo="endpoint;width=0">
		<node id="Arm"     					mask="0x00000001" description="Arm the L1ID mismatch capture mechanism"/>
		<node id="Clear"  					mask="0x00000002" description="Clear the L1ID mismatch capture mechanism"/>
		<node id="Clear_local_L1id"  		mask="0x00000010" description="Clear the local L1ID counter - potentially triggering error"/>
		<node id="Clear_local_ECRid"  		mask="0x00000020" description="Clear the local ECRID counter - potentially triggering error"/>
		</node>
		
	<node id="L1ID_Capture_Status"  permission="r" address="0x12"  description="L1ID TTC vs Local Count Mismatch Status" fwinfo="endpoint;width=0">
		<node id="Armed"        mask="0x00000001"  description="Armed and waiting for an L1ID mismatch - within timeout period" />
		<node id="Triggered"    mask="0x00000002"  description="A mismatch has occured" />	
		</node>
		
	<node id="Local_Counter_Miss"  permission="r" address="0x13"  description="Mismatched L1ID captured from local counter" fwinfo="endpoint;width=0">
		<node id="L1id"         mask="0x00FFFFFF"  description="L1ID number" />
		<node id="ECRid"        mask="0xFF000000"  description="ECRID" />
		</node>  

	<node id="TTC_Miss"  permission="r" address="0x14"  description="Mismatched L1ID captured from TTC" fwinfo="endpoint;width=0">
		<node id="L1id"         mask="0x00FFFFFF"  description="L1ID number" />
		<node id="ECRid"        mask="0xFF000000"  description="ECRID" />
		</node>  

	<node id="Mismatch_error_count"  	permission="r"  address="0x15" description="TTC vs Local L1ID mismatch counter" fwinfo="endpoint;width=0">
		</node>

	<node id="Timeout_Threshold"  		permission="rw"  address="0x16" description="checker/error timeout period in 160MHz clocks" fwinfo="endpoint;width=0">
		</node>	
		
	<node id="Duplicate_L1id_count"  	permission="r"  address="0x17" description="Increments if two consecutive events have the same L1ID" fwinfo="endpoint;width=0">
		</node>	

</node>
