|
| 1 | +/* Copyright lowRISC contributors. |
| 2 | +* Licensed under the Apache License, Version 2.0; see LICENSE for details. |
| 3 | +* SPDX-License-Identifier: Apache-2.0 |
| 4 | +*/ |
| 5 | + |
| 6 | +`include "udp.rdl" |
| 7 | +`include "sonata_udp.rdl" |
| 8 | +`include "../rtl/ip/system_info/data/system_info.rdl" |
| 9 | +`include "../rtl/ip/spi/data/spi.rdl" |
| 10 | +`include "../rtl/ip/rgbled_ctrl/data/rgbled_ctrl.rdl" |
| 11 | +`include "../rtl/ip/pwm/data/pwm.rdl" |
| 12 | +`include "../rtl/ip/gpio/data/gpio.rdl" |
| 13 | +`include "../rtl/ip/usbdev/data/usbdev.rdl" |
| 14 | +`include "../rtl/ip/i2c/data/i2c.rdl" |
| 15 | +`include "../rtl/ip/uart/data/uart.rdl" |
| 16 | +`include "../rtl/ip/xadc/data/xadc.rdl" |
| 17 | +`include "../rtl/ip/rev_ctl/data/rev_ctl.rdl" |
| 18 | +`include "../rtl/system/data/rv_plic.rdl" |
| 19 | +`include "../rtl/system/data/pinmux.rdl" |
| 20 | +`include "../rtl/system/data/rv_timer.rdl" |
| 21 | + |
| 22 | +addrmap top_sonata { |
| 23 | + external mem sram { |
| 24 | + mementries = 0x20000; memwidth=8; |
| 25 | + clk_input = '{ "clk_sys_i" }; |
| 26 | + rst_input = '{ "rst_sys_ni" }; |
| 27 | + } SRAM @ 0x00100000; |
| 28 | + |
| 29 | + external mem hyperram { |
| 30 | + mementries = 0x100000; memwidth=8; |
| 31 | + clk_input = '{ "clk_sys_i" }; |
| 32 | + rst_input = '{ "rst_sys_ni" }; |
| 33 | + } HYPERRAM @ 0x40000000; |
| 34 | + |
| 35 | + external mem rev_tag { |
| 36 | + mementries = 0x800; memwidth=8; |
| 37 | + clk_input = '{ "clk_sys_i" }; |
| 38 | + rst_input = '{ "rst_sys_ni" }; |
| 39 | + } REV_TAG @ 0x30000000; |
| 40 | + |
| 41 | + gpio GPIO[6] @ 0x80000000 += 0x40; |
| 42 | + |
| 43 | + pwm PWM[1] @ 0x80001000 += 0x1000; |
| 44 | + |
| 45 | + pinmux PINMUX @ 0x80005000; |
| 46 | + |
| 47 | + rgbled_ctrl RGBLED_CTRL @ 0x80009000; |
| 48 | + |
| 49 | + rev_ctl HW_REV @ 0x8000A000; |
| 50 | + |
| 51 | + xadc XADC @ 0x8000B000; |
| 52 | + |
| 53 | + system_info SYSTEM_INFO @ 0x8000C000; |
| 54 | + |
| 55 | + rv_timer TIMER @ 0x80040000; |
| 56 | + |
| 57 | + uart uart[3] @ 0x80100000 += 0x1000; |
| 58 | + |
| 59 | + i2c I2C[2] @ 0x80200000 += 0x1000; |
| 60 | + |
| 61 | + spi SPI_LCD @ 0x80300000; |
| 62 | + |
| 63 | + spi SPI_ETHMAC @ 0x80301000; |
| 64 | + |
| 65 | + spi SPI[3] @ 0x80302000 += 0x1000; |
| 66 | + |
| 67 | + usbdev USBDEV @ 0x80400000; |
| 68 | + |
| 69 | + // This block is overaligned to 0x0800_0000 bytes since OpenTitan RV_PLIC block expects it. |
| 70 | + rv_plic RV_PLIC @ 0x88000000; |
| 71 | + |
| 72 | + external mem dgb_dev { |
| 73 | + mementries = 0x1000; memwidth=8; |
| 74 | + xbar = '{ parameter'{ type_: "bool", name: "pipeline", value: "true" }}; |
| 75 | + clk_input = '{ "clk_sys_i" }; |
| 76 | + rst_input = '{ "rst_sys_ni" }; |
| 77 | + } DBG_DEV @ 0xB0000000; |
| 78 | +}; |
| 79 | + |
0 commit comments