| // 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: "clk_main_i", // Main clock, used in sockets | |
| clock_connections: { | |
| clk_main_i: "main" | |
| clk_jtag_i: "main" | |
| clk_periph_i: "fixed" | |
| clk_crypt_i: "main" | |
| } | |
| reset: "rst_main_ni" | |
| reset_connections: { | |
| rst_main_ni: "sys" | |
| rst_jtag_ni: "sys" | |
| rst_periph_ni: "sys_fixed" | |
| rst_crypt_ni: "sys" | |
| } | |
| nodes: [ | |
| { name: "ibexif", | |
| type: "host", | |
| clock: "clk_main_i", | |
| reset: "rst_main_ni", | |
| xbar: false | |
| pipeline: "false" | |
| }, | |
| { name: "ibexlsu", | |
| type: "host", | |
| clock: "clk_periph_i", | |
| reset: "rst_periph_ni", | |
| xbar: false | |
| pipeline: "false" | |
| }, | |
| { name: "dm_sba", // DM | |
| type: "host", | |
| clock: "clk_jtag_i", | |
| reset: "rst_jtag_ni", | |
| xbar: false | |
| pipeline_byp: "false" | |
| }, | |
| { name: "rom", | |
| type: "device", | |
| clock: "clk_main_i", | |
| reset: "rst_main_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x00000000", | |
| size_byte: "0x10000", // 64kB | |
| }] | |
| }, | |
| { name: "debug_rom", | |
| type: "device", | |
| clock: "clk_jtag_i", | |
| reset: "rst_jtag_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x10040000", | |
| size_byte: "0x1000" | |
| }] | |
| }, | |
| { name: "sram", | |
| type: "device", | |
| clock: "clk_main_i", | |
| reset: "rst_main_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x10000000", | |
| size_byte: "0x10000", | |
| }] | |
| }, | |
| { name: "flash_ctrl", | |
| type: "device", | |
| // clock is omitted --> use default clock | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x10080000", | |
| size_byte: "0x10000", | |
| }] | |
| }, | |
| { name: "uart0", | |
| type: "device", | |
| clock: "clk_periph_i", | |
| reset: "rst_periph_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x40000000", | |
| size_byte: "0x10000", | |
| }] | |
| }, | |
| { name: "gpio0", | |
| type: "device", | |
| clock: "clk_periph_i", | |
| reset: "rst_periph_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x40010000", | |
| size_byte: "0x10000", | |
| }] | |
| }, | |
| { name: "spi_device", | |
| type: "device", | |
| clock: "clk_periph_i", | |
| reset: "rst_periph_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x40020000", | |
| size_byte: "0x10000", | |
| }] | |
| }, | |
| { name: "spi_host", | |
| type: "device", | |
| clock: "clk_periph_i", | |
| reset: "rst_periph_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x40030000", | |
| size_byte: "0x10000", | |
| }] | |
| }, | |
| { name: "timer0", | |
| type: "device", | |
| clock: "clk_main_i", | |
| reset: "rst_main_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x50000000", | |
| size_byte: "0x1000" | |
| }] | |
| }, | |
| { name: "watchdog", | |
| type: "device", | |
| clock: "clk_main_i", | |
| reset: "rst_main_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x50010000", | |
| size_byte: "0x1000" | |
| }] | |
| }, | |
| { name: "alert_h", | |
| type: "device", | |
| clock: "clk_main_i", | |
| reset: "rst_main_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x50020000", | |
| size_byte: "0x1000" | |
| }] | |
| }, | |
| // Crypto domain : use crypt clock | |
| { name: "aes", | |
| type: "device", | |
| clock: "clk_crypt_i", | |
| reset: "rst_crypt_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x60000000", | |
| size_byte: "0x8000" | |
| }] | |
| }, | |
| { name: "hmac", | |
| type: "device", | |
| clock: "clk_crypt_i", | |
| reset: "rst_crypt_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x60010000", | |
| size_byte: "0x10000" | |
| }] | |
| }, | |
| { name: "keymgr", | |
| type: "device", | |
| clock: "clk_crypt_i", | |
| reset: "rst_crypt_ni", | |
| xbar: false | |
| addr_range: [{ | |
| base_addr: "0x60080000", | |
| size_byte: "0x20000" | |
| }] | |
| }, | |
| ], | |
| connections: { | |
| ibexif: ["rom", "debug_rom", "sram", "flash_ctrl"], | |
| ibexlsu: ["rom", "sram", "flash_ctrl", "uart0", "gpio0", "spi_device", "spi_host", "timer0", | |
| "watchdog", "alert_h", "aes", "hmac", "keymgr"], | |
| dm_sba: ["sram", "flash_ctrl", "uart0", "gpio0", "spi_device", "spi_host", "timer0", | |
| "watchdog", "alert_h", "aes", "hmac", "keymgr"], | |
| }, | |
| } |