X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmain%2Fscala%2Fip%2Fxilinx%2Fvc707axi_to_pcie_x1%2Fvc707axi_to_pcie_x1.scala;h=7e732f8160e5dfa6823f71cd4442756ad1240792;hb=d973c659eb239d8bb1447ffe9a73df20cdd7bf04;hp=b4fad2127210a05e9cf2a78281ea5e55d2a66582;hpb=062203ae18fc7a25114fb5746f636a0439cc6cec;p=sifive-blocks.git diff --git a/src/main/scala/ip/xilinx/vc707axi_to_pcie_x1/vc707axi_to_pcie_x1.scala b/src/main/scala/ip/xilinx/vc707axi_to_pcie_x1/vc707axi_to_pcie_x1.scala index b4fad21..7e732f8 100644 --- a/src/main/scala/ip/xilinx/vc707axi_to_pcie_x1/vc707axi_to_pcie_x1.scala +++ b/src/main/scala/ip/xilinx/vc707axi_to_pcie_x1/vc707axi_to_pcie_x1.scala @@ -2,11 +2,10 @@ package sifive.blocks.ip.xilinx.vc707axi_to_pcie_x1 import Chisel._ -import config._ -import diplomacy._ -import uncore.axi4._ -import uncore.tilelink2.{IntSourceNode, IntSourcePortSimple} -import junctions._ +import freechips.rocketchip.config._ +import freechips.rocketchip.diplomacy._ +import freechips.rocketchip.amba.axi4._ +import freechips.rocketchip.tilelink.{IntSourceNode, IntSourcePortSimple} // IP VLNV: xilinx.com:customize_ip:vc707pcietoaxi:1.0 // Black Box @@ -181,8 +180,8 @@ class VC707AXIToPCIeX1(implicit p:Parameters) extends LazyModule "device_type" -> Seq(ResourceString("pci")), "interrupt-map-mask" -> Seq(0, 0, 0, 7).flatMap(ofInt), "interrupt-map" -> Seq(1, 2, 3, 4).flatMap(ofMap), - "ranges" -> resources("ranges").map { case Binding(_, ResourceAddress(address, _, _, _)) => - ResourceMapping(address, BigInt(0x02000000) << 64) }, + "ranges" -> resources("ranges").map { case Binding(_, ResourceAddress(address, perms)) => + ResourceMapping(address, BigInt(0x02000000) << 64, perms) }, "interrupt-controller" -> Seq(ResourceMap(labels = Seq(intc), value = Map( "interrupt-controller" -> Nil, "#address-cells" -> ofInt(0), @@ -197,21 +196,21 @@ class VC707AXIToPCIeX1(implicit p:Parameters) extends LazyModule resources = Seq(Resource(device, "ranges")), executable = true, supportsWrite = TransferSizes(1, 256), - supportsRead = TransferSizes(1, 256), - interleavedId = Some(0))), // the Xilinx IP is friendly + supportsRead = TransferSizes(1, 256))), beatBytes = 8))) val control = AXI4SlaveNode(Seq(AXI4SlavePortParameters( slaves = Seq(AXI4SlaveParameters( address = List(AddressSet(0x50000000L, 0x03ffffffL)), - resources = device.reg, + resources = device.reg("control"), supportsWrite = TransferSizes(1, 4), supportsRead = TransferSizes(1, 4), - interleavedId = Some(0))), // no read interleaving b/c AXI-lite + interleavedId = Some(0))), // AXI4-Lite never interleaves responses beatBytes = 4))) val master = AXI4MasterNode(Seq(AXI4MasterPortParameters( masters = Seq(AXI4MasterParameters( + name = "VC707 PCIe", id = IdRange(0, 1), aligned = false)))))