0

在 Rocket-chip 中,有一个 RegisterRouter 类可以设置简单的设备compat。这是一个字符串序列。是我如何使用它Seq("sifive","uart0")的一个例子。UART.scala我认为它指的是“兼容性”,并且在 Linux 如何读取设备树方面发挥了一些作用?设置此参数时我应该遵循任何特定格式吗?像Seq("Company name", "device")什么?

代码来自RegisterRouter.scala

val device = new SimpleDevice(devParams.name, devParams.compat) {
    override def describe(resources: ResourceBindings): Description = {
      val Description(name, mapping) = super.describe(resources)
      Description(name, mapping ++ extraResources(resources))
    }
  }

示例使用UART.scala

class UART(busWidthBytes: Int, val c: UARTParams, divisorInit: Int = 0)
                   (implicit p: Parameters)
    extends IORegisterRouter(
      RegisterRouterParams(
        name = "serial",
        compat = Seq("sifive,uart0"),
        base = c.address,
        beatBytes = busWidthBytes),
      new UARTPortIO(c))
4

0 回答 0