X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fdevices%2Fmockaon%2FMockAONWrapper.scala;h=aeacd8352b2244067f814c76f709d57b6baa467d;hb=4cb2f8af17fb390bfd35fbfcadd9c27dba510f24;hp=9062ff72bd38d957ce80a6644838c1ec1f79091a;hpb=fb9dd313741196a062e6a0f6462cf3a2bce710a9;p=sifive-blocks.git diff --git a/src/main/scala/devices/mockaon/MockAONWrapper.scala b/src/main/scala/devices/mockaon/MockAONWrapper.scala index 9062ff7..aeacd83 100644 --- a/src/main/scala/devices/mockaon/MockAONWrapper.scala +++ b/src/main/scala/devices/mockaon/MockAONWrapper.scala @@ -6,25 +6,25 @@ 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.devices.pinctrl.{EnhancedPin} import sifive.blocks.util.{DeglitchShiftRegister, ResetCatchAndSync} /* The wrapper handles the Clock and Reset Generation for The AON block itself, and instantiates real pad controls (aka pull-ups)*/ class MockAONWrapperPMUIO extends Bundle { - val dwakeup_n = new GPIOPin() - val vddpaden = new GPIOPin() + val dwakeup_n = new EnhancedPin() + val vddpaden = new EnhancedPin() } -class MockAONWrapperPadsIO extends Bundle { - val erst_n = new GPIOPin() - val lfextclk = new GPIOPin() +class MockAONWrapperPins extends Bundle { + val erst_n = new EnhancedPin() + val lfextclk = new EnhancedPin() val pmu = new MockAONWrapperPMUIO() } class MockAONWrapperBundle extends Bundle { - val pads = new MockAONWrapperPadsIO() + val pins = new MockAONWrapperPins() val rsts = new MockAONMOffRstIO() } @@ -61,14 +61,14 @@ class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends L } val aon_io = aon.module.io - val pads = io.pads + val pins = io.pins // ----------------------------------------------- // Generation of aonrst // ----------------------------------------------- // ERST - val erst = ~ GPIOInputPinCtrl(pads.erst_n, pue = Bool(true)) + val erst = ~pins.erst_n.inputPin(pue = Bool(true)) aon_io.resetCauses.erst := erst aon_io.resetCauses.wdogrst := aon_io.wdog_rst @@ -94,7 +94,7 @@ class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends L // Note that the actual mux lives inside AON itself. // Therefore, the lfclk which comes out of AON is the // true clock that AON and AONWrapper are running off of. - val lfextclk = GPIOInputPinCtrl(pads.lfextclk, pue=Bool(true)) + val lfextclk = pins.lfextclk.inputPin(pue=Bool(true)) aon_io.lfextclk := lfextclk.asClock // Drive AON's clock and Reset @@ -133,17 +133,17 @@ class MockAONWrapper(w: Int, c: MockAONParams)(implicit p: Parameters) extends L isolation.module.io.iso_in := Bool(true) //-------------------------------------------------- - // PMU <--> pads Interface + // PMU <--> pins Interface //-------------------------------------------------- - val dwakeup_n_async = GPIOInputPinCtrl(pads.pmu.dwakeup_n, pue=Bool(true)) + val dwakeup_n_async = pins.pmu.dwakeup_n.inputPin(pue=Bool(true)) val dwakeup_deglitch = Module (new DeglitchShiftRegister(3)) dwakeup_deglitch.clock := lfclk dwakeup_deglitch.io.d := ~dwakeup_n_async aon.module.io.pmu.dwakeup := dwakeup_deglitch.io.q - GPIOOutputPinCtrl(pads.pmu.vddpaden, aon.module.io.pmu.vddpaden) + pins.pmu.vddpaden.outputPin(aon.module.io.pmu.vddpaden) //-------------------------------------------------- // Connect signals to MOFF