X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fscala%2Fdevices%2Fi2c%2FI2CPeriphery.scala;h=d4ad9fe1ebaf1ab3d2507de2cb649c79ca1ad3df;hb=4fcf349adb9e66ea7d8cc5394de5d3e0a2340985;hp=6444a397a9bbd1047383aa17203fb40e0fffbda0;hpb=00086c26e6601fef104623af301caa3facd9b80c;p=sifive-blocks.git diff --git a/src/main/scala/devices/i2c/I2CPeriphery.scala b/src/main/scala/devices/i2c/I2CPeriphery.scala index 6444a39..d4ad9fe 100644 --- a/src/main/scala/devices/i2c/I2CPeriphery.scala +++ b/src/main/scala/devices/i2c/I2CPeriphery.scala @@ -3,18 +3,17 @@ package sifive.blocks.devices.i2c import Chisel._ import freechips.rocketchip.config.Field -import freechips.rocketchip.diplomacy.{LazyModule,LazyMultiIOModuleImp} -import freechips.rocketchip.chip.{HasSystemNetworks} -import freechips.rocketchip.tilelink.TLFragmenter +import freechips.rocketchip.coreplex.{HasPeripheryBus, HasInterruptBus} +import freechips.rocketchip.diplomacy.{LazyModule, LazyModuleImp} case object PeripheryI2CKey extends Field[Seq[I2CParams]] -trait HasPeripheryI2C extends HasSystemNetworks { +trait HasPeripheryI2C extends HasPeripheryBus { val i2cParams = p(PeripheryI2CKey) val i2c = i2cParams map { params => - val i2c = LazyModule(new TLI2C(peripheryBusBytes, params)) - i2c.node := TLFragmenter(peripheryBusBytes, cacheBlockBytes)(peripheryBus.node) - intBus.intnode := i2c.intnode + val i2c = LazyModule(new TLI2C(pbus.beatBytes, params)) + i2c.node := pbus.toVariableWidthSlaves + ibus.fromSync := i2c.intnode i2c } } @@ -23,7 +22,7 @@ trait HasPeripheryI2CBundle { val i2c: Vec[I2CPort] } -trait HasPeripheryI2CModuleImp extends LazyMultiIOModuleImp with HasPeripheryI2CBundle { +trait HasPeripheryI2CModuleImp extends LazyModuleImp with HasPeripheryI2CBundle { val outer: HasPeripheryI2C val i2c = IO(Vec(outer.i2cParams.size, new I2CPort))