@@ -7,13 +7,14 @@ import freechips.rocketchip.config._
7
7
import freechips .rocketchip .diplomacy ._
8
8
import sifive .blocks .devices .uart ._
9
9
import freechips .rocketchip .subsystem .{BaseSubsystem , PeripheryBus , PeripheryBusKey }
10
+ import freechips .rocketchip .prci ._
10
11
import freechips .rocketchip .tilelink .TLBusWrapper
11
12
import freechips .rocketchip .interrupts .IntInwardNode
12
13
13
14
// dont make the controller here
14
15
// move flowcontrol to shell input??
15
16
case class UARTShellInput ()
16
- case class UARTDesignInput (uartParams : UARTParams , divInit : Int , controlBus : TLBusWrapper , intNode : IntInwardNode )(implicit val p : Parameters )
17
+ case class UARTDesignInput (uartParams : UARTParams , divInit : Int , controlBus : TLBusWrapper , intNode : IntInwardNode , clockNode : ClockGroupBroadcastNode )(implicit val p : Parameters )
17
18
case class UARTOverlayOutput (uart : TLUART )
18
19
case object UARTOverlayKey extends Field [Seq [DesignPlacer [UARTDesignInput , UARTShellInput , UARTOverlayOutput ]]](Nil )
19
20
trait UARTShellPlacer [Shell ] extends ShellPlacer [UARTDesignInput , UARTShellInput , UARTOverlayOutput ]
@@ -37,7 +38,7 @@ abstract class UARTPlacedOverlay(
37
38
38
39
def ioFactory = new ShellUARTPortIO (flowControl)
39
40
40
- val tluart = UART .attach(UARTAttachParams (di.uartParams, di.divInit, di.controlBus, di.intNode))
41
+ val tluart = UART .attach(UARTAttachParams (di.uartParams, di.divInit, di.controlBus, di.intNode, di.clockNode ))
41
42
val tluartSink = tluart.ioNode.makeSink
42
43
val uartSource = BundleBridgeSource (() => new UARTPortIO ())
43
44
val uartSink = shell { uartSource.makeSink }
0 commit comments