##############################################################################
## 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

AxiVersion: &AxiVersion 
  class: MMIODev
  configPrio: 1
  description: AXI-Lite Version Module
  size: 0x1000
  children:
    #########################################################
    FpgaVersion:
      at:
        offset: 0x000 
      class: IntField
      mode: RO
      description: FPGA Firmware Version Number 
    #########################################################
    ScratchPad:
      at:
        offset: 0x004
      class: IntField
      mode: RW
      description: Register to test reads and writes
    #########################################################
    UpTimeCnt:
      at:
        offset: 0x008
      class: IntField
      mode: RO
      description: Number of seconds since last reset
    #########################################################
    FpgaReloadHalt:
      at:
        offset: 0x100
      class: IntField
      mode: RW
      sizeBits: 1
      description: Used to halt automatic reloads via AxiVersion
    #########################################################
    FpgaReload:
      at:
        offset: 0x104
      class: IntField
      mode: RW
      sizeBits: 1
      description: Optional Reload the FPGA from the attached PROM
    #########################################################
    FpgaReloadAddress:
      at:
        offset: 0x108
      class: IntField
      mode: RW
      description: Reload start address
    #########################################################
    MasterReset:
      at:
        offset: 0x10C
      class: IntField
      mode: WO
      sizeBits: 1
      description: Optional User Reset 
    #########################################################
    FdSerial:
      at:
        offset: 0x300
      class: IntField
      sizeBits: 64
      mode: RO
      description: Board ID value read from DS2411 chip
    #########################################################
    UserConstants:
      at:
        offset: 0x400
        nelms: 64
      class: IntField
      mode: RO
      description: Optional user input values 
    #########################################################
    DeviceId:
      at:
        offset: 0x500
      class: IntField
      sizeBits: 32
      mode: RO
      description: Device Identification  (configued by generic)      
    #########################################################
    GitHash:
      at:
        offset: 0x600
      class: IntField
      sizeBits: 160
      mode: RO
      description: GIT SHA-1 Hash       
    #########################################################
    DeviceDna:
      at:
        offset: 0x700
      class: IntField
      sizeBits: 128
      mode: RO
      description: Xilinx Device DNA value burned into FPGA
    #########################################################
    BuildStamp:
      at:
        offset: 0x800
        nelms: 64
      class: IntField
      sizeBits: 8
      mode: RO
      description: Firmware Build String
    #########################################################
