<!-- efex_raw_readout -->
<!-- Defines raw calo data Readout registers  -->
<!-- version: 1.5.0     sha: B17D984 -->

<node fwinfo="endpoint;width= 13">	
  <node id="raw_fifo_prog_full_thresh_assert" 		   address="0x0" permission="rw" fwinfo="endpoint; width=0" description="Raw_Data_FIFO prog Full assertion threshold"/>
  <node id="raw_fifo_prog_full_thresh_negate" 		   address="0x1" permission="rw" fwinfo="endpoint; width=0" description="Raw_Data_FIFO prog Full negation threshold"/>
  <node id="bcn_fifo_prog_full_thresh_assert" 		   address="0x2" permission="rw" fwinfo="endpoint; width=0" description="BCN and L1A FIFO prog Full assertion threshold"/>
  <node id="bcn_fifo_prog_full_thresh_negate" 		   address="0x3" permission="rw" fwinfo="endpoint; width=0" description="BCN and L1A FIFO prog Full negation threshold"/>
  <node id="bcn_fifo_raw_rd_data_count"                address="0x4" permission="r"   fwinfo="endpoint;width=0" description="Number of words in BCN and L1A FIFO for RAW Readout"/>
  <node id="link_output_fifo_prog_full_thresh_assert"  address="0x5" permission="rw" fwinfo="endpoint; width=0" description="Link_output_FIFO prog Full assertion threshold"/>
  <node id="link_output_fifo_prog_full_thresh_negate"  address="0x6" permission="rw" fwinfo="endpoint; width=0" description="Link_output_FIFO prog Full negation threshold"/>
  <node id="link_output_fifo_rd_data_count"            address="0x7" permission="r"  fwinfo="endpoint; width=0" description="Number of words to read in Link Output FIFO"/>
  <node id="raw_frame_count" 		                   address="0x8" permission="r"  fwinfo="endpoint; width=0" description="Number of Frames written to Link Output FIFO"/>	
  <node id="raw_fifo_full_thresh_assert" 		       address="0x9" permission="rw" fwinfo="endpoint; width=0" description="Raw_Data_FIFO Full flag assertion threshold"/>
  <node id="raw_fifo_full_thresh_negate" 		       address="0xA" permission="rw" fwinfo="endpoint; width=0" description="Raw_Data_FIFO Full flag negation threshold"/>
  <node id="raw_fifo_data_count" 		               address="0xB" permission="r"  fwinfo="endpoint; width=0" description="Number of words to read in RAW FIFO"/>	
  <node id="raw_busy_thresh_assert"                    address="0xC" permission="rw"  fwinfo="endpoint;width=0" description="RAW BUSY flag assertion threshold"/>
  <node id="raw_busy_thresh_negate"                    address="0xD" permission="rw"  fwinfo="endpoint;width=0" description="RAW BUSY flag negation threshold"/> 


 
  <node id="raw_data_fifo_flags"     address="0x10" permission="r" fwinfo="endpoint; width=0" description="Pulse register inside the readout block" >
    <node id="fifo_raw_data_empty"         mask="0x00000001"  description="FIFO_RAW_Data empty flag" />
    <node id="fifo_raw_data_prog_full"     mask="0x00000002"  description="FIFO_RAW_Data programmable full flag" />
    <node id="fifo_raw_data_full"          mask="0x00000004"  description="FIFO_RAW_Data full flag" />
    <node id="bcn_fifo_empty"              mask="0x00000008"  description="BCN_FIFO_empty flag" />
    <node id="bcn_fifo_prog_full"          mask="0x00000010"  description="BCN_FIFO_prog_full flag" />
    <node id="bcn_fifo_full"               mask="0x00000020"  description="BCN_FIFO_full flag" />
    <node id="link_output_fifo_empty"      mask="0x00000040"  description="Link_output_FIFO_empty flag" />
    <node id="link_output_fifo_prog_full"  mask="0x00000080"  description="Link_output_FIFO_prog_full flag " />
    <node id="link_output_fifo_full"       mask="0x00000100"  description="Link_output_FIFO_full flag" />
	<node id="raw_safe_mode"               mask="0x00000200"  description="Safe Mode flag for RAW readout"/>
	<node id="raw_ready_in"                mask="0x00000400"  description="Ready signal from control FPGA for RAW readout"/>
	<node id="raw_data_busy"               mask="0x00000800"  description="RAW data Busy flag"/>
  </node>
  <node id="spy_mem_wr_addr"	       address="0x11" permission="r"  fwinfo="endpoint; width=0" description="wr address pointer of calo data spy memory"/>
  <node id="raw_wr_addr_offset_reg"    address="0x12" permission="rw" fwinfo="endpoint; width=0" description="Write address offset for RAW data memory" />

  <node id="raw_fsm_monitor"		address="0x13"  permission="r"  fwinfo="endpoint;width=0" description="Monitor RAW Readout state machines">
    <node id="raw_data_dpram_fsm"	mask="0x000000FF"  description="RAW data write to DPRAM FSM"/>
    <node id="raw_data_mux_fsm"     mask="0x0000FF00"  description="RAW data mux PISO FSM"/>
    <node id="raw_data_mgt_fsm"		mask="0x00FF0000"  description="RAW data LO FIFO to MGT FSM"/>
  </node>

<node id="fifo_link_errors" address="0x20" description="Link Error FIFO Ouput" fwinfo="endpoint; width=1"> <!-- width = 1 as there are 2 registers -->
	  <node id="fifo_link_errors_lsb"     address="0x0" permission="r" description="Link Error Flags for Fibres 0 to 31" >
	  </node>

	  <node id="fifo_link_errors_msb"     address="0x1" permission="r" description="Link Error Flags for Fibres 32 to 48" >
		<node id="link_errors"               mask="0x0001FFFF"  description="Link Error Flags for Fibre 32 to 48" />
		<node id="disparity_error"           mask="0x00020000"  description="Disparity Error of 49 fibres" />
		<node id="not_in_table_error"        mask="0x00040000"  description="Not_in_Table Error of 49 fibres" />
		<node id="crc_error"                 mask="0x00080000"  description="CRC Error of 49 fibres" />
		<node id="read_out_on_error"         mask="0x00100000"  description="Read out Fibre data due to error" />
	  </node>
  </node>

  <node id="calo_data_spy_mem"         address="0x1000" size="0x800"  mode="block" description="spy RAM for calorimeter input data" fwinfo="endpoint;width=11"/>
</node >
