// 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" ] // Secondary clocks used by specific nodes
  reset_primary: "rst_main_ni", // Main reset, used in sockets
  other_reset_list: [ "rst_fixed_ni" ] // Secondary clocks used by specific nodes

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

    },
    { name:  "cored",
      type:  "host",
      clock: "clk_main_i",
      reset: "rst_main_ni",
      pipeline: "false"

    },
    { name:  "dm_sba", // DM
      type:  "host",
      clock: "clk_main_i",
      reset: "rst_main_ni",
      pipeline_byp: "false"

    },
    { name:      "rom",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline:  "false",
    },
    { name:      "debug_mem",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline_byp: "false"
    },
    { name:      "ram_main",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline:  "false",
    },
    { name:      "eflash",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline:  "false",
    },
    { name:      "peri",
      type:      "device",
      clock:     "clk_fixed_i",
      reset:     "rst_fixed_ni",
      pipeline_byp: "false"
    },
    { name:      "flash_ctrl",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline_byp: "false"
    },
    { name:      "hmac",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      pipeline_byp: "false"
    },
    { name:      "aes",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      pipeline_byp: "false"
    },
    { name:      "rv_plic",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_main_ni",
      inst_type: "rv_plic",
      addr_range: [{
        base_addr: "0x40090000",
        size_byte: "0x1000",
        }],
      pipeline_byp: "false"
    },
    { name:      "pinmux",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_fixed_ni",
      inst_type: "pinmux",
      addr_range: [{
        base_addr: "0x40070000",
        size_byte: "0x1000",
        }],
      pipeline_byp: "false"
    },
    { name:      "padctrl",
      type:      "device",
      clock:     "clk_main_i",
      reset:     "rst_fixed_ni",
      inst_type: "padctrl",
      addr_range: [{
        base_addr: "0x40160000",
        size_byte: "0x1000",
        }],
      pipeline_byp: "false"
    },
    { name:      "alert_handler",
      type:      "device",
      clock:     "clk_main_i",
      inst_type: "alert_handler",
      pipeline_byp: "false"
    },
    // dummy module to capture the alert handler escalation signals
    // and test them by converting them into IRQs
    { name:      "nmi_gen",
      type:      "device",
      clock:     "clk_main_i",
      inst_type: "nmi_gen",
      pipeline_byp: "false"
    }
    { name:      "otbn",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      pipeline_byp: "false"
    },
    { name:      "keymgr",
      type:      "device",
      clock:     "clk_main_i"
      reset:     "rst_main_ni"
      pipeline_byp: "false"
    },
  ],
  connections: {
    corei:  ["rom", "debug_mem", "ram_main", "eflash"],
    cored:  ["rom", "debug_mem", "ram_main", "eflash", "peri", "flash_ctrl",
    "aes", "hmac", "rv_plic", "pinmux", "padctrl", "alert_handler", "nmi_gen", "otbn", "keymgr"],
    dm_sba: ["rom",              "ram_main", "eflash", "peri", "flash_ctrl",
    "aes", "hmac", "rv_plic", "pinmux", "padctrl", "alert_handler", "nmi_gen", "otbn"],
  },
}
