##############################################################################
## This file is part of 'SLAC Firmware Standard Library'.
## 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 'SLAC Firmware Standard Library', 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 AmcGenericAdcDacCtrl.yaml

AmcGenericAdcDacCtrl: &AmcGenericAdcDacCtrl
  name: AmcGenericAdcDacCtrl
  description: Generic ADC/DAC AMC Control Module
  class: MMIODev 
  size: 0x400 
  children:
    #########################################################
    AdcValidCnt:
      at:
        offset: 0x00
        nelms: 4
      class: IntField
      name: AdcValidCnt
      mode: RO
      description: ADC Valid Transistion Counter[3:0]
    #########################################################
    AdcValid:
      at:
        offset: 0x0FC
      class: IntField
      name: AdcValid
      sizeBits: 4
      lsBit: 0
      mode: RO
      description: ADC Valid[3:0]
    #########################################################
    AdcData:
      at:
        offset: 0x100
        stride: 4
        nelms: 4
      class: IntField
      name: AdcData
      sizeBits: 16
      mode: RO
      description: ADC Data[3:0]
    #########################################################
    DacData:
      at:
        offset: 0x110
        stride: 4
        nelms: 2
      class: IntField
      name: DacData
      sizeBits: 16
      mode: RO
      description: DAC Data[3:0]
    #########################################################
    VcoDac:
      at:
        offset: 0x1F8
      class: IntField
      name: VcoDac
      sizeBits: 16
      mode: RO
      description: VCO's DAC Value
    #########################################################
    AmcClkFreq:
      at:
        offset: 0x1FC
      class: IntField
      name: AmcClkFreq
      mode: RO
      description: AMC Clock frequency (in units of Hz)
    #########################################################
    LmkClkSel:
      at:
        offset: 0x200
      class: IntField
      name: LmkClkSel
      sizeBits: 2
      mode: RW
      description: LMK Clock Select
    #########################################################
    LmkRst:
      at:
        offset: 0x204
      class: IntField
      name: LmkRst
      sizeBits: 1
      mode: RW
      description: LMK Reset
    #########################################################
    LmkSync:
      at:
        offset: 0x208
      class: IntField
      name: LmkSync
      sizeBits: 1
      mode: RW
      description: LMK SYNC
    #########################################################
    LmkStatus:
      at:
        offset: 0x20C
      class: IntField
      name: LmkStatus
      sizeBits: 2
      mode: RO
      description: LMK Status
    #########################################################
    LmkMuxSel:
      at:
        offset: 0x214
      class: IntField
      name: LmkMuxSel
      sizeBits: 1
      mode: RW
      description: LMK MUX Select
    #########################################################
    VcoDacSckConfig:
      at:
        offset: 0x220
      class: IntField
      name: VcoDacSckConfig
      sizeBits: 16
      mode: RW
      description: VCO DAC SCK Rate Configuration
    #########################################################
    VcoDacEnable:
      at:
        offset: 0x224
      class: IntField
      name: VcoDacEnable
      sizeBits: 1
      mode: RW
      description: VCO DAC Enable
    #########################################################
    RollOverEn:
      at:
        offset: 0x3F8
      class: IntField
      name: RollOverEn
      sizeBits: 4
      mode: RW
      description: Enable Status counter roll over
    #########################################################
    CntRst:
      at:
        offset: 0x3FC
      class: IntField
      name: CntRst
      sizeBits: 1
      mode: WO
      description: Status counter reset
    #########################################################
