X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fmockaon%2FMockAONWrapper.scala;h=9062ff72bd38d957ce80a6644838c1ec1f79091a;hb=fb9dd313741196a062e6a0f6462cf3a2bce710a9;hp=15d755d7afc5d8fa0337e0e71e8576601fac2a01;hpb=7916ef5249c72a3a84c599d123760f4d716de58a;p=sifive-blocks.git diff --git a/src/main/scala/devices/mockaon/MockAONWrapper.scala b/src/main/scala/devices/mockaon/MockAONWrapper.scala index 15d755d..9062ff7 100644 --- a/src/main/scala/devices/mockaon/MockAONWrapper.scala +++ b/src/main/scala/devices/mockaon/MockAONWrapper.scala @@ -2,12 +2,13 @@ package sifive.blocks.devices.mockaon import Chisel._ -import config._ -import diplomacy._ -import uncore.tilelink2._ +import freechips.rocketchip.config.Parameters +import freechips.rocketchip.diplomacy._ +import freechips.rocketchip.tilelink._ +import freechips.rocketchip.util._ import sifive.blocks.devices.gpio.{GPIOPin, GPIOOutputPinCtrl, GPIOInputPinCtrl} import sifive.blocks.util.{DeglitchShiftRegister, ResetCatchAndSync} -import util._ + /* The wrapper handles the Clock and Reset Generation for The AON block itself, and instantiates real pad controls (aka pull-ups)*/ @@ -27,11 +28,11 @@ class MockAONWrapperBundle extends Bundle { val rsts = new MockAONMOffRstIO() } -class MockAONWrapper(c: MockAONConfig)(implicit val p: Parameters) extends LazyModule { +class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends LazyModule { val node = TLAsyncInputNode() val intnode = IntOutputNode() - val aon = LazyModule (new MockAON(c)(p)) + val aon = LazyModule(new TLMockAON(w, c)) // We only need to isolate the signals // coming from MOFF to AON, @@ -56,6 +57,7 @@ class MockAONWrapper(c: MockAONConfig)(implicit val p: Parameters) extends LazyM val in = node.bundleIn val ip = intnode.bundleOut val rtc = Clock(OUTPUT) + val ndreset = Bool(INPUT) } val aon_io = aon.module.io @@ -99,7 +101,7 @@ class MockAONWrapper(c: MockAONConfig)(implicit val p: Parameters) extends LazyM val lfclk = aon_io.lfclk val aonrst_catch = Module (new ResetCatchAndSync(3)) - aonrst_catch.reset := erst | aon_io.wdog_rst + aonrst_catch.reset := erst | aon_io.wdog_rst | io.ndreset aonrst_catch.clock := lfclk aon.module.reset := aonrst_catch.io.sync_reset