// 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:         "kmac"
      type:         "device"
      clock:        "clk_main_i"
      rset:         "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", "kmac"],
    dm_sba: ["rom",              "ram_main", "eflash", "peri", "flash_ctrl",
    "aes", "hmac", "rv_plic", "pinmux", "padctrl", "alert_handler", "nmi_gen", "otbn", "kmac"],
  },
}
