// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0
{ name: "main",
  type: "xbar",
  clock_primary: "clk_main_i", // Main clock, used in sockets
  other_clock_list: [ "clk_fixed_i", "clk_spi_host0_i", "clk_spi_host1_i" ] // Secondary clocks used by specific nodes
  reset_primary: "rst_main_ni", // Main reset, used in sockets
  other_reset_list: [ "rst_fixed_ni", "rst_spi_host0_ni", "rst_spi_host1_ni"] // Secondary clocks used by specific nodes

  nodes: [
    { name:  "rv_core_ibex.corei",
      type:  "host",
      clock: "clk_main_i",
      reset: "rst_main_ni",
      pipeline: false

    },
    { name:  "rv_core_ibex.cored",
      type:  "host",
      clock: "clk_main_i",
      reset: "rst_main_ni",
      pipeline: false
    },
    { name:      "rv_dm.sba",
      type:      "host",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "rv_dm.regs",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "rv_dm.rom",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "rom_ctrl.rom",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: true,
      rsp_fifo_pass: false,
    },
    { name:      "rom_ctrl.regs",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline:  false,
    },
    { name:      "peri",
      type:      "device",
      clock:     "clk_fixed_i",
      reset:     "rst_fixed_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "spi_host0",
      type:      "device",
      clock:     "clk_spi_host0_i",
      reset:     "rst_spi_host0_ni",
      pipeline:  false
    },
    { name:      "spi_host1",
      type:      "device",
      clock:     "clk_spi_host1_i",
      reset:     "rst_spi_host1_ni",
      pipeline:  false
    },
    { name:      "flash_ctrl.core",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "flash_ctrl.prim",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "flash_ctrl.mem",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "hmac",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:         "kmac"
      type:         "device"
      clock:        "clk_main_i"
      reset:        "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    }
    { name:      "aes",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "entropy_src",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "csrng",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "edn0",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "edn1",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "rv_plic",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      inst_type: "rv_plic",
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "otbn",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "keymgr",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "rv_core_ibex.cfg",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      req_fifo_pass: false,
      rsp_fifo_pass: false,
    },
    { name:      "sram_ctrl_main.regs",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline: false
    },
    { name:      "sram_ctrl_main.ram",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline: false
    },
  ],
  connections: {
    rv_core_ibex.corei:  ["rom_ctrl.rom", "rv_dm.rom", "sram_ctrl_main.ram", "flash_ctrl.mem"],
    rv_core_ibex.cored:  [
      "rom_ctrl.rom", "rom_ctrl.regs", "rv_dm.rom", "rv_dm.regs",
      "sram_ctrl_main.ram", "peri", "spi_host0", "spi_host1",
      "flash_ctrl.core", "flash_ctrl.prim", "flash_ctrl.mem",
      "aes", "entropy_src", "csrng", "edn0", "edn1", "hmac",
      "rv_plic", "otbn", "keymgr", "kmac", "sram_ctrl_main.regs",
      "rv_core_ibex.cfg"
    ],
    rv_dm.sba: [
      "rv_dm.regs", "rom_ctrl.rom", "rom_ctrl.regs", "peri", "spi_host0", "spi_host1",
      "flash_ctrl.core", "flash_ctrl.prim", "flash_ctrl.mem", "hmac", "kmac",
      "aes", "entropy_src", "csrng", "edn0", "edn1", "rv_plic", "otbn",
      "keymgr", "rv_core_ibex.cfg", "sram_ctrl_main.regs", "sram_ctrl_main.ram",
    ],
  },
}
