1 // 2 // Copyright (c) 2010-2021 Antmicro 3 // 4 // This file is licensed under the MIT License. 5 // Full license text is available in 'licenses/MIT.txt'. 6 // 7 8 using Antmicro.Renode.Core; 9 using Antmicro.Renode.Core.Structure.Registers; 10 11 namespace Antmicro.Renode.Peripherals.Miscellaneous 12 { 13 public class LiteX_SoC_Controller_CSR32 : BasicDoubleWordPeripheral, IKnownSize 14 { LiteX_SoC_Controller_CSR32(IMachine machine)15 public LiteX_SoC_Controller_CSR32(IMachine machine) : base(machine) 16 { 17 DefineRegisters(); 18 } 19 20 public long Size => 0xC; 21 DefineRegisters()22 private void DefineRegisters() 23 { 24 Registers.Reset.Define(this) 25 .WithTag("reset", 0, 1) 26 .WithReservedBits(1, 31) 27 ; 28 29 Registers.Scratch.Define(this, 0x12345678) 30 .WithValueField(0, 32, name: "scratch") 31 ; 32 33 Registers.BusErrors.Define(this) 34 .WithTag("bus errors", 0, 32) 35 ; 36 } 37 38 private enum Registers 39 { 40 Reset = 0x0, 41 Scratch = 0x4, 42 BusErrors = 0x8, 43 } 44 } 45 } 46