##############################################################################
## This file is part of 'LCLS Timing Core'.
## It is subject to the license terms in the LICENSE.txt file found in the 
## top-level directory of this distribution and at: 
##    https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. :
## No part of 'LCLS Timing Core', including this file, 
## may be copied, modified, propagated, or distributed except according to 
## the terms contained in the LICENSE.txt file.
##############################################################################
#schemaversion 3.0.0
#once EvrV2PulsegenRegs.yaml

EvrV2PulsegenRegs: &EvrV2PulsegenRegs
    #########################################################
    LinkAddr:
      class: IntField
      sizeBits: 16
      mode: RO
      description: Physical link address
      at:
         offset: 0x08
    #########################################################
    GtxDebug:
      class: IntField
      sizeBits: 8
      mode: RO
      description: Debug bits from link
      at:
         offset: 0x0C
    #########################################################
    CountReset:
      class: IntField
      sizeBits: 1
      mode: RW
      description: Counter reset
      at:
         offset: 0x10
    #########################################################
    ModeSel:
      class: IntField
      sizeBits: 1
      mode: RW
      description: Select LCLS-I/LCLS-II Trigger outputs (0/1)
      at:
         offset: 0x14
    #########################################################
    ChannelEnable:
      class: IntField
      sizeBits: 1
      lsBit: 0
      mode: RW
      description: Enable readout channel
      at:
         offset: 0x20
         nelms:  12
         stride: 32
    #########################################################
    ChannelRateSel:
      class: IntField
      sizeBits: 13
      lsBit: 0
      mode: RW
      at:
         offset: 0x24
         nelms:  12
         stride: 32
    #########################################################
    ChannelDestSel:
      class: IntField
      sizeBits: 18
      lsBit: 5
      mode: RW
      description: Channel event destination selection
      at:
         offset: 0x25
         nelms:  12
         stride: 32
    #########################################################
    ChannelEventCnt:
      class: IntField
      sizeBits: 32
      mode: RW
      description: Channel event counts
      at:
         offset: 0x28
         nelms:  12
         stride: 32
    #########################################################
    GlobalEventCnt:
      class: IntField
      sizeBits: 32
      mode: RW
      description: Global Event count
      at:
         offset: 0x1A8
    #########################################################
    TriggerChannel:
      class: IntField
      sizeBits: 4
      mode: RW
      description: Channel used for event selection
      at:
         offset: 0x200
         nelms:  12
         stride: 16
    #########################################################
    TriggerPolarity:
      class: IntField
      sizeBits: 1
      lsBit: 0
      mode: RW
      description: Trigger polarity (0=negative, 1=positive)
      at:
         offset: 0x202
         nelms:  12
         stride: 16
    #########################################################
    TriggerEnable:
      class: IntField
      sizeBits: 1
      lsBit: 7
      mode: RW
      description: Trigger enable
      at:
         offset: 0x203
         nelms:  12
         stride: 16
    #########################################################
    TriggerDelay:
      class: IntField
      sizeBits: 28
      mode: RW
      description: Trigger delay (186MHz clocks)
      at:
         offset: 0x204
         nelms:  12
         stride: 16
    #########################################################
    TriggerWidth:
      class: IntField
      sizeBits: 28
      mode: RW
      description: Trigger width (186MHz clocks)
      at:
         offset: 0x208
         nelms:  12
         stride: 16
    #########################################################
    TriggerFineDelay:
      class: IntField
      sizeBits: 6
      mode: RW
      description: Trigger fine delay (82.2 ps steps)
      at:
         offset: 0x20C
         nelms:  12
         stride: 16
    #########################################################
