blob: d556c348a8504b5e21290fa23e802abd9979702b [file] [log] [blame]
// 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"],
},
}