From 554865a8a9e6cea526be3c96ca27ee7a5cba2f7f Mon Sep 17 00:00:00 2001 From: luhuadong Date: Sat, 31 Oct 2020 15:40:38 +0800 Subject: [PATCH] [bsp] add spackfun-redv bsp --- bsp/sparkfun-redv/Kconfig | 19 + bsp/sparkfun-redv/Makefile | 7 + bsp/sparkfun-redv/README.md | 164 ++ bsp/sparkfun-redv/SConscript | 18 + bsp/sparkfun-redv/SConstruct | 30 + bsp/sparkfun-redv/applications/SConscript | 18 + bsp/sparkfun-redv/applications/led/led.c | 59 + bsp/sparkfun-redv/applications/led/led.h | 21 + bsp/sparkfun-redv/applications/main.c | 63 + bsp/sparkfun-redv/drivers/SConscript | 14 + bsp/sparkfun-redv/drivers/board.c | 92 ++ bsp/sparkfun-redv/drivers/board.h | 32 + bsp/sparkfun-redv/drivers/drv_usart.c | 125 ++ bsp/sparkfun-redv/drivers/interrupt.c | 158 ++ bsp/sparkfun-redv/drivers/interrupt.h | 37 + bsp/sparkfun-redv/figures/board.jpg | Bin 0 -> 260739 bytes bsp/sparkfun-redv/figures/debug_Config.png | Bin 0 -> 83610 bytes bsp/sparkfun-redv/figures/debug_Debugger.png | Bin 0 -> 94802 bytes .../figures/debug_terminal_msh.png | Bin 0 -> 28948 bytes .../figures/freedomstudio_compile.png | Bin 0 -> 124524 bytes .../figures/import_makefile_project.png | Bin 0 -> 52577 bytes .../figures/import_makefile_project_bsp.png | Bin 0 -> 56743 bytes bsp/sparkfun-redv/freedom-e-sdk/LICENSE | 206 +++ bsp/sparkfun-redv/freedom-e-sdk/README.md | 143 ++ bsp/sparkfun-redv/freedom-e-sdk/SConscript | 20 + .../bsp/drivers/fe300prci/fe300prci_driver.c | 252 ++++ .../bsp/drivers/fe300prci/fe300prci_driver.h | 79 + .../bsp/drivers/plic/plic_driver.c | 127 ++ .../bsp/drivers/plic/plic_driver.h | 51 + .../freedom-e-sdk/bsp/env/coreplexip-arty.h | 102 ++ .../bsp/env/coreplexip-e31-arty/flash.lds | 185 +++ .../bsp/env/coreplexip-e31-arty/init.c | 98 ++ .../bsp/env/coreplexip-e31-arty/openocd.cfg | 31 + .../bsp/env/coreplexip-e31-arty/platform.h | 90 ++ .../env/coreplexip-e31-arty/scratchpad.lds | 161 ++ .../bsp/env/coreplexip-e51-arty/flash.lds | 1 + .../bsp/env/coreplexip-e51-arty/init.c | 1 + .../bsp/env/coreplexip-e51-arty/openocd.cfg | 1 + .../bsp/env/coreplexip-e51-arty/platform.h | 1 + .../env/coreplexip-e51-arty/scratchpad.lds | 1 + .../freedom-e-sdk/bsp/env/encoding.h | 1313 +++++++++++++++++ .../freedom-e-sdk/bsp/env/entry.S | 97 ++ .../bsp/env/freedom-e300-arty/flash.lds | 1 + .../bsp/env/freedom-e300-arty/init.c | 87 ++ .../bsp/env/freedom-e300-arty/openocd.cfg | 30 + .../bsp/env/freedom-e300-arty/platform.h | 124 ++ .../bsp/env/freedom-e300-hifive1/flash.lds | 185 +++ .../bsp/env/freedom-e300-hifive1/init.c | 237 +++ .../bsp/env/freedom-e300-hifive1/openocd.cfg | 34 + .../bsp/env/freedom-e300-hifive1/platform.h | 133 ++ .../freedom-e-sdk/bsp/env/hifive1.h | 81 + .../freedom-e-sdk/bsp/env/start.S | 112 ++ .../freedom-e-sdk/bsp/include/sifive/bits.h | 36 + .../freedom-e-sdk/bsp/include/sifive/const.h | 18 + .../bsp/include/sifive/devices/aon.h | 88 ++ .../bsp/include/sifive/devices/clint.h | 14 + .../bsp/include/sifive/devices/gpio.h | 24 + .../bsp/include/sifive/devices/otp.h | 23 + .../bsp/include/sifive/devices/plic.h | 31 + .../bsp/include/sifive/devices/prci.h | 56 + .../bsp/include/sifive/devices/pwm.h | 37 + .../bsp/include/sifive/devices/spi.h | 80 + .../bsp/include/sifive/devices/uart.h | 27 + .../bsp/include/sifive/sections.h | 17 + .../freedom-e-sdk/bsp/include/sifive/smp.h | 65 + bsp/sparkfun-redv/openocd.cfg | 34 + bsp/sparkfun-redv/openocd.sh | 5 + bsp/sparkfun-redv/rtconfig.h | 154 ++ bsp/sparkfun-redv/rtconfig.py | 70 + 69 files changed, 5620 insertions(+) create mode 100644 bsp/sparkfun-redv/Kconfig create mode 100644 bsp/sparkfun-redv/Makefile create mode 100644 bsp/sparkfun-redv/README.md create mode 100644 bsp/sparkfun-redv/SConscript create mode 100644 bsp/sparkfun-redv/SConstruct create mode 100644 bsp/sparkfun-redv/applications/SConscript create mode 100644 bsp/sparkfun-redv/applications/led/led.c create mode 100644 bsp/sparkfun-redv/applications/led/led.h create mode 100644 bsp/sparkfun-redv/applications/main.c create mode 100644 bsp/sparkfun-redv/drivers/SConscript create mode 100644 bsp/sparkfun-redv/drivers/board.c create mode 100644 bsp/sparkfun-redv/drivers/board.h create mode 100644 bsp/sparkfun-redv/drivers/drv_usart.c create mode 100644 bsp/sparkfun-redv/drivers/interrupt.c create mode 100644 bsp/sparkfun-redv/drivers/interrupt.h create mode 100644 bsp/sparkfun-redv/figures/board.jpg create mode 100644 bsp/sparkfun-redv/figures/debug_Config.png create mode 100644 bsp/sparkfun-redv/figures/debug_Debugger.png create mode 100644 bsp/sparkfun-redv/figures/debug_terminal_msh.png create mode 100644 bsp/sparkfun-redv/figures/freedomstudio_compile.png create mode 100644 bsp/sparkfun-redv/figures/import_makefile_project.png create mode 100644 bsp/sparkfun-redv/figures/import_makefile_project_bsp.png create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/LICENSE create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/README.md create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/SConscript create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.c create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.c create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-arty.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/flash.lds create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/init.c create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/openocd.cfg create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/platform.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/scratchpad.lds create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/flash.lds create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/init.c create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/openocd.cfg create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/platform.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/scratchpad.lds create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/encoding.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/entry.S create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/flash.lds create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/init.c create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/openocd.cfg create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/platform.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/flash.lds create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/init.c create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/openocd.cfg create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/platform.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/hifive1.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/env/start.S create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/bits.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/const.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/aon.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/clint.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/gpio.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/otp.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/plic.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/prci.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/pwm.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/spi.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/uart.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/sections.h create mode 100644 bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/smp.h create mode 100644 bsp/sparkfun-redv/openocd.cfg create mode 100644 bsp/sparkfun-redv/openocd.sh create mode 100644 bsp/sparkfun-redv/rtconfig.h create mode 100644 bsp/sparkfun-redv/rtconfig.py diff --git a/bsp/sparkfun-redv/Kconfig b/bsp/sparkfun-redv/Kconfig new file mode 100644 index 0000000000..ab8d23cfb5 --- /dev/null +++ b/bsp/sparkfun-redv/Kconfig @@ -0,0 +1,19 @@ +mainmenu "RT-Thread Configuration" + +config BSP_DIR + string + option env="BSP_ROOT" + default "." + +config RTT_DIR + string + option env="RTT_ROOT" + default "../.." + +config PKGS_DIR + string + option env="PKGS_ROOT" + default "packages" + +source "$RTT_DIR/Kconfig" +source "$PKGS_DIR/Kconfig" diff --git a/bsp/sparkfun-redv/Makefile b/bsp/sparkfun-redv/Makefile new file mode 100644 index 0000000000..fe67833df4 --- /dev/null +++ b/bsp/sparkfun-redv/Makefile @@ -0,0 +1,7 @@ +scons := python ${SCONS}\scons.py + +all: + @$(scons) + +clean: + @$(scons) -c diff --git a/bsp/sparkfun-redv/README.md b/bsp/sparkfun-redv/README.md new file mode 100644 index 0000000000..c4398383f3 --- /dev/null +++ b/bsp/sparkfun-redv/README.md @@ -0,0 +1,164 @@ +# SparkFun RED-V # + +## 1 简介 + +[SparkFun RED-V](https://www.sparkfun.com/products/15594) 是一款基于 RISC-V 架构的低成本开源开发板,核心 SoC Freedom E310-002 (FE310) 是 SiFive 的 Freedom Everywhere 可定制 SoCs 系列 FE310 的一个升级版本(兼容 HiFive1-rev-b)。最大主频提高了一倍多达到 320MHz,具有 SiFive 的高性能32位 RV32IMAC 核心,性能测试表现很突出,达到了 1.61 DMIPs/MHz,甚至超过了 Arm Cortex-M4 内核。适用于微控制器、嵌入式、物联网和可穿戴应用等领域。 + +![](figures/board.jpg) + +### 1.1 板载资源 + +| 硬件 | 描述 | +| -- | -- | +|Soc| SiFive Freedom E310 (FE310-G002) | +| 内核 | SiFive E31 RISC-V Core | +| 架构 | 32-bit RV32IMAC | +| 主频 | 320+ MHz | +| 性能 | 1.61 DMIPs/MHz, 2.73 Coremark/MHz | +|SRAM| 16KB | +|Flash| 32 Mbit Off-Chip (ISSI SPI Flash) | + +### 1.2 特性 + +- 16KB L1 指令缓存 +- 16KB 数据 SRAM 暂存器 +- 硬件乘/除 +- 调试模块 +- OTP 非易失性存储器 +- 片上振荡器和 PLL 产生灵活的时钟 +- 外围设备,包括 UART,QSPI,PWM 和定时器 +- 多个电源域+低功耗待机模式 + + + +## 2 编译说明 + +### 2.2 下载 Freedom Studio + +[Freedom Studio](https://www.sifive.com/software) 是 SiFive 公司推出的一个集成开发环境,用来编写和调试基于 SiFive 处理器的软件。内嵌了编译好的 RISC-V GCC 工具链、OpenOCD、以及一些示例和文档。 + +特别地,这里以 v2019.08.1 版本进行演示: + +- [FreedomStudio-2019-08-1-lin64](https://static.dev.sifive.com/dev-tools/FreedomStudio/2019.08/FreedomStudio-2019-08-1-lin64.tar.gz) +- [FreedomStudio-2019-08-1-win64](https://static.dev.sifive.com/dev-tools/FreedomStudio/2019.08/FreedomStudio-2019-08-1-win64.zip) +- [FreedomStudio-2019-08-1-mac64](https://static.dev.sifive.com/dev-tools/FreedomStudio/2019.08/FreedomStudio-2019-08-1-mac64.tar.gz) + +将 Freedom Studio 解压到非中文字符且不含空格的目录下,如果是 Windows 系统,还需要打开 `FreedomStudio-2019-08-1-win64\SiFive\Drivers` 文件夹,安装驱动文件。 + +- HiFive1_Driver.exe +- sifive-winusb-utility.exe + +### 2.3 配置工具链 + +工具链的默认位置为 `SiFive/riscv64-unknown-elf-gcc-8.3.0-2019.08.0/bin/` 目录。运行 Env 工具,根据实际情况,输入以下命令设置环境变量: + +```shell +set RTT_EXEC_PATH=工具链的路径 +set path=%path%;工具链的路径 +``` + +例如: + +```shell +set RTT_EXEC_PATH=C:\FreedomStudio-2019-08-1-win64\SiFive\riscv64-unknown-elf-gcc-8.3.0-2019.08.0\bin +set path=%path%;C:\FreedomStudio-2019-08-1-win64\SiFive\riscv64-unknown-elf-gcc-8.3.0-2019.08.0\bin +``` + +### 2.4 从 Env 工具打开 IDE + +在 Env 中使用 cd 命令切换到 FreedomStudio 解压后的目录中,再执行 `FreedomStudio.exe` 文件启动 IDE。例如: + +``` +cd C:\FreedomStudio-2019-08-1-win64 +FreedomStudio.exe +``` + +### 2.5 导入工程 + +点击菜单栏左上角 `File -> Import...`,展开 `C/C++` ,选择 `Existing Code as Makefile Project` ,点击 Next 继续。 + +![](figures/import_makefile_project.png) + +在编辑框中填入 bsp 文件所在目录,选择 `Cross GCC` ,点击 Finish 导入。 + +![](figures/import_makefile_project_bsp.png) + +### 2.6 编译 + +选中要编译的工程,点击左上角的锤子图标开始编译。 + +![build](figures/freedomstudio_compile.png) + +当窗口输出 `Build Finished` ,左侧文件列表出现 `rtthread.elf` 文件时,即为编译成功。 + + + +## 3 烧写及执行 + +### 3.1 配置 Debug 参数 + +使用 type-c usb 数据线连接电脑与开发板。右键列表中的 `rtthread.elf` 文件,选择 `Debug As->1 As JLink launch`。 + +点击 Debugger 选项卡,选择设备名称 `FE310` + +![](figures/debug_Debugger.png) + +点击 Config 选项卡,在 'Target Architecture' 处选择 'riscv:cv32' ,点击 Debug 开始调试。 + +![](figures/debug_Config.png) + +### 3.2 运行结果 + +下载程序之后,连接串口(115200-N-8-1),可以看到 RT-Thread 的输出信息: + +![](./figures/debug_terminal_msh.png) + +可以看到板载的蓝色 LED 灯以 1Hz 频率闪烁,按下 Tab 键可以查看 RT-Thread 内置的命令。 + +``` +msh > +RT-Thread shell commands: +give_me_five - Show the SiFive logo +memcheck - check memory data +memtrace - dump memory trace information +clear - clear the terminal screen +version - show RT-Thread version information +list_thread - list thread +list_sem - list semaphore in system +list_event - list event in system +list_mutex - list mutex in system +list_mailbox - list mail box in system +list_msgqueue - list message queue in system +list_mempool - list memory pool in system +list_timer - list timer in system +list_device - list device in system +help - RT-Thread shell help. +ps - List threads in the system. +free - Show the memory usage in the system. +``` + + + +## 4 驱动支持情况及计划 + +| 驱动 | 支持情况 | 备注 | +| ------ | ---- | :------: | +| UART | 支持 | UART0_RX/TX:GPIO 16/17 | + + + +## 5 联系人信息 + +维护人: +- [luhuadong](https://github.com/luhuadong) + + + +## 6 参考 + +* [RED-V Schematic](https://cdn.sparkfun.com/assets/d/d/1/e/7/RedFive.pdf) +* [RED-V Development Guide](https://learn.sparkfun.com/tutorials/red-v-development-guide) +* [Getting Started with the SparkFun Red-V](https://www.digikey.dk/da/maker/projects/getting-started-with-the-sparkfun-red-v/a28c5ce7d21a452db4aa3f4b94f345f4) +* [Freedom E310-G002 Datasheet](https://cdn.sparkfun.com/assets/5/b/e/6/2/fe310-g002-ds.pdf) +* [Freedom E310-G002 Manual](https://cdn.sparkfun.com/assets/7/f/0/2/7/fe310-g002-manual-v19p05.pdf) +* [Freedom Studio User Manual](https://static.dev.sifive.com/dev-tools/FreedomStudio/2020.06/freedom-studio-manual-4.7.2-2020-06-0.pdf) diff --git a/bsp/sparkfun-redv/SConscript b/bsp/sparkfun-redv/SConscript new file mode 100644 index 0000000000..534ec8eb5a --- /dev/null +++ b/bsp/sparkfun-redv/SConscript @@ -0,0 +1,18 @@ +# for module compiling +import os +Import('RTT_ROOT') +from building import * + +cwd = str(Dir('#')) +src = Glob('*.c') +objs = [] +list = os.listdir(cwd) + +for d in list: + path = os.path.join(cwd, d) + if os.path.isfile(os.path.join(path, 'SConscript')): + objs = objs + SConscript(os.path.join(d, 'SConscript')) + +group = DefineGroup('', src, depend = [''], CPPPATH = []) +#objs += group +Return('objs') diff --git a/bsp/sparkfun-redv/SConstruct b/bsp/sparkfun-redv/SConstruct new file mode 100644 index 0000000000..da359a3016 --- /dev/null +++ b/bsp/sparkfun-redv/SConstruct @@ -0,0 +1,30 @@ +import os +import sys +import rtconfig + +if os.getenv('RTT_ROOT'): + RTT_ROOT = os.getenv('RTT_ROOT') +else: + RTT_ROOT = os.path.normpath(os.getcwd() + '/../..') + +sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')] +from building import * + +TARGET = 'rtthread.' + rtconfig.TARGET_EXT + +env = Environment(tools = ['mingw'], + AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS, + CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS, + AR = rtconfig.AR, ARFLAGS = '-rc', + LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS) +env.PrependENVPath('PATH', rtconfig.EXEC_PATH) +env['ASCOM'] = env['ASPPCOM'] + +Export('RTT_ROOT') +Export('rtconfig') + +# prepare building environment +objs = PrepareBuilding(env, RTT_ROOT) + +# make a building +DoBuilding(TARGET, objs) diff --git a/bsp/sparkfun-redv/applications/SConscript b/bsp/sparkfun-redv/applications/SConscript new file mode 100644 index 0000000000..4dec9dcea5 --- /dev/null +++ b/bsp/sparkfun-redv/applications/SConscript @@ -0,0 +1,18 @@ +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = os.path.join(str(Dir('#')), 'applications') +src = Glob('*.c') +src.append('led/led.c') + +CPPPATH = [cwd, + str(Dir('#')), + os.path.join(str(Dir('#')), 'freedom-e-sdk/bsp/env'), + os.path.join(str(Dir('#')), 'freedom-e-sdk/bsp/env/freedom-e300-hifive1'), + os.path.join(str(Dir('#')), 'freedom-e-sdk/include/sifive/devices'), + os.path.join(cwd, 'led')] + +group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/sparkfun-redv/applications/led/led.c b/bsp/sparkfun-redv/applications/led/led.c new file mode 100644 index 0000000000..849bb51bac --- /dev/null +++ b/bsp/sparkfun-redv/applications/led/led.c @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2006-2020, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-10-28 luhuadong first version + */ + +#include +#include +#include +#include +#include "led.h" + +#define USER_LED_OFFSET 5 + +static void _led_init(rt_uint8_t offset) +{ + GPIO_REG(GPIO_IOF_EN) &= ~(1UL << offset); + + GPIO_REG(GPIO_OUTPUT_EN) |= (1UL << offset); +} + +static void _led_set(rt_uint8_t offset, rt_uint8_t val) +{ + switch (val) + { + case LED_ON: + GPIO_REG(GPIO_OUTPUT_VAL) |= (1UL << offset); + break; + case LED_OFF: + GPIO_REG(GPIO_OUTPUT_VAL) &= ~(1UL << offset); + break; + default: + break; + } +} + +static void _led_toggle(rt_uint8_t offset) +{ + GPIO_REG(GPIO_OUTPUT_VAL) ^= (1UL << offset); +} + +void led_init(void) +{ + _led_init(USER_LED_OFFSET); +} + +void led_set(rt_uint8_t val) +{ + _led_set(USER_LED_OFFSET, val); +} + +void led_toggle(void) +{ + _led_toggle(USER_LED_OFFSET); +} \ No newline at end of file diff --git a/bsp/sparkfun-redv/applications/led/led.h b/bsp/sparkfun-redv/applications/led/led.h new file mode 100644 index 0000000000..5fc3fecb67 --- /dev/null +++ b/bsp/sparkfun-redv/applications/led/led.h @@ -0,0 +1,21 @@ +/* + * Copyright (c) 2006-2020, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-10-28 luhuadong first version + */ + +#ifndef __LED_H__ +#define __LED_H__ + +#define LED_ON 1 +#define LED_OFF 0 + +void led_init(void); +void led_set(rt_uint8_t val); +void led_toggle(void); + +#endif /* __LED_H__ */ diff --git a/bsp/sparkfun-redv/applications/main.c b/bsp/sparkfun-redv/applications/main.c new file mode 100644 index 0000000000..fb2d8947e0 --- /dev/null +++ b/bsp/sparkfun-redv/applications/main.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2006-2020, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2020-10-28 luhuadong first version + */ + +#include +#include "led.h" + +int main(void) +{ + rt_kprintf("Hello, World!\n"); + + led_init(); + + while (1) + { + led_toggle(); + rt_thread_mdelay(500); + } + + return 0; +} + +static void give_me_five(void) +{ + rt_kprintf("\n"); + rt_kprintf("\n"); + rt_kprintf(" SIFIVE, INC.\n"); + rt_kprintf("\n"); + rt_kprintf(" 5555555555555555555555555\n"); + rt_kprintf(" 5555 5555\n"); + rt_kprintf(" 5555 5555\n"); + rt_kprintf(" 5555 5555\n"); + rt_kprintf(" 5555 5555555555555555555555\n"); + rt_kprintf(" 5555 555555555555555555555555\n"); + rt_kprintf(" 5555 5555\n"); + rt_kprintf(" 5555 5555\n"); + rt_kprintf(" 5555 5555\n"); + rt_kprintf(" 5555555555555555555555555555 55555\n"); + rt_kprintf(" 55555 555555555 55555\n"); + rt_kprintf(" 55555 55555 55555\n"); + rt_kprintf(" 55555 5 55555\n"); + rt_kprintf(" 55555 55555\n"); + rt_kprintf(" 55555 55555\n"); + rt_kprintf(" 55555 55555\n"); + rt_kprintf(" 55555 55555\n"); + rt_kprintf(" 55555 55555\n"); + rt_kprintf(" 555555555\n"); + rt_kprintf(" 55555\n"); + rt_kprintf(" 5\n"); + rt_kprintf("\n"); + + rt_kprintf("\n"); + rt_kprintf(" Welcome to SiFive!\n"); +} +#ifdef FINSH_USING_MSH +MSH_CMD_EXPORT(give_me_five, Show the SiFive logo) +#endif \ No newline at end of file diff --git a/bsp/sparkfun-redv/drivers/SConscript b/bsp/sparkfun-redv/drivers/SConscript new file mode 100644 index 0000000000..12828707fb --- /dev/null +++ b/bsp/sparkfun-redv/drivers/SConscript @@ -0,0 +1,14 @@ +Import('RTT_ROOT') +Import('rtconfig') +from building import * + +cwd = os.path.join(str(Dir('#')), 'drivers') + +# add the general drvers. +src = Glob("*.c") + +CPPPATH = [cwd] + +group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) + +Return('group') diff --git a/bsp/sparkfun-redv/drivers/board.c b/bsp/sparkfun-redv/drivers/board.c new file mode 100644 index 0000000000..fab94ce31c --- /dev/null +++ b/bsp/sparkfun-redv/drivers/board.c @@ -0,0 +1,92 @@ +/* + * File : board.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + */ + +#include +#include + +#include +#include +#include +#include + +extern void use_default_clocks(void); +extern void use_pll(int refsel, int bypass, int r, int f, int q); + +#define TICK_COUNT (RTC_FREQ / RT_TICK_PER_SECOND) + +#define MTIME (*((volatile uint64_t *)(CLINT_CTRL_ADDR + CLINT_MTIME))) +#define MTIMECMP (*((volatile uint64_t *)(CLINT_CTRL_ADDR + CLINT_MTIMECMP))) + +/* system tick interrupt */ +void handle_m_time_interrupt() +{ + MTIMECMP = MTIME + TICK_COUNT; + rt_tick_increase(); +} + +/* fixed misaligned bug for qemu */ +void *__wrap_memset(void *s, int c, size_t n) +{ + return rt_memset(s, c, n); +} + +static void rt_hw_clock_init(void) +{ + use_default_clocks(); + use_pll(0, 0, 1, 31, 1); +} + +static void rt_hw_timer_init(void) +{ + MTIMECMP = MTIME + TICK_COUNT; + + /* enable timer interrupt*/ + set_csr(mie, MIP_MTIP); +} + +void rt_hw_board_init(void) +{ + /* initialize the system clock */ + rt_hw_clock_init(); + + /* initialize hardware interrupt */ + rt_hw_interrupt_init(); + + /* initialize timer0 */ + rt_hw_timer_init(); + +#ifdef RT_USING_HEAP + rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); +#endif + +#ifdef RT_USING_COMPONENTS_INIT + rt_components_board_init(); +#endif + +#ifdef RT_USING_CONSOLE + rt_console_set_device(RT_CONSOLE_DEVICE_NAME); +#endif + + return; +} + diff --git a/bsp/sparkfun-redv/drivers/board.h b/bsp/sparkfun-redv/drivers/board.h new file mode 100644 index 0000000000..698f316267 --- /dev/null +++ b/bsp/sparkfun-redv/drivers/board.h @@ -0,0 +1,32 @@ +/* + * File : board.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + */ + +#ifndef __BOARD__ +#define __BOARD__ + +extern void *_end; +extern void *_heap_end; +#define HEAP_BEGIN &_end +#define HEAP_END &_heap_end + +#endif diff --git a/bsp/sparkfun-redv/drivers/drv_usart.c b/bsp/sparkfun-redv/drivers/drv_usart.c new file mode 100644 index 0000000000..6588892ae9 --- /dev/null +++ b/bsp/sparkfun-redv/drivers/drv_usart.c @@ -0,0 +1,125 @@ +/* + * File : drv_usart.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2012, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + */ + +#include + +#include +#include +#include + +static void usart_handler(int vector, void *param) +{ + rt_hw_serial_isr((struct rt_serial_device *)param, RT_SERIAL_EVENT_RX_IND); +} + +static rt_err_t usart_configure(struct rt_serial_device *serial, + struct serial_configure *cfg) +{ + RT_ASSERT(serial != RT_NULL); + RT_ASSERT(cfg != RT_NULL); + + GPIO_REG(GPIO_IOF_SEL) &= ~IOF0_UART0_MASK; + GPIO_REG(GPIO_IOF_EN) |= IOF0_UART0_MASK; + + UART0_REG(UART_REG_DIV) = get_cpu_freq() / cfg->baud_rate - 1; + UART0_REG(UART_REG_TXCTRL) |= UART_TXEN; + UART0_REG(UART_REG_RXCTRL) |= UART_RXEN; + UART0_REG(UART_REG_IE) = UART_IP_RXWM; + + return RT_EOK; +} + +static rt_err_t usart_control(struct rt_serial_device *serial, + int cmd, void *arg) +{ + RT_ASSERT(serial != RT_NULL); + + switch (cmd) + { + case RT_DEVICE_CTRL_CLR_INT: + break; + case RT_DEVICE_CTRL_SET_INT: + break; + } + + return RT_EOK; +} + +static int usart_putc(struct rt_serial_device *serial, char c) +{ + while (UART0_REG(UART_REG_TXFIFO) & 0x80000000) ; + UART0_REG(UART_REG_TXFIFO) = c; + + return 0; +} + +static int usart_getc(struct rt_serial_device *serial) +{ + rt_int32_t val = UART0_REG(UART_REG_RXFIFO); + if (val > 0) + return (rt_uint8_t)val; + else + return -1; +} + +static struct rt_uart_ops ops = +{ + usart_configure, + usart_control, + usart_putc, + usart_getc, +}; + +static struct rt_serial_device serial = +{ + .ops = &ops, + .config.baud_rate = BAUD_RATE_115200, + .config.bit_order = BIT_ORDER_LSB, + .config.data_bits = DATA_BITS_8, + .config.parity = PARITY_NONE, + .config.stop_bits = STOP_BITS_1, + .config.invert = NRZ_NORMAL, + .config.bufsz = RT_SERIAL_RB_BUFSZ, +}; + +int rt_hw_uart_init(void) +{ + rt_hw_serial_register( + &serial, + "dusart", + RT_DEVICE_FLAG_STREAM + | RT_DEVICE_FLAG_RDWR + | RT_DEVICE_FLAG_INT_RX, RT_NULL); + + rt_hw_interrupt_install( + INT_UART0_BASE, + usart_handler, + (void *) & (serial.parent), + "uart interrupt"); + + rt_hw_interrupt_unmask(INT_UART0_BASE); + + return 0; +} +INIT_BOARD_EXPORT(rt_hw_uart_init); + diff --git a/bsp/sparkfun-redv/drivers/interrupt.c b/bsp/sparkfun-redv/drivers/interrupt.c new file mode 100644 index 0000000000..30c5279a62 --- /dev/null +++ b/bsp/sparkfun-redv/drivers/interrupt.c @@ -0,0 +1,158 @@ +/* + * File : interrupt.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2018, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + */ + +#include +#include +#include +#include +#include + +#define MAX_HANDLERS PLIC_NUM_INTERRUPTS + +/* exception and interrupt handler table */ +static struct rt_irq_desc irq_desc[MAX_HANDLERS]; + +static plic_instance_t g_plic; + +/** + * This function will mask a interrupt. + * @param vector the interrupt number + */ +void rt_hw_interrupt_mask(int irq) +{ + PLIC_disable_interrupt(&g_plic, irq); +} + +/** + * This function will un-mask a interrupt. + * @param vector the interrupt number + */ +void rt_hw_interrupt_unmask(int irq) +{ + PLIC_enable_interrupt(&g_plic, irq); + PLIC_set_priority(&g_plic, irq, 1); +} + +rt_isr_handler_t rt_hw_interrupt_handle(rt_uint32_t vector, void *param) +{ + rt_kprintf("UN-handled interrupt %d occurred!!!\n", vector); + return RT_NULL; +} + +void rt_hw_interrupt_init(void) +{ + int idx; + + /* config interrupt vector*/ + asm volatile( + "la t0, trap_entry\n" + "csrw mtvec, t0" + ); + + /* enable global interrupt*/ + PLIC_init(&g_plic, + PLIC_CTRL_ADDR, + PLIC_NUM_INTERRUPTS, + PLIC_NUM_PRIORITIES); + + /* init exceptions table */ + for (idx = 0; idx < MAX_HANDLERS; idx++) + { + rt_hw_interrupt_mask(idx); + irq_desc[idx].handler = (rt_isr_handler_t)rt_hw_interrupt_handle; + irq_desc[idx].param = RT_NULL; +#ifdef RT_USING_INTERRUPT_INFO + rt_snprintf(irq_desc[idx].name, RT_NAME_MAX - 1, "default"); + irq_desc[idx].counter = 0; +#endif + } + + // enable machine external interrupt + set_csr(mie, MIP_MEIP); +} + +rt_uint32_t rt_hw_interrupt_get_active(rt_uint32_t fiq_irq) +{ + return (rt_uint32_t)PLIC_claim_interrupt(&g_plic);; +} + +void rt_hw_interrupt_ack(rt_uint32_t fiq_irq, rt_uint32_t id) +{ + PLIC_complete_interrupt(&g_plic, id); +} + +/** + * This function will install a interrupt service routine to a interrupt. + * @param vector the interrupt number + * @param handler the interrupt service routine to be installed + * @param param the interrupt service function parameter + * @param name the interrupt name + * @return old handler + */ +rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler, + void *param, const char *name) +{ + rt_isr_handler_t old_handler = RT_NULL; + + if(vector < MAX_HANDLERS) + { + old_handler = irq_desc[vector].handler; + if (handler != RT_NULL) + { + irq_desc[vector].handler = (rt_isr_handler_t)handler; + irq_desc[vector].param = param; +#ifdef RT_USING_INTERRUPT_INFO + rt_snprintf(irq_desc[vector].name, RT_NAME_MAX - 1, "%s", name); + irq_desc[vector].counter = 0; +#endif + } + } + + return old_handler; +} + +/** + * This function will be call when external machine-level + * interrupt from PLIC occurred. + */ +void handle_m_ext_interrupt(void) +{ + rt_isr_handler_t isr_func; + rt_uint32_t irq; + void *param; + + /* get irq number */ + irq = rt_hw_interrupt_get_active(0); + + /* get interrupt service routine */ + isr_func = irq_desc[irq].handler; + param = irq_desc[irq].param; + + /* turn to interrupt service routine */ + isr_func(irq, param); + rt_hw_interrupt_ack(0, irq); + +#ifdef RT_USING_INTERRUPT_INFO + irq_desc[irq].counter ++; +#endif +} diff --git a/bsp/sparkfun-redv/drivers/interrupt.h b/bsp/sparkfun-redv/drivers/interrupt.h new file mode 100644 index 0000000000..506634e667 --- /dev/null +++ b/bsp/sparkfun-redv/drivers/interrupt.h @@ -0,0 +1,37 @@ +/* + * File : interrupt.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2018, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + */ + +#ifndef __INTERRUPT_H__ +#define __INTERRUPT_H__ + +#include +void rt_hw_interrupt_mask(int irq); +void rt_hw_interrupt_unmask(int irq); +rt_isr_handler_t rt_hw_interrupt_handle(rt_uint32_t vector, void *param); +void rt_hw_interrupt_init(void); +rt_uint32_t rt_hw_interrupt_get_active(rt_uint32_t fiq_irq); +void rt_hw_interrupt_ack(rt_uint32_t fiq_irq, rt_uint32_t id); +rt_isr_handler_t rt_hw_interrupt_install(int vector, rt_isr_handler_t handler, + void *param, const char *name); + +#endif diff --git a/bsp/sparkfun-redv/figures/board.jpg b/bsp/sparkfun-redv/figures/board.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bec86ffa92dde8bbcce56d184e3b16f020c076e2 GIT binary patch literal 260739 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­!!S0@lsBj3!Gtnv=NUW0ePfoNyO@o+k^6 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⩔{?p3^ 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 z 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�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 L6fb#i^yPm6Kn(gu literal 0 HcmV?d00001 diff --git a/bsp/sparkfun-redv/figures/debug_Debugger.png b/bsp/sparkfun-redv/figures/debug_Debugger.png new file mode 100644 index 0000000000000000000000000000000000000000..f3111c9cddb5b5129054b9e243eaf3b293bfa793 GIT binary patch literal 94802 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

1qWEXv6gpjwv*f$)`;PTo@7D;% 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 literal 0 HcmV?d00001 diff --git a/bsp/sparkfun-redv/figures/debug_terminal_msh.png b/bsp/sparkfun-redv/figures/debug_terminal_msh.png new file mode 100644 index 0000000000000000000000000000000000000000..daee99574e4577cd57987656ecfb845f491fb174 GIT binary patch literal 28948 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ீx&T=l2AAk2Rv7?4>I*J!L z2HUZZS5=o{4J4R|ZF!SinZa5a-MhDcd(Y5(pLRs*Xs6FIxC1BNHry6$g**Iam%Z0R zZKWfD!|nFwVB4opm%a_bQ_v6nZ*`q;)}IG|)o(?a4$IL{FMzla>m`o*Rj~?+Ldy4f(Vv5*#7K8^Va! z7{{FkV*Rt5%9}3&Q`@94STx z93RGwUC{Eo9j?F0sMm+og3M8-v<)RM+vP~euCH=`wzzBm1pb=GH?kn>^8c-uNZ@HI zF~`Cg8r}N6wTtu(nryhS2WPM#e`1O*z1M}Hz#|=!nW+{j7R-cOVnBOzq#kw3t^E10 z8UEXfrR3CEj-0=VbXu(Q zR3*}dcSI9yk4fSt1LdnhW$wMxb&)Gxp90= zZ|ZQf7rqk5>f+i;qDJDXhAA`Bs~2+-@{22o5k&;%c~ZgrDS(?rl*G zLf@eTT*2yz={InF8Y3Qf9bWyazO-`zNVV@;i$b3)D0Vun8?&$;W_5y1GpQ^mA`X7o zzB^KIQvVzyxgKZr(sn*uyTMR$iV0QZ`p*!3YBGcD-^|SLQt7QTW!Q#9I%OtU`Ol9x zCTGpgKP`dTr;Babl`kc>Qo) z{h6cZvfw#WS_U-rU*ogc31C#=zr^RB^8a6arV*)wu5}YQK`%b8gJ}_!IfyVZl-9N3 z-|GnMrT1XWm@Ixr@MTfP=;XNGi`A0Rw=#1)wR)cBMFv}Xdt^{{&5|YA{dQbYU*%(mzoXF<$D4fiA~{s^(daCGum_cYyxOYw;iXu$$!&wQYGQnKyx_MBPqSys80pv zi(lq1Lb&W)%|ViWKzGrjD}c)0Q9(-Hp3T`CDi}y0>00@`?vBI zQMQqzTm+T``HHzKE+ea54!t^$bG1XzhdzZcJ6>V9pz4h@ay*!;s0B&gYlFvy6kw;; zfMb5+z*|uJI8m5$Psbw-PfP9SvM|&M5&4hw@EWv!TqC+Z$zBLd;?&dBju4Q^Deh*zH+U7>ntY^$%ja z5D36u93{qF2b|{q=L>x0|Br56##(seT|?+QSq~{O$#vZ4zFI#)5y|F|%as#LAM2!n z56YBgpi$iw3vhyQMA@0O{`Ux|--c>`we5z^hb3?Pp${bs{|}1S66S0{-#6n%k$=cU z^G3@}Kv11(l_n9t2iqj!SEx;$G7>Q)MbJm@QZ3|a8yaA;m4EW`@~T#A$30eI{_{Tk zIG!m2RO6hVpS#~3eJ&3TMHB;xK!>bla@qT9Hd!bXNhPJs$o~W7w@g9bY{Q}G?d@&9 zrY80tUla;H+UTJeQiNQW^A$xhC={KF6FGu8_NTSb74gMB*V9D4OHNJ}m5^{eTdM0c zFM@&`7h*AA9+Z_u484YL^3^l>-@>jN@!!Y)DFi?ebiU>Ze!{=%hF)vI3@1@ literal 0 HcmV?d00001 diff --git a/bsp/sparkfun-redv/figures/freedomstudio_compile.png b/bsp/sparkfun-redv/figures/freedomstudio_compile.png new file mode 100644 index 0000000000000000000000000000000000000000..da699f8722b682c00728d3b6b7a53d5ecd57e98a GIT binary patch literal 124524 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 literal 0 HcmV?d00001 diff --git a/bsp/sparkfun-redv/figures/import_makefile_project.png b/bsp/sparkfun-redv/figures/import_makefile_project.png new file mode 100644 index 0000000000000000000000000000000000000000..b7fa41166e3e36f89bb68f99a69a87f35ec7236b GIT binary patch literal 52577 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

olhis0Eo_Qj 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 AY5)KL literal 0 HcmV?d00001 diff --git a/bsp/sparkfun-redv/figures/import_makefile_project_bsp.png b/bsp/sparkfun-redv/figures/import_makefile_project_bsp.png new file mode 100644 index 0000000000000000000000000000000000000000..87eae09d4d842430bfd2d39b5854c67ac1b8683a GIT binary patch literal 56743 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 literal 0 HcmV?d00001 diff --git a/bsp/sparkfun-redv/freedom-e-sdk/LICENSE b/bsp/sparkfun-redv/freedom-e-sdk/LICENSE new file mode 100644 index 0000000000..0b0b6c8fc6 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/LICENSE @@ -0,0 +1,206 @@ + +This software, except as otherwise noted in subrepositories, +is licensed under the Apache 2 license, quoted below. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2016 SiFive, Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/bsp/sparkfun-redv/freedom-e-sdk/README.md b/bsp/sparkfun-redv/freedom-e-sdk/README.md new file mode 100644 index 0000000000..ad0cf7af35 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/README.md @@ -0,0 +1,143 @@ +# README # + +This repository, maintained by SiFive, Inc, makes it easy to get started developing software for the Freedom E RISC-V platform. + +### Contents ### + +* RISC-V Software Toolchain +* RISC-V Debugging Toolchain +* Board Support Packages for FE310 and Development Kits +* A Few Example Programs + +### Setting up the SDK ### + +First, clone this repository: + +``` +git clone --recursive https://github.com/sifive/freedom-e-sdk.git +``` + +To see Makefile options: + +``` +cd freedom-e-sdk +make help +``` + +#### Building Tools from Source #### + +Ubuntu packages needed: + + $ sudo apt-get install autoconf automake libmpc-dev libmpfr-dev libgmp-dev gawk bison flex texinfo libtool libusb-1.0-0-dev make g++ pkg-config libexpat1-dev zlib1g-dev + +Next, build the tools: + +``` +cd freedom-e-sdk +make tools [BOARD=freedom-e300-hifive1] +``` + +If your machine has enough resources, you can speed up the build process by adding `-j n` to `make`, where `n` is the number of processors of your build system. + + +#### Using Pre-Built Binary Tools #### + +If you would like to avoid compiling the tools from source, they are +available as pre-built binaries from + +https://sifive.com/products/tools + +For OpenOCD and/or RISC-V GNU Toolchain, +download the .tar.gz for your platform, and unpack it to +your desired location. Then, use the `RISC_PATH` and `RISCV_OPENOCD_PATH` +variables when attempting to use the tools: + +``` +cp openocd--.tar.gz /my/desired/location/ +cp riscv64-unknown-elf-gcc--.tar.gz /my/desired/location +cd /my/desired/location +tar -xvf openocd--.tar.gz +tar -xvf riscv64-unknown-elf-gcc--.tar.gz +export RISCV_OPENOCD_PATH=/my/desired/location/openocd +export RISCV_PATH=/my/desired/location/riscv64-unknown-elf-gcc-- +``` + +### Updating your SDK ### + +If you'd like to update your SDK to the latest version: + +``` +cd freedom-e-sdk +git pull origin master +git submodule update --init --recursive +``` + +If you would like to recompile the entire toolchain after performing the above: + +``` +make uninstall +make tools +``` +### Using the Tools ### + +To compile a bare-metal RISC-V program: + +``` +cd freedom-e-sdk +make software [PROGRAM=demo_gpio] [BOARD=freedom-e300-hifive1] +``` + +Run `make help` for more commands. + +### Benchmarking ### + +#### Dhrystone #### + +After setting up the software and debug toolchains, you can build and +execute everyone's favorite benchmark as follows: + +- Compile the benchmark with the command `make software PROGRAM=dhrystone`. +- Run on the HiFive1 board with the command `make upload PROGRAM=dhrystone`. + This will take a few minutes. Sample output is provided below. +- Compute DMIPS by dividing the Dhrystones per Second result by 1757, which + was the VAX 11/780's performance. In the example below, 729927 / 1757 = + 415 DMIPS. +- Compute DMIPS/MHz by dividing by the clock rate: in the example below, + 415 / 260 = 1.60 DMIPS/MHz. + +``` +core freq at 259830579 Hz + +Dhrystone Benchmark, Version 2.1 (Language: C) + + + +Microseconds for one run through Dhrystone: 1.3 +Dhrystones per Second: 729927.0 +``` + +#### CoreMark #### + +We cannot distribute the CoreMark benchmark, but following are instructions +to download and run the benchmark on the HiFive1 board: + +- Download CoreMark from EEMBC's web site and extract the archive from + http://www.eembc.org/coremark/download.php. +- Copy the following files from the extracted archive into the + `software/coremark` directory in this repository: + - `core_list_join.c` + - `core_main.c` + - `coremark.h` + - `core_matrix.c` + - `core_state.c` + - `core_util.c` +- Compile the benchmark with the command `make software PROGRAM=coremark`. +- Run on the HiFive1 board with the command `make upload PROGRAM=coremark`. +- Divide the reported Iterations/Sec by the reported core frequency in MHz to + obtain a CoreMarks/MHz value. + +### For More Information ### + +Documentation, Forums, and much more available at + +[dev.sifive.com](https://dev.sifive.com) diff --git a/bsp/sparkfun-redv/freedom-e-sdk/SConscript b/bsp/sparkfun-redv/freedom-e-sdk/SConscript new file mode 100644 index 0000000000..b1b8c1332a --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/SConscript @@ -0,0 +1,20 @@ +# RT-Thread building script for component + +Import('rtconfig') +Import('RTT_ROOT') +from building import * + +cwd = GetCurrentDir() +src = [ 'bsp/drivers/plic/plic_driver.c', + 'bsp/env/start.S', + 'bsp/env/freedom-e300-hifive1/init.c'] + +CPPPATH = [ cwd + '/bsp/drivers', cwd + '/bsp/drivers/fe300prci', cwd + '/bsp/drivers/plic', + cwd + '/bsp/env', cwd + '/bsp/env/freedom-e300-hifive1', + cwd + '/bsp/include', cwd + '/bsp/include/sifive', cwd + '/bsp/include/sifive/devices'] + +CPPDEFINES = [] + +group = DefineGroup('Libraries', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES=CPPDEFINES) + +Return('group') diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.c b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.c new file mode 100644 index 0000000000..8eeaafc081 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.c @@ -0,0 +1,252 @@ +// See LICENSE file for license details + +#include "platform.h" + +#ifdef PRCI_CTRL_ADDR +#include "fe300prci/fe300prci_driver.h" +#include + +#define rdmcycle(x) { \ + uint32_t lo, hi, hi2; \ + __asm__ __volatile__ ("1:\n\t" \ + "csrr %0, mcycleh\n\t" \ + "csrr %1, mcycle\n\t" \ + "csrr %2, mcycleh\n\t" \ + "bne %0, %2, 1b\n\t" \ + : "=r" (hi), "=r" (lo), "=r" (hi2)) ; \ + *(x) = lo | ((uint64_t) hi << 32); \ + } + +uint32_t PRCI_measure_mcycle_freq(uint32_t mtime_ticks, uint32_t mtime_freq) +{ + + uint32_t start_mtime = CLINT_REG(CLINT_MTIME); + uint32_t end_mtime = start_mtime + mtime_ticks + 1; + + // Make sure we won't get rollover. + while (end_mtime < start_mtime){ + start_mtime = CLINT_REG(CLINT_MTIME); + end_mtime = start_mtime + mtime_ticks + 1; + } + + // Don't start measuring until mtime edge. + uint32_t tmp = start_mtime; + do { + start_mtime = CLINT_REG(CLINT_MTIME); + } while (start_mtime == tmp); + + uint64_t start_mcycle; + rdmcycle(&start_mcycle); + + while (CLINT_REG(CLINT_MTIME) < end_mtime) ; + + uint64_t end_mcycle; + rdmcycle(&end_mcycle); + uint32_t difference = (uint32_t) (end_mcycle - start_mcycle); + + uint64_t freq = ((uint64_t) difference * mtime_freq) / mtime_ticks; + return (uint32_t) freq & 0xFFFFFFFF; + +} + + +void PRCI_use_hfrosc(int div, int trim) +{ + // Make sure the HFROSC is running at its default setting + // It is OK to change this even if we are running off of it. + + PRCI_REG(PRCI_HFROSCCFG) = (ROSC_DIV(div) | ROSC_TRIM(trim) | ROSC_EN(1)); + + while ((PRCI_REG(PRCI_HFROSCCFG) & ROSC_RDY(1)) == 0); + + PRCI_REG(PRCI_PLLCFG) &= ~PLL_SEL(1); +} + +void PRCI_use_pll(int refsel, int bypass, + int r, int f, int q, int finaldiv, + int hfroscdiv, int hfrosctrim) +{ + // Ensure that we aren't running off the PLL before we mess with it. + if (PRCI_REG(PRCI_PLLCFG) & PLL_SEL(1)) { + // Make sure the HFROSC is running at its default setting + PRCI_use_hfrosc(4, 16); + } + + // Set PLL Source to be HFXOSC if desired. + uint32_t config_value = 0; + + config_value |= PLL_REFSEL(refsel); + + if (bypass) { + // Bypass + config_value |= PLL_BYPASS(1); + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // If we don't have an HFXTAL, this doesn't really matter. + // Set our Final output divide to divide-by-1: + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + } else { + + // To overclock, use the hfrosc + if (hfrosctrim >= 0 && hfroscdiv >= 0) { + PRCI_use_hfrosc(hfroscdiv, hfrosctrim); + } + + // Set DIV Settings for PLL + + // (Legal values of f_REF are 6-48MHz) + + // Set DIVR to divide-by-2 to get 8MHz frequency + // (legal values of f_R are 6-12 MHz) + + config_value |= PLL_BYPASS(1); + config_value |= PLL_R(r); + + // Set DIVF to get 512Mhz frequncy + // There is an implied multiply-by-2, 16Mhz. + // So need to write 32-1 + // (legal values of f_F are 384-768 MHz) + config_value |= PLL_F(f); + + // Set DIVQ to divide-by-2 to get 256 MHz frequency + // (legal values of f_Q are 50-400Mhz) + config_value |= PLL_Q(q); + + // Set our Final output divide to divide-by-1: + if (finaldiv == 1){ + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + } else { + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV(finaldiv-1)); + } + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // Un-Bypass the PLL. + PRCI_REG(PRCI_PLLCFG) &= ~PLL_BYPASS(1); + + // Wait for PLL Lock + // Note that the Lock signal can be glitchy. + // Need to wait 100 us + // RTC is running at 32kHz. + // So wait 4 ticks of RTC. + uint32_t now = CLINT_REG(CLINT_MTIME); + while (CLINT_REG(CLINT_MTIME) - now < 4) ; + + // Now it is safe to check for PLL Lock + while ((PRCI_REG(PRCI_PLLCFG) & PLL_LOCK(1)) == 0); + + } + + // Switch over to PLL Clock source + PRCI_REG(PRCI_PLLCFG) |= PLL_SEL(1); + + // If we're running off HFXOSC, turn off the HFROSC to + // save power. + if (refsel) { + PRCI_REG(PRCI_HFROSCCFG) &= ~ROSC_EN(1); + } + +} + +void PRCI_use_default_clocks() +{ + // Turn off the LFROSC + AON_REG(AON_LFROSC) &= ~ROSC_EN(1); + + // Use HFROSC + PRCI_use_hfrosc(4, 16); +} + +void PRCI_use_hfxosc(uint32_t finaldiv) +{ + + PRCI_use_pll(1, // Use HFXTAL + 1, // Bypass = 1 + 0, // PLL settings don't matter + 0, // PLL settings don't matter + 0, // PLL settings don't matter + finaldiv, + -1, + -1); +} + +// This is a generic function, which +// doesn't span the entire range of HFROSC settings. +// It only adjusts the trim, which can span a hundred MHz or so. +// This function does not check the legality of the PLL settings +// at all, and it is quite possible to configure invalid PLL settings +// this way. +// It returns the actual measured CPU frequency. + +uint32_t PRCI_set_hfrosctrim_for_f_cpu(uint32_t f_cpu, PRCI_freq_target target ) +{ + + uint32_t hfrosctrim = 0; + uint32_t hfroscdiv = 4; + uint32_t prev_trim = 0; + + // In this function we use PLL settings which + // will give us a 32x multiplier from the output + // of the HFROSC source to the output of the + // PLL. We first measure our HFROSC to get the + // right trim, then finally use it as the PLL source. + // We should really check here that the f_cpu + // requested is something in the limit of the PLL. For + // now that is up to the user. + + // This will undershoot for frequencies not divisible by 16. + uint32_t desired_hfrosc_freq = (f_cpu/ 16); + + PRCI_use_hfrosc(hfroscdiv, hfrosctrim); + + // Ignore the first run (for icache reasons) + uint32_t cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ); + + cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ); + uint32_t prev_freq = cpu_freq; + + while ((cpu_freq < desired_hfrosc_freq) && (hfrosctrim < 0x1F)){ + prev_trim = hfrosctrim; + prev_freq = cpu_freq; + hfrosctrim ++; + PRCI_use_hfrosc(hfroscdiv, hfrosctrim); + cpu_freq = PRCI_measure_mcycle_freq(3000, RTC_FREQ); + } + + // We couldn't go low enough + if (prev_freq > desired_hfrosc_freq){ + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ); + return cpu_freq; + } + + // We couldn't go high enough + if (cpu_freq < desired_hfrosc_freq){ + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ); + return cpu_freq; + } + + // Check for over/undershoot + switch(target) { + case(PRCI_FREQ_CLOSEST): + if ((desired_hfrosc_freq - prev_freq) < (cpu_freq - desired_hfrosc_freq)) { + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + } else { + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, hfrosctrim); + } + break; + case(PRCI_FREQ_UNDERSHOOT): + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, prev_trim); + break; + default: + PRCI_use_pll(0, 0, 1, 31, 1, 1, hfroscdiv, hfrosctrim); + } + + cpu_freq = PRCI_measure_mcycle_freq(1000, RTC_FREQ); + return cpu_freq; + +} + +#endif diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.h new file mode 100644 index 0000000000..8cfe152d34 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/fe300prci/fe300prci_driver.h @@ -0,0 +1,79 @@ +// See LICENSE file for license details + +#ifndef _FE300PRCI_DRIVER_H_ +#define _FE300PRCI_DRIVER_H_ + +//__BEGIN_DECLS + +#include + +typedef enum prci_freq_target { + + PRCI_FREQ_OVERSHOOT, + PRCI_FREQ_CLOSEST, + PRCI_FREQ_UNDERSHOOT + +} PRCI_freq_target; + +/* Measure and return the approximate frequency of the + * CPU, as given by measuring the mcycle counter against + * the mtime ticks. + */ +uint32_t PRCI_measure_mcycle_freq(uint32_t mtime_ticks, uint32_t mtime_freq); + +/* Safely switch over to the HFROSC using the given div + * and trim settings. + */ +void PRCI_use_hfrosc(int div, int trim); + +/* Safely switch over to the 16MHz HFXOSC, + * applying the finaldiv clock divider (1 is the lowest + * legal value). + */ +void PRCI_use_hfxosc(uint32_t finaldiv); + +/* Safely switch over to the PLL using the given + * settings. + * + * Note that not all combinations of the inputs are actually + * legal, and this function does not check for their + * legality ("safely" means that this function won't turn off + * or glitch the clock the CPU is actually running off, but + * doesn't protect against you making it too fast or slow.) + */ + +void PRCI_use_pll(int refsel, int bypass, + int r, int f, int q, int finaldiv, + int hfroscdiv, int hfrosctrim); + +/* Use the default clocks configured at reset. + * This is ~16Mhz HFROSC and turns off the LFROSC + * (on the current FE310 Dev Platforms, an external LFROSC is + * used as it is more power efficient). + */ +void PRCI_use_default_clocks(); + +/* This routine will adjust the HFROSC trim + * while using HFROSC as the clock source, + * measure the resulting frequency, then + * use it as the PLL clock source, + * in an attempt to get over, under, or close to the + * requested frequency. It returns the actual measured + * frequency. + * + * Note that the requested frequency must be within the + * range supported by the PLL so not all values are + * achievable with this function, and not all + * are guaranteed to actually work. The PLL + * is rated higher than the hardware. + * + * There is no check on the desired f_cpu frequency, it + * is up to the user to specify something reasonable. + */ + +uint32_t PRCI_set_hfrosctrim_for_f_cpu(uint32_t f_cpu, PRCI_freq_target target); + +//__END_DECLS + +#endif + diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.c b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.c new file mode 100644 index 0000000000..b27d7a559e --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.c @@ -0,0 +1,127 @@ +// See LICENSE for license details. + +#include "sifive/devices/plic.h" +#include "plic/plic_driver.h" +#include "platform.h" +#include "encoding.h" +#include + + +// Note that there are no assertions or bounds checking on these +// parameter values. + +void volatile_memzero(uint8_t * base, unsigned int size) +{ + volatile uint8_t * ptr; + for (ptr = base; ptr < (base + size); ptr++){ + *ptr = 0; + } +} + +void PLIC_init ( + plic_instance_t * this_plic, + uintptr_t base_addr, + uint32_t num_sources, + uint32_t num_priorities + ) +{ + + this_plic->base_addr = base_addr; + this_plic->num_sources = num_sources; + this_plic->num_priorities = num_priorities; + + // Disable all interrupts (don't assume that these registers are reset). + unsigned long hart_id = read_csr(mhartid); + volatile_memzero((uint8_t*) (this_plic->base_addr + + PLIC_ENABLE_OFFSET + + (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET)), + (num_sources + 8) / 8); + + // Set all priorities to 0 (equal priority -- don't assume that these are reset). + volatile_memzero ((uint8_t *)(this_plic->base_addr + + PLIC_PRIORITY_OFFSET), + (num_sources + 1) << PLIC_PRIORITY_SHIFT_PER_SOURCE); + + // Set the threshold to 0. + volatile plic_threshold* threshold = (plic_threshold*) + (this_plic->base_addr + + PLIC_THRESHOLD_OFFSET + + (hart_id << PLIC_THRESHOLD_SHIFT_PER_TARGET)); + + *threshold = 0; + +} + +void PLIC_set_threshold (plic_instance_t * this_plic, + plic_threshold threshold){ + + unsigned long hart_id = read_csr(mhartid); + volatile plic_threshold* threshold_ptr = (plic_threshold*) (this_plic->base_addr + + PLIC_THRESHOLD_OFFSET + + (hart_id << PLIC_THRESHOLD_SHIFT_PER_TARGET)); + + *threshold_ptr = threshold; + +} + + +void PLIC_enable_interrupt (plic_instance_t * this_plic, plic_source source){ + + unsigned long hart_id = read_csr(mhartid); + volatile uint8_t * current_ptr = (volatile uint8_t *)(this_plic->base_addr + + PLIC_ENABLE_OFFSET + + (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET) + + (source >> 3)); + uint8_t current = *current_ptr; + current = current | ( 1 << (source & 0x7)); + *current_ptr = current; + +} + +void PLIC_disable_interrupt (plic_instance_t * this_plic, plic_source source){ + + unsigned long hart_id = read_csr(mhartid); + volatile uint8_t * current_ptr = (volatile uint8_t *) (this_plic->base_addr + + PLIC_ENABLE_OFFSET + + (hart_id << PLIC_ENABLE_SHIFT_PER_TARGET) + + (source >> 3)); + uint8_t current = *current_ptr; + current = current & ~(( 1 << (source & 0x7))); + *current_ptr = current; + +} + +void PLIC_set_priority (plic_instance_t * this_plic, plic_source source, plic_priority priority){ + + if (this_plic->num_priorities > 0) { + volatile plic_priority * priority_ptr = (volatile plic_priority *) + (this_plic->base_addr + + PLIC_PRIORITY_OFFSET + + (source << PLIC_PRIORITY_SHIFT_PER_SOURCE)); + *priority_ptr = priority; + } +} + +plic_source PLIC_claim_interrupt(plic_instance_t * this_plic){ + + unsigned long hart_id = read_csr(mhartid); + + volatile plic_source * claim_addr = (volatile plic_source * ) + (this_plic->base_addr + + PLIC_CLAIM_OFFSET + + (hart_id << PLIC_CLAIM_SHIFT_PER_TARGET)); + + return *claim_addr; + +} + +void PLIC_complete_interrupt(plic_instance_t * this_plic, plic_source source){ + + unsigned long hart_id = read_csr(mhartid); + volatile plic_source * claim_addr = (volatile plic_source *) (this_plic->base_addr + + PLIC_CLAIM_OFFSET + + (hart_id << PLIC_CLAIM_SHIFT_PER_TARGET)); + *claim_addr = source; + +} + diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.h new file mode 100644 index 0000000000..58ee9f90fa --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/drivers/plic/plic_driver.h @@ -0,0 +1,51 @@ +// See LICENSE file for licence details + +#ifndef PLIC_DRIVER_H +#define PLIC_DRIVER_H + + +//__BEGIN_DECLS + +#include "platform.h" + +typedef struct __plic_instance_t +{ + uintptr_t base_addr; + + uint32_t num_sources; + uint32_t num_priorities; + +} plic_instance_t; + +typedef uint32_t plic_source; +typedef uint32_t plic_priority; +typedef uint32_t plic_threshold; + +void PLIC_init ( + plic_instance_t * this_plic, + uintptr_t base_addr, + uint32_t num_sources, + uint32_t num_priorities + ); + +void PLIC_set_threshold (plic_instance_t * this_plic, + plic_threshold threshold); + +void PLIC_enable_interrupt (plic_instance_t * this_plic, + plic_source source); + +void PLIC_disable_interrupt (plic_instance_t * this_plic, + plic_source source); + +void PLIC_set_priority (plic_instance_t * this_plic, + plic_source source, + plic_priority priority); + +plic_source PLIC_claim_interrupt(plic_instance_t * this_plic); + +void PLIC_complete_interrupt(plic_instance_t * this_plic, + plic_source source); + +//__END_DECLS + +#endif diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-arty.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-arty.h new file mode 100644 index 0000000000..eedcaa5d4a --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-arty.h @@ -0,0 +1,102 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_COREPLEXIP_ARTY_H +#define _SIFIVE_COREPLEXIP_ARTY_H + +#include + +/**************************************************************************** + * GPIO Connections + *****************************************************************************/ + +// These are the GPIO bit offsets for the directly driven +// RGB LEDs on the Freedom Exx Coreplex IP Evaluation Arty FPGA Dev Kit. +// Additional RGB LEDs are driven by the 3 PWM outputs. + +#define RED_LED_OFFSET 0 +#define GREEN_LED_OFFSET 1 +#define BLUE_LED_OFFSET 2 + +// Switch 3 is used as a GPIO input. (Switch 0 is used to set +// the reset vector, the other switches are unused). + +#define SW_3_OFFSET 3 + +// These are the buttons which are mapped as inputs. + +#define HAS_BOARD_BUTTONS + +#define BUTTON_0_OFFSET 4 +#define BUTTON_1_OFFSET 5 +#define BUTTON_2_OFFSET 6 +#define BUTTON_3_OFFSET 7 + +// These are the bit offsets for the different GPIO pins +// mapped onto the PMOD A header. + +#define JA_0_OFFSET 8 +#define JA_1_OFFSET 9 +#define JA_2_OFFSET 10 +#define JA_3_OFFSET 11 +#define JA_4_OFFSET 12 +#define JA_5_OFFSET 13 +#define JA_6_OFFSET 14 +#define JA_7_OFFSET 15 + +// The below gives a mapping between global interrupt +// sources and their number. Note that on the coreplex +// deliverable, the io_global_interrupts go directly into +// the PLIC. The evaluation image on the FPGA mimics a +// system with peripheral devices which are driving the +// global interrupt lines. +// So, on this image, in order to get an interrupt from +// e.g. pressing BUTTON_0: +// 1) Steps which are external to the delivery coreplex: +// a) The corresponding GPIO pin must be configured as in input +// b) The "interrupt on fall" bit must be set for the GPIO pin +// 2) Steps which would also need to be performed for the delivery coreplex: +// a) The corresponding global interrupt, priority, and threshold must be configured in the PLIC. +// b) The external interrupt bit must be enabled in MSTATUS +// c) Interrupts must be enabled globally in the core. + +// Any of the above GPIO pins can be used as global interrupt +// sources by adding their offset to the INT_GPIO_BASE. +// For example, the buttons are shown here: + +#define INT_DEVICE_BUTTON_0 (GPIO_INT_BASE + BUTTON_0_OFFSET) +#define INT_DEVICE_BUTTON_1 (GPIO_INT_BASE + BUTTON_1_OFFSET) +#define INT_DEVICE_BUTTON_2 (GPIO_INT_BASE + BUTTON_2_OFFSET) +#define INT_DEVICE_BUTTON_3 (GPIO_INT_BASE + BUTTON_3_OFFSET) + +// In addition, the Switches are mapped directly to +// the PLIC (without going through the GPIO Peripheral). + +#define INT_EXT_DEVICE_SW_0 (EXTERNAL_INT_BASE + 0) +#define INT_EXT_DEVICE_SW_1 (EXTERNAL_INT_BASE + 1) +#define INT_EXT_DEVICE_SW_2 (EXTERNAL_INT_BASE + 2) +#define INT_EXT_DEVICE_SW_3 (EXTERNAL_INT_BASE + 3) + +// This gives the mapping from inputs to LOCAL interrupts. + +#define LOCAL_INT_SW_0 0 +#define LOCAL_INT_SW_1 1 +#define LOCAL_INT_SW_2 2 +#define LOCAL_INT_SW_3 3 +#define LOCAL_INT_BTN_0 4 +#define LOCAL_INT_BTN_1 5 +#define LOCAL_INT_BTN_2 6 +#define LOCAL_INT_BTN_3 7 +#define LOCAL_INT_JA_0 8 +#define LOCAL_INT_JA_1 9 +#define LOCAL_INT_JA_2 10 +#define LOCAL_INT_JA_3 11 +#define LOCAL_INT_JA_4 12 +#define LOCAL_INT_JA_5 13 +#define LOCAL_INT_JA_6 14 +#define LOCAL_INT_JA_7 15 + +#define RTC_FREQ 32768 + +void write_hex(int fd, unsigned long int hex); + +#endif /* _SIFIVE_COREPLEXIP_ARTY_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/flash.lds b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/flash.lds new file mode 100644 index 0000000000..90415e319a --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/flash.lds @@ -0,0 +1,185 @@ +OUTPUT_ARCH( "riscv" ) + +ENTRY( _start ) + +MEMORY +{ + flash (rxai!w) : ORIGIN = 0x40400000, LENGTH = 512M + ram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 16K +} + +PHDRS +{ + flash PT_LOAD; + ram_init PT_LOAD; + ram PT_NULL; +} + +SECTIONS +{ + __stack_size = DEFINED(__stack_size) ? __stack_size : 2K; + + .init : + { + KEEP (*(SORT_NONE(.init))) + } >flash AT>flash :flash + + .text : + { + *(.text.unlikely .text.unlikely.*) + *(.text.startup .text.startup.*) + *(.text .text.*) + *(.gnu.linkonce.t.*) + + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); + + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + . = ALIGN(4); + + /* section information for modules */ + . = ALIGN(4); + __rtmsymtab_start = .; + KEEP(*(RTMSymTab)) + __rtmsymtab_end = .; + } >flash AT>flash :flash + + .fini : + { + KEEP (*(SORT_NONE(.fini))) + } >flash AT>flash :flash + + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + + .rodata : + { + *(.rdata) + *(.rodata .rodata.*) + *(.gnu.linkonce.r.*) + } >flash AT>flash :flash + + . = ALIGN(4); + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >flash AT>flash :flash + + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) + KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) + PROVIDE_HIDDEN (__init_array_end = .); + } >flash AT>flash :flash + + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) + KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >flash AT>flash :flash + + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >flash AT>flash :flash + + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >flash AT>flash :flash + + .lalign : + { + . = ALIGN(4); + PROVIDE( _data_lma = . ); + } >flash AT>flash :flash + + .dalign : + { + . = ALIGN(4); + PROVIDE( _data = . ); + } >ram AT>flash :ram_init + + .data : + { + *(.data .data.*) + *(.gnu.linkonce.d.*) + . = ALIGN(8); + PROVIDE( __global_pointer$ = . + 0x800 ); + *(.sdata .sdata.*) + *(.gnu.linkonce.s.*) + . = ALIGN(8); + *(.srodata.cst16) + *(.srodata.cst8) + *(.srodata.cst4) + *(.srodata.cst2) + *(.srodata .srodata.*) + } >ram AT>flash :ram_init + + . = ALIGN(4); + PROVIDE( _edata = . ); + PROVIDE( edata = . ); + + PROVIDE( _fbss = . ); + PROVIDE( __bss_start = . ); + .bss : + { + *(.sbss*) + *(.gnu.linkonce.sb.*) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + } >ram AT>ram :ram + + . = ALIGN(8); + PROVIDE( _end = . ); + PROVIDE( end = . ); + + .stack ORIGIN(ram) + LENGTH(ram) - __stack_size : + { + PROVIDE( _heap_end = . ); + . = __stack_size; + PROVIDE( _sp = . ); + } >ram AT>ram :ram +} diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/init.c b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/init.c new file mode 100644 index 0000000000..84ae09e873 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/init.c @@ -0,0 +1,98 @@ +//See LICENSE for license details. +#include +#include +#include + +#include "platform.h" +#include "encoding.h" + +#define CPU_FREQ 65000000 +#define XSTR(x) #x +#define STR(x) XSTR(x) + +extern int main(int argc, char** argv); +extern void trap_entry(); + +static unsigned long get_cpu_freq() +{ + return CPU_FREQ; +} + +unsigned long get_timer_freq() +{ + return get_cpu_freq(); +} + +uint64_t get_timer_value() +{ +#if __riscv_xlen == 32 + while (1) { + uint32_t hi = read_csr(mcycleh); + uint32_t lo = read_csr(mcycle); + if (hi == read_csr(mcycleh)) + return ((uint64_t)hi << 32) | lo; + } +#else + return read_csr(mcycle); +#endif +} + +static void uart_init(size_t baud_rate) +{ + UART0_REG(UART_REG_DIV) = (get_cpu_freq() / 2) / baud_rate - 1; + UART0_REG(UART_REG_TXCTRL) |= UART_TXEN; +} + + +#ifdef USE_PLIC +extern void handle_m_ext_interrupt(); +#endif + +#ifdef USE_M_TIME +extern void handle_m_time_interrupt(); +#endif + +#ifdef USE_LOCAL_ISR +typedef void (*my_interrupt_function_ptr_t) (void); +extern my_interrupt_function_ptr_t localISR[]; +#endif + +uintptr_t handle_trap(uintptr_t mcause, uintptr_t epc) +{ + if (0){ +#ifdef USE_PLIC + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_EXT)) { + handle_m_ext_interrupt(); +#endif +#ifdef USE_M_TIME + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_TIMER)){ + handle_m_time_interrupt(); +#endif +#ifdef USE_LOCAL_ISR + } else if (mcause & MCAUSE_INT) { + localISR[mcause & MCAUSE_CAUSE] (); +#endif + } + else { + write(1, "Unhandled Trap:\n", 16); + _exit(1 + mcause); + } + return epc; +} + +void _init() +{ + #ifndef NO_INIT + uart_init(115200); + + puts("core freq at " STR(CPU_FREQ) " Hz\n"); + + write_csr(mtvec, &trap_entry); + #endif +} + +void _fini() +{ +} diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/openocd.cfg b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/openocd.cfg new file mode 100644 index 0000000000..0481a72f88 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/openocd.cfg @@ -0,0 +1,31 @@ +# JTAG adapter setup +adapter_khz 10000 + +interface ftdi +ftdi_device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H" +ftdi_vid_pid 0x15ba 0x002a + +ftdi_layout_init 0x0808 0x0a1b +ftdi_layout_signal nSRST -oe 0x0200 +#ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100 +ftdi_layout_signal LED -data 0x0800 + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x20000001 + +set _TARGETNAME $_CHIPNAME.cpu + +target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME +$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 + +# Un-comment these two flash lines if you have a SPI flash and want to write +# it. +flash bank spi0 fespi 0x40000000 0 0 0 $_TARGETNAME.0 0x20004000 +init +if {[ info exists pulse_srst]} { + ftdi_set_signal nSRST 0 + ftdi_set_signal nSRST z +} +halt +#flash protect 0 64 last off +echo "Ready for Remote Connections" diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/platform.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/platform.h new file mode 100644 index 0000000000..42c8887782 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/platform.h @@ -0,0 +1,90 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PLATFORM_H +#define _SIFIVE_PLATFORM_H + +// Some things missing from the official encoding.h + +#if __riscv_xlen == 32 +#define MCAUSE_INT 0x80000000UL +#define MCAUSE_CAUSE 0x7FFFFFFFUL +#else +#define MCAUSE_INT 0x8000000000000000UL +#define MCAUSE_CAUSE 0x7FFFFFFFFFFFFFFFUL +#endif + +#define IRQ_M_LOCAL 16 +#define MIP_MLIP(x) (1 << (IRQ_M_LOCAL + x)) + +#include "sifive/const.h" +#include "sifive/devices/clint.h" +#include "sifive/devices/gpio.h" +#include "sifive/devices/plic.h" +#include "sifive/devices/pwm.h" +#include "sifive/devices/spi.h" +#include "sifive/devices/uart.h" + +/**************************************************************************** + * Platform definitions + *****************************************************************************/ + +// Memory map +#define CLINT_CTRL_ADDR _AC(0x02000000,UL) +#define GPIO_CTRL_ADDR _AC(0x20002000,UL) +#define PLIC_CTRL_ADDR _AC(0x0C000000,UL) +#define PWM0_CTRL_ADDR _AC(0x20005000,UL) +#define RAM_MEM_ADDR _AC(0x80000000,UL) +#define RAM_MEM_SIZE _AC(0x10000,UL) +#define SPI0_CTRL_ADDR _AC(0x20004000,UL) +#define SPI0_MEM_ADDR _AC(0x40000000,UL) +#define SPI0_MEM_SIZE _AC(0x20000000,UL) +#define TESTBENCH_MEM_ADDR _AC(0x20000000,UL) +#define TESTBENCH_MEM_SIZE _AC(0x10000000,UL) +#define TRAPVEC_TABLE_CTRL_ADDR _AC(0x00001010,UL) +#define UART0_CTRL_ADDR _AC(0x20000000,UL) + +// IOF masks + +// Interrupt numbers +#define RESERVED_INT_BASE 0 +#define UART0_INT_BASE 1 +#define EXTERNAL_INT_BASE 2 +#define SPI0_INT_BASE 6 +#define GPIO_INT_BASE 7 +#define PWM0_INT_BASE 23 + +// Helper functions +#define _REG64(p, i) (*(volatile uint64_t *)((p) + (i))) +#define _REG32(p, i) (*(volatile uint32_t *)((p) + (i))) +#define _REG16(p, i) (*(volatile uint16_t *)((p) + (i))) +// Bulk set bits in `reg` to either 0 or 1. +// E.g. SET_BITS(MY_REG, 0x00000007, 0) would generate MY_REG &= ~0x7 +// E.g. SET_BITS(MY_REG, 0x00000007, 1) would generate MY_REG |= 0x7 +#define SET_BITS(reg, mask, value) if ((value) == 0) { (reg) &= ~(mask); } else { (reg) |= (mask); } +#define CLINT_REG(offset) _REG32(CLINT_CTRL_ADDR, offset) +#define GPIO_REG(offset) _REG32(GPIO_CTRL_ADDR, offset) +#define PLIC_REG(offset) _REG32(PLIC_CTRL_ADDR, offset) +#define PWM0_REG(offset) _REG32(PWM0_CTRL_ADDR, offset) +#define SPI0_REG(offset) _REG32(SPI0_CTRL_ADDR, offset) +#define TRAPVEC_TABLE_REG(offset) _REG32(TRAPVEC_TABLE_CTRL_ADDR, offset) +#define UART0_REG(offset) _REG32(UART0_CTRL_ADDR, offset) +#define CLINT_REG64(offset) _REG64(CLINT_CTRL_ADDR, offset) +#define GPIO_REG64(offset) _REG64(GPIO_CTRL_ADDR, offset) +#define PLIC_REG64(offset) _REG64(PLIC_CTRL_ADDR, offset) +#define PWM0_REG64(offset) _REG64(PWM0_CTRL_ADDR, offset) +#define SPI0_REG64(offset) _REG64(SPI0_CTRL_ADDR, offset) +#define TRAPVEC_TABLE_REG64(offset) _REG64(TRAPVEC_TABLE_CTRL_ADDR, offset) +#define UART0_REG64(offset) _REG64(UART0_CTRL_ADDR, offset) + +// Misc + +#define NUM_GPIO 16 + +#define PLIC_NUM_INTERRUPTS 28 +#define PLIC_NUM_PRIORITIES 7 + +#define HAS_BOARD_BUTTONS + +#include "coreplexip-arty.h" + +#endif /* _SIFIVE_PLATFORM_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/scratchpad.lds b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/scratchpad.lds new file mode 100644 index 0000000000..7887c135c4 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e31-arty/scratchpad.lds @@ -0,0 +1,161 @@ +OUTPUT_ARCH( "riscv" ) + +ENTRY( _start ) + +MEMORY +{ + ram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 16K +} + +PHDRS +{ + ram PT_LOAD; + ram_init PT_LOAD; + ram PT_NULL; +} + +SECTIONS +{ + __stack_size = DEFINED(__stack_size) ? __stack_size : 1K; + + .init : + { + KEEP (*(SORT_NONE(.init))) + } >ram AT>ram :ram + + .text : + { + *(.text.unlikely .text.unlikely.*) + *(.text.startup .text.startup.*) + *(.text .text.*) + *(.gnu.linkonce.t.*) + } >ram AT>ram :ram + + .fini : + { + KEEP (*(SORT_NONE(.fini))) + } >ram AT>ram :ram + + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + + .rodata : + { + *(.rdata) + *(.rodata .rodata.*) + *(.gnu.linkonce.r.*) + } >ram AT>ram :ram + + . = ALIGN(4); + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >ram AT>ram :ram + + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) + KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) + PROVIDE_HIDDEN (__init_array_end = .); + } >ram AT>ram :ram + + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) + KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >ram AT>ram :ram + + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >ram AT>ram :ram + + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >ram AT>ram :ram + + .lalign : + { + . = ALIGN(4); + PROVIDE( _data_lma = . ); + } >ram AT>ram :ram + + .dalign : + { + . = ALIGN(4); + PROVIDE( _data = . ); + } >ram AT>ram :ram_init + + .data : + { + *(.data .data.*) + *(.gnu.linkonce.d.*) + . = ALIGN(8); + PROVIDE( __global_pointer$ = . + 0x800 ); + *(.sdata .sdata.*) + *(.gnu.linkonce.s.*) + . = ALIGN(8); + *(.srodata.cst16) + *(.srodata.cst8) + *(.srodata.cst4) + *(.srodata.cst2) + *(.srodata .srodata.*) + } >ram AT>ram :ram_init + + . = ALIGN(4); + PROVIDE( _edata = . ); + PROVIDE( edata = . ); + + PROVIDE( _fbss = . ); + PROVIDE( __bss_start = . ); + .bss : + { + *(.sbss*) + *(.gnu.linkonce.sb.*) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + } >ram AT>ram :ram + + . = ALIGN(8); + PROVIDE( _end = . ); + PROVIDE( end = . ); + + .stack : + { + . = ALIGN(8); + . += __stack_size; + PROVIDE( _sp = . ); + PROVIDE( _heap_end = . ); + } >ram AT>ram :ram +} diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/flash.lds b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/flash.lds new file mode 100644 index 0000000000..54c102641e --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/flash.lds @@ -0,0 +1 @@ +../coreplexip-e31-arty/flash.lds \ No newline at end of file diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/init.c b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/init.c new file mode 100644 index 0000000000..de048a9df7 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/init.c @@ -0,0 +1 @@ +../coreplexip-e31-arty/init.c \ No newline at end of file diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/openocd.cfg b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/openocd.cfg new file mode 100644 index 0000000000..2f4de8d1f3 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/openocd.cfg @@ -0,0 +1 @@ +../coreplexip-e31-arty/openocd.cfg \ No newline at end of file diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/platform.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/platform.h new file mode 100644 index 0000000000..311ca369b4 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/platform.h @@ -0,0 +1 @@ +../coreplexip-e31-arty/platform.h \ No newline at end of file diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/scratchpad.lds b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/scratchpad.lds new file mode 100644 index 0000000000..7fbe10a3ea --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/coreplexip-e51-arty/scratchpad.lds @@ -0,0 +1 @@ +../coreplexip-e31-arty/scratchpad.lds \ No newline at end of file diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/encoding.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/encoding.h new file mode 100644 index 0000000000..35e0f9fe05 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/encoding.h @@ -0,0 +1,1313 @@ +// See LICENSE for license details. + +#ifndef RISCV_CSR_ENCODING_H +#define RISCV_CSR_ENCODING_H + +#define MSTATUS_UIE 0x00000001 +#define MSTATUS_SIE 0x00000002 +#define MSTATUS_HIE 0x00000004 +#define MSTATUS_MIE 0x00000008 +#define MSTATUS_UPIE 0x00000010 +#define MSTATUS_SPIE 0x00000020 +#define MSTATUS_HPIE 0x00000040 +#define MSTATUS_MPIE 0x00000080 +#define MSTATUS_SPP 0x00000100 +#define MSTATUS_HPP 0x00000600 +#define MSTATUS_MPP 0x00001800 +#define MSTATUS_FS 0x00006000 +#define MSTATUS_XS 0x00018000 +#define MSTATUS_MPRV 0x00020000 +#define MSTATUS_PUM 0x00040000 +#define MSTATUS_MXR 0x00080000 +#define MSTATUS_VM 0x1F000000 +#define MSTATUS32_SD 0x80000000 +#define MSTATUS64_SD 0x8000000000000000 + +#define SSTATUS_UIE 0x00000001 +#define SSTATUS_SIE 0x00000002 +#define SSTATUS_UPIE 0x00000010 +#define SSTATUS_SPIE 0x00000020 +#define SSTATUS_SPP 0x00000100 +#define SSTATUS_FS 0x00006000 +#define SSTATUS_XS 0x00018000 +#define SSTATUS_PUM 0x00040000 +#define SSTATUS32_SD 0x80000000 +#define SSTATUS64_SD 0x8000000000000000 + +#define DCSR_XDEBUGVER (3U<<30) +#define DCSR_NDRESET (1<<29) +#define DCSR_FULLRESET (1<<28) +#define DCSR_EBREAKM (1<<15) +#define DCSR_EBREAKH (1<<14) +#define DCSR_EBREAKS (1<<13) +#define DCSR_EBREAKU (1<<12) +#define DCSR_STOPCYCLE (1<<10) +#define DCSR_STOPTIME (1<<9) +#define DCSR_CAUSE (7<<6) +#define DCSR_DEBUGINT (1<<5) +#define DCSR_HALT (1<<3) +#define DCSR_STEP (1<<2) +#define DCSR_PRV (3<<0) + +#define DCSR_CAUSE_NONE 0 +#define DCSR_CAUSE_SWBP 1 +#define DCSR_CAUSE_HWBP 2 +#define DCSR_CAUSE_DEBUGINT 3 +#define DCSR_CAUSE_STEP 4 +#define DCSR_CAUSE_HALT 5 + +#define MCONTROL_TYPE(xlen) (0xfULL<<((xlen)-4)) +#define MCONTROL_DMODE(xlen) (1ULL<<((xlen)-5)) +#define MCONTROL_MASKMAX(xlen) (0x3fULL<<((xlen)-11)) + +#define MCONTROL_SELECT (1<<19) +#define MCONTROL_TIMING (1<<18) +#define MCONTROL_ACTION (0x3f<<12) +#define MCONTROL_CHAIN (1<<11) +#define MCONTROL_MATCH (0xf<<7) +#define MCONTROL_M (1<<6) +#define MCONTROL_H (1<<5) +#define MCONTROL_S (1<<4) +#define MCONTROL_U (1<<3) +#define MCONTROL_EXECUTE (1<<2) +#define MCONTROL_STORE (1<<1) +#define MCONTROL_LOAD (1<<0) + +#define MCONTROL_TYPE_NONE 0 +#define MCONTROL_TYPE_MATCH 2 + +#define MCONTROL_ACTION_DEBUG_EXCEPTION 0 +#define MCONTROL_ACTION_DEBUG_MODE 1 +#define MCONTROL_ACTION_TRACE_START 2 +#define MCONTROL_ACTION_TRACE_STOP 3 +#define MCONTROL_ACTION_TRACE_EMIT 4 + +#define MCONTROL_MATCH_EQUAL 0 +#define MCONTROL_MATCH_NAPOT 1 +#define MCONTROL_MATCH_GE 2 +#define MCONTROL_MATCH_LT 3 +#define MCONTROL_MATCH_MASK_LOW 4 +#define MCONTROL_MATCH_MASK_HIGH 5 + +#define MIP_SSIP (1 << IRQ_S_SOFT) +#define MIP_HSIP (1 << IRQ_H_SOFT) +#define MIP_MSIP (1 << IRQ_M_SOFT) +#define MIP_STIP (1 << IRQ_S_TIMER) +#define MIP_HTIP (1 << IRQ_H_TIMER) +#define MIP_MTIP (1 << IRQ_M_TIMER) +#define MIP_SEIP (1 << IRQ_S_EXT) +#define MIP_HEIP (1 << IRQ_H_EXT) +#define MIP_MEIP (1 << IRQ_M_EXT) + +#define SIP_SSIP MIP_SSIP +#define SIP_STIP MIP_STIP + +#define PRV_U 0 +#define PRV_S 1 +#define PRV_H 2 +#define PRV_M 3 + +#define VM_MBARE 0 +#define VM_MBB 1 +#define VM_MBBID 2 +#define VM_SV32 8 +#define VM_SV39 9 +#define VM_SV48 10 + +#define IRQ_S_SOFT 1 +#define IRQ_H_SOFT 2 +#define IRQ_M_SOFT 3 +#define IRQ_S_TIMER 5 +#define IRQ_H_TIMER 6 +#define IRQ_M_TIMER 7 +#define IRQ_S_EXT 9 +#define IRQ_H_EXT 10 +#define IRQ_M_EXT 11 +#define IRQ_COP 12 +#define IRQ_HOST 13 + +#define DEFAULT_RSTVEC 0x00001000 +#define DEFAULT_NMIVEC 0x00001004 +#define DEFAULT_MTVEC 0x00001010 +#define CONFIG_STRING_ADDR 0x0000100C +#define EXT_IO_BASE 0x40000000 +#define DRAM_BASE 0x80000000 + +// page table entry (PTE) fields +#define PTE_V 0x001 // Valid +#define PTE_R 0x002 // Read +#define PTE_W 0x004 // Write +#define PTE_X 0x008 // Execute +#define PTE_U 0x010 // User +#define PTE_G 0x020 // Global +#define PTE_A 0x040 // Accessed +#define PTE_D 0x080 // Dirty +#define PTE_SOFT 0x300 // Reserved for Software + +#define PTE_PPN_SHIFT 10 + +#define PTE_TABLE(PTE) (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V) + +#ifdef __riscv + +#ifdef __riscv64 +# define MSTATUS_SD MSTATUS64_SD +# define SSTATUS_SD SSTATUS64_SD +# define RISCV_PGLEVEL_BITS 9 +#else +# define MSTATUS_SD MSTATUS32_SD +# define SSTATUS_SD SSTATUS32_SD +# define RISCV_PGLEVEL_BITS 10 +#endif +#define RISCV_PGSHIFT 12 +#define RISCV_PGSIZE (1 << RISCV_PGSHIFT) + +#ifndef __ASSEMBLER__ + +#ifdef __GNUC__ + +#define read_csr(reg) ({ unsigned long __tmp; \ + asm volatile ("csrr %0, " #reg : "=r"(__tmp)); \ + __tmp; }) + +#define write_csr(reg, val) ({ \ + if (__builtin_constant_p(val) && (unsigned long)(val) < 32) \ + asm volatile ("csrw " #reg ", %0" :: "i"(val)); \ + else \ + asm volatile ("csrw " #reg ", %0" :: "r"(val)); }) + +#define swap_csr(reg, val) ({ unsigned long __tmp; \ + if (__builtin_constant_p(val) && (unsigned long)(val) < 32) \ + asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "i"(val)); \ + else \ + asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "r"(val)); \ + __tmp; }) + +#define set_csr(reg, bit) ({ unsigned long __tmp; \ + if (__builtin_constant_p(bit) && (unsigned long)(bit) < 32) \ + asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "i"(bit)); \ + else \ + asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "r"(bit)); \ + __tmp; }) + +#define clear_csr(reg, bit) ({ unsigned long __tmp; \ + if (__builtin_constant_p(bit) && (unsigned long)(bit) < 32) \ + asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "i"(bit)); \ + else \ + asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "r"(bit)); \ + __tmp; }) + +#define rdtime() read_csr(time) +#define rdcycle() read_csr(cycle) +#define rdinstret() read_csr(instret) + +#endif + +#endif + +#endif + +#endif +/* Automatically generated by parse-opcodes */ +#ifndef RISCV_ENCODING_H +#define RISCV_ENCODING_H +#define MATCH_BEQ 0x63 +#define MASK_BEQ 0x707f +#define MATCH_BNE 0x1063 +#define MASK_BNE 0x707f +#define MATCH_BLT 0x4063 +#define MASK_BLT 0x707f +#define MATCH_BGE 0x5063 +#define MASK_BGE 0x707f +#define MATCH_BLTU 0x6063 +#define MASK_BLTU 0x707f +#define MATCH_BGEU 0x7063 +#define MASK_BGEU 0x707f +#define MATCH_JALR 0x67 +#define MASK_JALR 0x707f +#define MATCH_JAL 0x6f +#define MASK_JAL 0x7f +#define MATCH_LUI 0x37 +#define MASK_LUI 0x7f +#define MATCH_AUIPC 0x17 +#define MASK_AUIPC 0x7f +#define MATCH_ADDI 0x13 +#define MASK_ADDI 0x707f +#define MATCH_SLLI 0x1013 +#define MASK_SLLI 0xfc00707f +#define MATCH_SLTI 0x2013 +#define MASK_SLTI 0x707f +#define MATCH_SLTIU 0x3013 +#define MASK_SLTIU 0x707f +#define MATCH_XORI 0x4013 +#define MASK_XORI 0x707f +#define MATCH_SRLI 0x5013 +#define MASK_SRLI 0xfc00707f +#define MATCH_SRAI 0x40005013 +#define MASK_SRAI 0xfc00707f +#define MATCH_ORI 0x6013 +#define MASK_ORI 0x707f +#define MATCH_ANDI 0x7013 +#define MASK_ANDI 0x707f +#define MATCH_ADD 0x33 +#define MASK_ADD 0xfe00707f +#define MATCH_SUB 0x40000033 +#define MASK_SUB 0xfe00707f +#define MATCH_SLL 0x1033 +#define MASK_SLL 0xfe00707f +#define MATCH_SLT 0x2033 +#define MASK_SLT 0xfe00707f +#define MATCH_SLTU 0x3033 +#define MASK_SLTU 0xfe00707f +#define MATCH_XOR 0x4033 +#define MASK_XOR 0xfe00707f +#define MATCH_SRL 0x5033 +#define MASK_SRL 0xfe00707f +#define MATCH_SRA 0x40005033 +#define MASK_SRA 0xfe00707f +#define MATCH_OR 0x6033 +#define MASK_OR 0xfe00707f +#define MATCH_AND 0x7033 +#define MASK_AND 0xfe00707f +#define MATCH_ADDIW 0x1b +#define MASK_ADDIW 0x707f +#define MATCH_SLLIW 0x101b +#define MASK_SLLIW 0xfe00707f +#define MATCH_SRLIW 0x501b +#define MASK_SRLIW 0xfe00707f +#define MATCH_SRAIW 0x4000501b +#define MASK_SRAIW 0xfe00707f +#define MATCH_ADDW 0x3b +#define MASK_ADDW 0xfe00707f +#define MATCH_SUBW 0x4000003b +#define MASK_SUBW 0xfe00707f +#define MATCH_SLLW 0x103b +#define MASK_SLLW 0xfe00707f +#define MATCH_SRLW 0x503b +#define MASK_SRLW 0xfe00707f +#define MATCH_SRAW 0x4000503b +#define MASK_SRAW 0xfe00707f +#define MATCH_LB 0x3 +#define MASK_LB 0x707f +#define MATCH_LH 0x1003 +#define MASK_LH 0x707f +#define MATCH_LW 0x2003 +#define MASK_LW 0x707f +#define MATCH_LD 0x3003 +#define MASK_LD 0x707f +#define MATCH_LBU 0x4003 +#define MASK_LBU 0x707f +#define MATCH_LHU 0x5003 +#define MASK_LHU 0x707f +#define MATCH_LWU 0x6003 +#define MASK_LWU 0x707f +#define MATCH_SB 0x23 +#define MASK_SB 0x707f +#define MATCH_SH 0x1023 +#define MASK_SH 0x707f +#define MATCH_SW 0x2023 +#define MASK_SW 0x707f +#define MATCH_SD 0x3023 +#define MASK_SD 0x707f +#define MATCH_FENCE 0xf +#define MASK_FENCE 0x707f +#define MATCH_FENCE_I 0x100f +#define MASK_FENCE_I 0x707f +#define MATCH_MUL 0x2000033 +#define MASK_MUL 0xfe00707f +#define MATCH_MULH 0x2001033 +#define MASK_MULH 0xfe00707f +#define MATCH_MULHSU 0x2002033 +#define MASK_MULHSU 0xfe00707f +#define MATCH_MULHU 0x2003033 +#define MASK_MULHU 0xfe00707f +#define MATCH_DIV 0x2004033 +#define MASK_DIV 0xfe00707f +#define MATCH_DIVU 0x2005033 +#define MASK_DIVU 0xfe00707f +#define MATCH_REM 0x2006033 +#define MASK_REM 0xfe00707f +#define MATCH_REMU 0x2007033 +#define MASK_REMU 0xfe00707f +#define MATCH_MULW 0x200003b +#define MASK_MULW 0xfe00707f +#define MATCH_DIVW 0x200403b +#define MASK_DIVW 0xfe00707f +#define MATCH_DIVUW 0x200503b +#define MASK_DIVUW 0xfe00707f +#define MATCH_REMW 0x200603b +#define MASK_REMW 0xfe00707f +#define MATCH_REMUW 0x200703b +#define MASK_REMUW 0xfe00707f +#define MATCH_AMOADD_W 0x202f +#define MASK_AMOADD_W 0xf800707f +#define MATCH_AMOXOR_W 0x2000202f +#define MASK_AMOXOR_W 0xf800707f +#define MATCH_AMOOR_W 0x4000202f +#define MASK_AMOOR_W 0xf800707f +#define MATCH_AMOAND_W 0x6000202f +#define MASK_AMOAND_W 0xf800707f +#define MATCH_AMOMIN_W 0x8000202f +#define MASK_AMOMIN_W 0xf800707f +#define MATCH_AMOMAX_W 0xa000202f +#define MASK_AMOMAX_W 0xf800707f +#define MATCH_AMOMINU_W 0xc000202f +#define MASK_AMOMINU_W 0xf800707f +#define MATCH_AMOMAXU_W 0xe000202f +#define MASK_AMOMAXU_W 0xf800707f +#define MATCH_AMOSWAP_W 0x800202f +#define MASK_AMOSWAP_W 0xf800707f +#define MATCH_LR_W 0x1000202f +#define MASK_LR_W 0xf9f0707f +#define MATCH_SC_W 0x1800202f +#define MASK_SC_W 0xf800707f +#define MATCH_AMOADD_D 0x302f +#define MASK_AMOADD_D 0xf800707f +#define MATCH_AMOXOR_D 0x2000302f +#define MASK_AMOXOR_D 0xf800707f +#define MATCH_AMOOR_D 0x4000302f +#define MASK_AMOOR_D 0xf800707f +#define MATCH_AMOAND_D 0x6000302f +#define MASK_AMOAND_D 0xf800707f +#define MATCH_AMOMIN_D 0x8000302f +#define MASK_AMOMIN_D 0xf800707f +#define MATCH_AMOMAX_D 0xa000302f +#define MASK_AMOMAX_D 0xf800707f +#define MATCH_AMOMINU_D 0xc000302f +#define MASK_AMOMINU_D 0xf800707f +#define MATCH_AMOMAXU_D 0xe000302f +#define MASK_AMOMAXU_D 0xf800707f +#define MATCH_AMOSWAP_D 0x800302f +#define MASK_AMOSWAP_D 0xf800707f +#define MATCH_LR_D 0x1000302f +#define MASK_LR_D 0xf9f0707f +#define MATCH_SC_D 0x1800302f +#define MASK_SC_D 0xf800707f +#define MATCH_ECALL 0x73 +#define MASK_ECALL 0xffffffff +#define MATCH_EBREAK 0x100073 +#define MASK_EBREAK 0xffffffff +#define MATCH_URET 0x200073 +#define MASK_URET 0xffffffff +#define MATCH_SRET 0x10200073 +#define MASK_SRET 0xffffffff +#define MATCH_HRET 0x20200073 +#define MASK_HRET 0xffffffff +#define MATCH_MRET 0x30200073 +#define MASK_MRET 0xffffffff +#define MATCH_DRET 0x7b200073 +#define MASK_DRET 0xffffffff +#define MATCH_SFENCE_VM 0x10400073 +#define MASK_SFENCE_VM 0xfff07fff +#define MATCH_WFI 0x10500073 +#define MASK_WFI 0xffffffff +#define MATCH_CSRRW 0x1073 +#define MASK_CSRRW 0x707f +#define MATCH_CSRRS 0x2073 +#define MASK_CSRRS 0x707f +#define MATCH_CSRRC 0x3073 +#define MASK_CSRRC 0x707f +#define MATCH_CSRRWI 0x5073 +#define MASK_CSRRWI 0x707f +#define MATCH_CSRRSI 0x6073 +#define MASK_CSRRSI 0x707f +#define MATCH_CSRRCI 0x7073 +#define MASK_CSRRCI 0x707f +#define MATCH_FADD_S 0x53 +#define MASK_FADD_S 0xfe00007f +#define MATCH_FSUB_S 0x8000053 +#define MASK_FSUB_S 0xfe00007f +#define MATCH_FMUL_S 0x10000053 +#define MASK_FMUL_S 0xfe00007f +#define MATCH_FDIV_S 0x18000053 +#define MASK_FDIV_S 0xfe00007f +#define MATCH_FSGNJ_S 0x20000053 +#define MASK_FSGNJ_S 0xfe00707f +#define MATCH_FSGNJN_S 0x20001053 +#define MASK_FSGNJN_S 0xfe00707f +#define MATCH_FSGNJX_S 0x20002053 +#define MASK_FSGNJX_S 0xfe00707f +#define MATCH_FMIN_S 0x28000053 +#define MASK_FMIN_S 0xfe00707f +#define MATCH_FMAX_S 0x28001053 +#define MASK_FMAX_S 0xfe00707f +#define MATCH_FSQRT_S 0x58000053 +#define MASK_FSQRT_S 0xfff0007f +#define MATCH_FADD_D 0x2000053 +#define MASK_FADD_D 0xfe00007f +#define MATCH_FSUB_D 0xa000053 +#define MASK_FSUB_D 0xfe00007f +#define MATCH_FMUL_D 0x12000053 +#define MASK_FMUL_D 0xfe00007f +#define MATCH_FDIV_D 0x1a000053 +#define MASK_FDIV_D 0xfe00007f +#define MATCH_FSGNJ_D 0x22000053 +#define MASK_FSGNJ_D 0xfe00707f +#define MATCH_FSGNJN_D 0x22001053 +#define MASK_FSGNJN_D 0xfe00707f +#define MATCH_FSGNJX_D 0x22002053 +#define MASK_FSGNJX_D 0xfe00707f +#define MATCH_FMIN_D 0x2a000053 +#define MASK_FMIN_D 0xfe00707f +#define MATCH_FMAX_D 0x2a001053 +#define MASK_FMAX_D 0xfe00707f +#define MATCH_FCVT_S_D 0x40100053 +#define MASK_FCVT_S_D 0xfff0007f +#define MATCH_FCVT_D_S 0x42000053 +#define MASK_FCVT_D_S 0xfff0007f +#define MATCH_FSQRT_D 0x5a000053 +#define MASK_FSQRT_D 0xfff0007f +#define MATCH_FLE_S 0xa0000053 +#define MASK_FLE_S 0xfe00707f +#define MATCH_FLT_S 0xa0001053 +#define MASK_FLT_S 0xfe00707f +#define MATCH_FEQ_S 0xa0002053 +#define MASK_FEQ_S 0xfe00707f +#define MATCH_FLE_D 0xa2000053 +#define MASK_FLE_D 0xfe00707f +#define MATCH_FLT_D 0xa2001053 +#define MASK_FLT_D 0xfe00707f +#define MATCH_FEQ_D 0xa2002053 +#define MASK_FEQ_D 0xfe00707f +#define MATCH_FCVT_W_S 0xc0000053 +#define MASK_FCVT_W_S 0xfff0007f +#define MATCH_FCVT_WU_S 0xc0100053 +#define MASK_FCVT_WU_S 0xfff0007f +#define MATCH_FCVT_L_S 0xc0200053 +#define MASK_FCVT_L_S 0xfff0007f +#define MATCH_FCVT_LU_S 0xc0300053 +#define MASK_FCVT_LU_S 0xfff0007f +#define MATCH_FMV_X_S 0xe0000053 +#define MASK_FMV_X_S 0xfff0707f +#define MATCH_FCLASS_S 0xe0001053 +#define MASK_FCLASS_S 0xfff0707f +#define MATCH_FCVT_W_D 0xc2000053 +#define MASK_FCVT_W_D 0xfff0007f +#define MATCH_FCVT_WU_D 0xc2100053 +#define MASK_FCVT_WU_D 0xfff0007f +#define MATCH_FCVT_L_D 0xc2200053 +#define MASK_FCVT_L_D 0xfff0007f +#define MATCH_FCVT_LU_D 0xc2300053 +#define MASK_FCVT_LU_D 0xfff0007f +#define MATCH_FMV_X_D 0xe2000053 +#define MASK_FMV_X_D 0xfff0707f +#define MATCH_FCLASS_D 0xe2001053 +#define MASK_FCLASS_D 0xfff0707f +#define MATCH_FCVT_S_W 0xd0000053 +#define MASK_FCVT_S_W 0xfff0007f +#define MATCH_FCVT_S_WU 0xd0100053 +#define MASK_FCVT_S_WU 0xfff0007f +#define MATCH_FCVT_S_L 0xd0200053 +#define MASK_FCVT_S_L 0xfff0007f +#define MATCH_FCVT_S_LU 0xd0300053 +#define MASK_FCVT_S_LU 0xfff0007f +#define MATCH_FMV_S_X 0xf0000053 +#define MASK_FMV_S_X 0xfff0707f +#define MATCH_FCVT_D_W 0xd2000053 +#define MASK_FCVT_D_W 0xfff0007f +#define MATCH_FCVT_D_WU 0xd2100053 +#define MASK_FCVT_D_WU 0xfff0007f +#define MATCH_FCVT_D_L 0xd2200053 +#define MASK_FCVT_D_L 0xfff0007f +#define MATCH_FCVT_D_LU 0xd2300053 +#define MASK_FCVT_D_LU 0xfff0007f +#define MATCH_FMV_D_X 0xf2000053 +#define MASK_FMV_D_X 0xfff0707f +#define MATCH_FLW 0x2007 +#define MASK_FLW 0x707f +#define MATCH_FLD 0x3007 +#define MASK_FLD 0x707f +#define MATCH_FSW 0x2027 +#define MASK_FSW 0x707f +#define MATCH_FSD 0x3027 +#define MASK_FSD 0x707f +#define MATCH_FMADD_S 0x43 +#define MASK_FMADD_S 0x600007f +#define MATCH_FMSUB_S 0x47 +#define MASK_FMSUB_S 0x600007f +#define MATCH_FNMSUB_S 0x4b +#define MASK_FNMSUB_S 0x600007f +#define MATCH_FNMADD_S 0x4f +#define MASK_FNMADD_S 0x600007f +#define MATCH_FMADD_D 0x2000043 +#define MASK_FMADD_D 0x600007f +#define MATCH_FMSUB_D 0x2000047 +#define MASK_FMSUB_D 0x600007f +#define MATCH_FNMSUB_D 0x200004b +#define MASK_FNMSUB_D 0x600007f +#define MATCH_FNMADD_D 0x200004f +#define MASK_FNMADD_D 0x600007f +#define MATCH_C_NOP 0x1 +#define MASK_C_NOP 0xffff +#define MATCH_C_ADDI16SP 0x6101 +#define MASK_C_ADDI16SP 0xef83 +#define MATCH_C_JR 0x8002 +#define MASK_C_JR 0xf07f +#define MATCH_C_JALR 0x9002 +#define MASK_C_JALR 0xf07f +#define MATCH_C_EBREAK 0x9002 +#define MASK_C_EBREAK 0xffff +#define MATCH_C_LD 0x6000 +#define MASK_C_LD 0xe003 +#define MATCH_C_SD 0xe000 +#define MASK_C_SD 0xe003 +#define MATCH_C_ADDIW 0x2001 +#define MASK_C_ADDIW 0xe003 +#define MATCH_C_LDSP 0x6002 +#define MASK_C_LDSP 0xe003 +#define MATCH_C_SDSP 0xe002 +#define MASK_C_SDSP 0xe003 +#define MATCH_C_ADDI4SPN 0x0 +#define MASK_C_ADDI4SPN 0xe003 +#define MATCH_C_FLD 0x2000 +#define MASK_C_FLD 0xe003 +#define MATCH_C_LW 0x4000 +#define MASK_C_LW 0xe003 +#define MATCH_C_FLW 0x6000 +#define MASK_C_FLW 0xe003 +#define MATCH_C_FSD 0xa000 +#define MASK_C_FSD 0xe003 +#define MATCH_C_SW 0xc000 +#define MASK_C_SW 0xe003 +#define MATCH_C_FSW 0xe000 +#define MASK_C_FSW 0xe003 +#define MATCH_C_ADDI 0x1 +#define MASK_C_ADDI 0xe003 +#define MATCH_C_JAL 0x2001 +#define MASK_C_JAL 0xe003 +#define MATCH_C_LI 0x4001 +#define MASK_C_LI 0xe003 +#define MATCH_C_LUI 0x6001 +#define MASK_C_LUI 0xe003 +#define MATCH_C_SRLI 0x8001 +#define MASK_C_SRLI 0xec03 +#define MATCH_C_SRAI 0x8401 +#define MASK_C_SRAI 0xec03 +#define MATCH_C_ANDI 0x8801 +#define MASK_C_ANDI 0xec03 +#define MATCH_C_SUB 0x8c01 +#define MASK_C_SUB 0xfc63 +#define MATCH_C_XOR 0x8c21 +#define MASK_C_XOR 0xfc63 +#define MATCH_C_OR 0x8c41 +#define MASK_C_OR 0xfc63 +#define MATCH_C_AND 0x8c61 +#define MASK_C_AND 0xfc63 +#define MATCH_C_SUBW 0x9c01 +#define MASK_C_SUBW 0xfc63 +#define MATCH_C_ADDW 0x9c21 +#define MASK_C_ADDW 0xfc63 +#define MATCH_C_J 0xa001 +#define MASK_C_J 0xe003 +#define MATCH_C_BEQZ 0xc001 +#define MASK_C_BEQZ 0xe003 +#define MATCH_C_BNEZ 0xe001 +#define MASK_C_BNEZ 0xe003 +#define MATCH_C_SLLI 0x2 +#define MASK_C_SLLI 0xe003 +#define MATCH_C_FLDSP 0x2002 +#define MASK_C_FLDSP 0xe003 +#define MATCH_C_LWSP 0x4002 +#define MASK_C_LWSP 0xe003 +#define MATCH_C_FLWSP 0x6002 +#define MASK_C_FLWSP 0xe003 +#define MATCH_C_MV 0x8002 +#define MASK_C_MV 0xf003 +#define MATCH_C_ADD 0x9002 +#define MASK_C_ADD 0xf003 +#define MATCH_C_FSDSP 0xa002 +#define MASK_C_FSDSP 0xe003 +#define MATCH_C_SWSP 0xc002 +#define MASK_C_SWSP 0xe003 +#define MATCH_C_FSWSP 0xe002 +#define MASK_C_FSWSP 0xe003 +#define MATCH_CUSTOM0 0xb +#define MASK_CUSTOM0 0x707f +#define MATCH_CUSTOM0_RS1 0x200b +#define MASK_CUSTOM0_RS1 0x707f +#define MATCH_CUSTOM0_RS1_RS2 0x300b +#define MASK_CUSTOM0_RS1_RS2 0x707f +#define MATCH_CUSTOM0_RD 0x400b +#define MASK_CUSTOM0_RD 0x707f +#define MATCH_CUSTOM0_RD_RS1 0x600b +#define MASK_CUSTOM0_RD_RS1 0x707f +#define MATCH_CUSTOM0_RD_RS1_RS2 0x700b +#define MASK_CUSTOM0_RD_RS1_RS2 0x707f +#define MATCH_CUSTOM1 0x2b +#define MASK_CUSTOM1 0x707f +#define MATCH_CUSTOM1_RS1 0x202b +#define MASK_CUSTOM1_RS1 0x707f +#define MATCH_CUSTOM1_RS1_RS2 0x302b +#define MASK_CUSTOM1_RS1_RS2 0x707f +#define MATCH_CUSTOM1_RD 0x402b +#define MASK_CUSTOM1_RD 0x707f +#define MATCH_CUSTOM1_RD_RS1 0x602b +#define MASK_CUSTOM1_RD_RS1 0x707f +#define MATCH_CUSTOM1_RD_RS1_RS2 0x702b +#define MASK_CUSTOM1_RD_RS1_RS2 0x707f +#define MATCH_CUSTOM2 0x5b +#define MASK_CUSTOM2 0x707f +#define MATCH_CUSTOM2_RS1 0x205b +#define MASK_CUSTOM2_RS1 0x707f +#define MATCH_CUSTOM2_RS1_RS2 0x305b +#define MASK_CUSTOM2_RS1_RS2 0x707f +#define MATCH_CUSTOM2_RD 0x405b +#define MASK_CUSTOM2_RD 0x707f +#define MATCH_CUSTOM2_RD_RS1 0x605b +#define MASK_CUSTOM2_RD_RS1 0x707f +#define MATCH_CUSTOM2_RD_RS1_RS2 0x705b +#define MASK_CUSTOM2_RD_RS1_RS2 0x707f +#define MATCH_CUSTOM3 0x7b +#define MASK_CUSTOM3 0x707f +#define MATCH_CUSTOM3_RS1 0x207b +#define MASK_CUSTOM3_RS1 0x707f +#define MATCH_CUSTOM3_RS1_RS2 0x307b +#define MASK_CUSTOM3_RS1_RS2 0x707f +#define MATCH_CUSTOM3_RD 0x407b +#define MASK_CUSTOM3_RD 0x707f +#define MATCH_CUSTOM3_RD_RS1 0x607b +#define MASK_CUSTOM3_RD_RS1 0x707f +#define MATCH_CUSTOM3_RD_RS1_RS2 0x707b +#define MASK_CUSTOM3_RD_RS1_RS2 0x707f +#define CSR_FFLAGS 0x1 +#define CSR_FRM 0x2 +#define CSR_FCSR 0x3 +#define CSR_CYCLE 0xc00 +#define CSR_TIME 0xc01 +#define CSR_INSTRET 0xc02 +#define CSR_HPMCOUNTER3 0xc03 +#define CSR_HPMCOUNTER4 0xc04 +#define CSR_HPMCOUNTER5 0xc05 +#define CSR_HPMCOUNTER6 0xc06 +#define CSR_HPMCOUNTER7 0xc07 +#define CSR_HPMCOUNTER8 0xc08 +#define CSR_HPMCOUNTER9 0xc09 +#define CSR_HPMCOUNTER10 0xc0a +#define CSR_HPMCOUNTER11 0xc0b +#define CSR_HPMCOUNTER12 0xc0c +#define CSR_HPMCOUNTER13 0xc0d +#define CSR_HPMCOUNTER14 0xc0e +#define CSR_HPMCOUNTER15 0xc0f +#define CSR_HPMCOUNTER16 0xc10 +#define CSR_HPMCOUNTER17 0xc11 +#define CSR_HPMCOUNTER18 0xc12 +#define CSR_HPMCOUNTER19 0xc13 +#define CSR_HPMCOUNTER20 0xc14 +#define CSR_HPMCOUNTER21 0xc15 +#define CSR_HPMCOUNTER22 0xc16 +#define CSR_HPMCOUNTER23 0xc17 +#define CSR_HPMCOUNTER24 0xc18 +#define CSR_HPMCOUNTER25 0xc19 +#define CSR_HPMCOUNTER26 0xc1a +#define CSR_HPMCOUNTER27 0xc1b +#define CSR_HPMCOUNTER28 0xc1c +#define CSR_HPMCOUNTER29 0xc1d +#define CSR_HPMCOUNTER30 0xc1e +#define CSR_HPMCOUNTER31 0xc1f +#define CSR_SSTATUS 0x100 +#define CSR_SIE 0x104 +#define CSR_STVEC 0x105 +#define CSR_SSCRATCH 0x140 +#define CSR_SEPC 0x141 +#define CSR_SCAUSE 0x142 +#define CSR_SBADADDR 0x143 +#define CSR_SIP 0x144 +#define CSR_SPTBR 0x180 +#define CSR_MSTATUS 0x300 +#define CSR_MISA 0x301 +#define CSR_MEDELEG 0x302 +#define CSR_MIDELEG 0x303 +#define CSR_MIE 0x304 +#define CSR_MTVEC 0x305 +#define CSR_MSCRATCH 0x340 +#define CSR_MEPC 0x341 +#define CSR_MCAUSE 0x342 +#define CSR_MBADADDR 0x343 +#define CSR_MIP 0x344 +#define CSR_TSELECT 0x7a0 +#define CSR_TDATA1 0x7a1 +#define CSR_TDATA2 0x7a2 +#define CSR_TDATA3 0x7a3 +#define CSR_DCSR 0x7b0 +#define CSR_DPC 0x7b1 +#define CSR_DSCRATCH 0x7b2 +#define CSR_MCYCLE 0xb00 +#define CSR_MINSTRET 0xb02 +#define CSR_MHPMCOUNTER3 0xb03 +#define CSR_MHPMCOUNTER4 0xb04 +#define CSR_MHPMCOUNTER5 0xb05 +#define CSR_MHPMCOUNTER6 0xb06 +#define CSR_MHPMCOUNTER7 0xb07 +#define CSR_MHPMCOUNTER8 0xb08 +#define CSR_MHPMCOUNTER9 0xb09 +#define CSR_MHPMCOUNTER10 0xb0a +#define CSR_MHPMCOUNTER11 0xb0b +#define CSR_MHPMCOUNTER12 0xb0c +#define CSR_MHPMCOUNTER13 0xb0d +#define CSR_MHPMCOUNTER14 0xb0e +#define CSR_MHPMCOUNTER15 0xb0f +#define CSR_MHPMCOUNTER16 0xb10 +#define CSR_MHPMCOUNTER17 0xb11 +#define CSR_MHPMCOUNTER18 0xb12 +#define CSR_MHPMCOUNTER19 0xb13 +#define CSR_MHPMCOUNTER20 0xb14 +#define CSR_MHPMCOUNTER21 0xb15 +#define CSR_MHPMCOUNTER22 0xb16 +#define CSR_MHPMCOUNTER23 0xb17 +#define CSR_MHPMCOUNTER24 0xb18 +#define CSR_MHPMCOUNTER25 0xb19 +#define CSR_MHPMCOUNTER26 0xb1a +#define CSR_MHPMCOUNTER27 0xb1b +#define CSR_MHPMCOUNTER28 0xb1c +#define CSR_MHPMCOUNTER29 0xb1d +#define CSR_MHPMCOUNTER30 0xb1e +#define CSR_MHPMCOUNTER31 0xb1f +#define CSR_MUCOUNTEREN 0x320 +#define CSR_MSCOUNTEREN 0x321 +#define CSR_MHPMEVENT3 0x323 +#define CSR_MHPMEVENT4 0x324 +#define CSR_MHPMEVENT5 0x325 +#define CSR_MHPMEVENT6 0x326 +#define CSR_MHPMEVENT7 0x327 +#define CSR_MHPMEVENT8 0x328 +#define CSR_MHPMEVENT9 0x329 +#define CSR_MHPMEVENT10 0x32a +#define CSR_MHPMEVENT11 0x32b +#define CSR_MHPMEVENT12 0x32c +#define CSR_MHPMEVENT13 0x32d +#define CSR_MHPMEVENT14 0x32e +#define CSR_MHPMEVENT15 0x32f +#define CSR_MHPMEVENT16 0x330 +#define CSR_MHPMEVENT17 0x331 +#define CSR_MHPMEVENT18 0x332 +#define CSR_MHPMEVENT19 0x333 +#define CSR_MHPMEVENT20 0x334 +#define CSR_MHPMEVENT21 0x335 +#define CSR_MHPMEVENT22 0x336 +#define CSR_MHPMEVENT23 0x337 +#define CSR_MHPMEVENT24 0x338 +#define CSR_MHPMEVENT25 0x339 +#define CSR_MHPMEVENT26 0x33a +#define CSR_MHPMEVENT27 0x33b +#define CSR_MHPMEVENT28 0x33c +#define CSR_MHPMEVENT29 0x33d +#define CSR_MHPMEVENT30 0x33e +#define CSR_MHPMEVENT31 0x33f +#define CSR_MVENDORID 0xf11 +#define CSR_MARCHID 0xf12 +#define CSR_MIMPID 0xf13 +#define CSR_MHARTID 0xf14 +#define CSR_CYCLEH 0xc80 +#define CSR_TIMEH 0xc81 +#define CSR_INSTRETH 0xc82 +#define CSR_HPMCOUNTER3H 0xc83 +#define CSR_HPMCOUNTER4H 0xc84 +#define CSR_HPMCOUNTER5H 0xc85 +#define CSR_HPMCOUNTER6H 0xc86 +#define CSR_HPMCOUNTER7H 0xc87 +#define CSR_HPMCOUNTER8H 0xc88 +#define CSR_HPMCOUNTER9H 0xc89 +#define CSR_HPMCOUNTER10H 0xc8a +#define CSR_HPMCOUNTER11H 0xc8b +#define CSR_HPMCOUNTER12H 0xc8c +#define CSR_HPMCOUNTER13H 0xc8d +#define CSR_HPMCOUNTER14H 0xc8e +#define CSR_HPMCOUNTER15H 0xc8f +#define CSR_HPMCOUNTER16H 0xc90 +#define CSR_HPMCOUNTER17H 0xc91 +#define CSR_HPMCOUNTER18H 0xc92 +#define CSR_HPMCOUNTER19H 0xc93 +#define CSR_HPMCOUNTER20H 0xc94 +#define CSR_HPMCOUNTER21H 0xc95 +#define CSR_HPMCOUNTER22H 0xc96 +#define CSR_HPMCOUNTER23H 0xc97 +#define CSR_HPMCOUNTER24H 0xc98 +#define CSR_HPMCOUNTER25H 0xc99 +#define CSR_HPMCOUNTER26H 0xc9a +#define CSR_HPMCOUNTER27H 0xc9b +#define CSR_HPMCOUNTER28H 0xc9c +#define CSR_HPMCOUNTER29H 0xc9d +#define CSR_HPMCOUNTER30H 0xc9e +#define CSR_HPMCOUNTER31H 0xc9f +#define CSR_MCYCLEH 0xb80 +#define CSR_MINSTRETH 0xb82 +#define CSR_MHPMCOUNTER3H 0xb83 +#define CSR_MHPMCOUNTER4H 0xb84 +#define CSR_MHPMCOUNTER5H 0xb85 +#define CSR_MHPMCOUNTER6H 0xb86 +#define CSR_MHPMCOUNTER7H 0xb87 +#define CSR_MHPMCOUNTER8H 0xb88 +#define CSR_MHPMCOUNTER9H 0xb89 +#define CSR_MHPMCOUNTER10H 0xb8a +#define CSR_MHPMCOUNTER11H 0xb8b +#define CSR_MHPMCOUNTER12H 0xb8c +#define CSR_MHPMCOUNTER13H 0xb8d +#define CSR_MHPMCOUNTER14H 0xb8e +#define CSR_MHPMCOUNTER15H 0xb8f +#define CSR_MHPMCOUNTER16H 0xb90 +#define CSR_MHPMCOUNTER17H 0xb91 +#define CSR_MHPMCOUNTER18H 0xb92 +#define CSR_MHPMCOUNTER19H 0xb93 +#define CSR_MHPMCOUNTER20H 0xb94 +#define CSR_MHPMCOUNTER21H 0xb95 +#define CSR_MHPMCOUNTER22H 0xb96 +#define CSR_MHPMCOUNTER23H 0xb97 +#define CSR_MHPMCOUNTER24H 0xb98 +#define CSR_MHPMCOUNTER25H 0xb99 +#define CSR_MHPMCOUNTER26H 0xb9a +#define CSR_MHPMCOUNTER27H 0xb9b +#define CSR_MHPMCOUNTER28H 0xb9c +#define CSR_MHPMCOUNTER29H 0xb9d +#define CSR_MHPMCOUNTER30H 0xb9e +#define CSR_MHPMCOUNTER31H 0xb9f +#define CAUSE_MISALIGNED_FETCH 0x0 +#define CAUSE_FAULT_FETCH 0x1 +#define CAUSE_ILLEGAL_INSTRUCTION 0x2 +#define CAUSE_BREAKPOINT 0x3 +#define CAUSE_MISALIGNED_LOAD 0x4 +#define CAUSE_FAULT_LOAD 0x5 +#define CAUSE_MISALIGNED_STORE 0x6 +#define CAUSE_FAULT_STORE 0x7 +#define CAUSE_USER_ECALL 0x8 +#define CAUSE_SUPERVISOR_ECALL 0x9 +#define CAUSE_HYPERVISOR_ECALL 0xa +#define CAUSE_MACHINE_ECALL 0xb +#endif +#ifdef DECLARE_INSN +DECLARE_INSN(beq, MATCH_BEQ, MASK_BEQ) +DECLARE_INSN(bne, MATCH_BNE, MASK_BNE) +DECLARE_INSN(blt, MATCH_BLT, MASK_BLT) +DECLARE_INSN(bge, MATCH_BGE, MASK_BGE) +DECLARE_INSN(bltu, MATCH_BLTU, MASK_BLTU) +DECLARE_INSN(bgeu, MATCH_BGEU, MASK_BGEU) +DECLARE_INSN(jalr, MATCH_JALR, MASK_JALR) +DECLARE_INSN(jal, MATCH_JAL, MASK_JAL) +DECLARE_INSN(lui, MATCH_LUI, MASK_LUI) +DECLARE_INSN(auipc, MATCH_AUIPC, MASK_AUIPC) +DECLARE_INSN(addi, MATCH_ADDI, MASK_ADDI) +DECLARE_INSN(slli, MATCH_SLLI, MASK_SLLI) +DECLARE_INSN(slti, MATCH_SLTI, MASK_SLTI) +DECLARE_INSN(sltiu, MATCH_SLTIU, MASK_SLTIU) +DECLARE_INSN(xori, MATCH_XORI, MASK_XORI) +DECLARE_INSN(srli, MATCH_SRLI, MASK_SRLI) +DECLARE_INSN(srai, MATCH_SRAI, MASK_SRAI) +DECLARE_INSN(ori, MATCH_ORI, MASK_ORI) +DECLARE_INSN(andi, MATCH_ANDI, MASK_ANDI) +DECLARE_INSN(add, MATCH_ADD, MASK_ADD) +DECLARE_INSN(sub, MATCH_SUB, MASK_SUB) +DECLARE_INSN(sll, MATCH_SLL, MASK_SLL) +DECLARE_INSN(slt, MATCH_SLT, MASK_SLT) +DECLARE_INSN(sltu, MATCH_SLTU, MASK_SLTU) +DECLARE_INSN(xor, MATCH_XOR, MASK_XOR) +DECLARE_INSN(srl, MATCH_SRL, MASK_SRL) +DECLARE_INSN(sra, MATCH_SRA, MASK_SRA) +DECLARE_INSN(or, MATCH_OR, MASK_OR) +DECLARE_INSN(and, MATCH_AND, MASK_AND) +DECLARE_INSN(addiw, MATCH_ADDIW, MASK_ADDIW) +DECLARE_INSN(slliw, MATCH_SLLIW, MASK_SLLIW) +DECLARE_INSN(srliw, MATCH_SRLIW, MASK_SRLIW) +DECLARE_INSN(sraiw, MATCH_SRAIW, MASK_SRAIW) +DECLARE_INSN(addw, MATCH_ADDW, MASK_ADDW) +DECLARE_INSN(subw, MATCH_SUBW, MASK_SUBW) +DECLARE_INSN(sllw, MATCH_SLLW, MASK_SLLW) +DECLARE_INSN(srlw, MATCH_SRLW, MASK_SRLW) +DECLARE_INSN(sraw, MATCH_SRAW, MASK_SRAW) +DECLARE_INSN(lb, MATCH_LB, MASK_LB) +DECLARE_INSN(lh, MATCH_LH, MASK_LH) +DECLARE_INSN(lw, MATCH_LW, MASK_LW) +DECLARE_INSN(ld, MATCH_LD, MASK_LD) +DECLARE_INSN(lbu, MATCH_LBU, MASK_LBU) +DECLARE_INSN(lhu, MATCH_LHU, MASK_LHU) +DECLARE_INSN(lwu, MATCH_LWU, MASK_LWU) +DECLARE_INSN(sb, MATCH_SB, MASK_SB) +DECLARE_INSN(sh, MATCH_SH, MASK_SH) +DECLARE_INSN(sw, MATCH_SW, MASK_SW) +DECLARE_INSN(sd, MATCH_SD, MASK_SD) +DECLARE_INSN(fence, MATCH_FENCE, MASK_FENCE) +DECLARE_INSN(fence_i, MATCH_FENCE_I, MASK_FENCE_I) +DECLARE_INSN(mul, MATCH_MUL, MASK_MUL) +DECLARE_INSN(mulh, MATCH_MULH, MASK_MULH) +DECLARE_INSN(mulhsu, MATCH_MULHSU, MASK_MULHSU) +DECLARE_INSN(mulhu, MATCH_MULHU, MASK_MULHU) +DECLARE_INSN(div, MATCH_DIV, MASK_DIV) +DECLARE_INSN(divu, MATCH_DIVU, MASK_DIVU) +DECLARE_INSN(rem, MATCH_REM, MASK_REM) +DECLARE_INSN(remu, MATCH_REMU, MASK_REMU) +DECLARE_INSN(mulw, MATCH_MULW, MASK_MULW) +DECLARE_INSN(divw, MATCH_DIVW, MASK_DIVW) +DECLARE_INSN(divuw, MATCH_DIVUW, MASK_DIVUW) +DECLARE_INSN(remw, MATCH_REMW, MASK_REMW) +DECLARE_INSN(remuw, MATCH_REMUW, MASK_REMUW) +DECLARE_INSN(amoadd_w, MATCH_AMOADD_W, MASK_AMOADD_W) +DECLARE_INSN(amoxor_w, MATCH_AMOXOR_W, MASK_AMOXOR_W) +DECLARE_INSN(amoor_w, MATCH_AMOOR_W, MASK_AMOOR_W) +DECLARE_INSN(amoand_w, MATCH_AMOAND_W, MASK_AMOAND_W) +DECLARE_INSN(amomin_w, MATCH_AMOMIN_W, MASK_AMOMIN_W) +DECLARE_INSN(amomax_w, MATCH_AMOMAX_W, MASK_AMOMAX_W) +DECLARE_INSN(amominu_w, MATCH_AMOMINU_W, MASK_AMOMINU_W) +DECLARE_INSN(amomaxu_w, MATCH_AMOMAXU_W, MASK_AMOMAXU_W) +DECLARE_INSN(amoswap_w, MATCH_AMOSWAP_W, MASK_AMOSWAP_W) +DECLARE_INSN(lr_w, MATCH_LR_W, MASK_LR_W) +DECLARE_INSN(sc_w, MATCH_SC_W, MASK_SC_W) +DECLARE_INSN(amoadd_d, MATCH_AMOADD_D, MASK_AMOADD_D) +DECLARE_INSN(amoxor_d, MATCH_AMOXOR_D, MASK_AMOXOR_D) +DECLARE_INSN(amoor_d, MATCH_AMOOR_D, MASK_AMOOR_D) +DECLARE_INSN(amoand_d, MATCH_AMOAND_D, MASK_AMOAND_D) +DECLARE_INSN(amomin_d, MATCH_AMOMIN_D, MASK_AMOMIN_D) +DECLARE_INSN(amomax_d, MATCH_AMOMAX_D, MASK_AMOMAX_D) +DECLARE_INSN(amominu_d, MATCH_AMOMINU_D, MASK_AMOMINU_D) +DECLARE_INSN(amomaxu_d, MATCH_AMOMAXU_D, MASK_AMOMAXU_D) +DECLARE_INSN(amoswap_d, MATCH_AMOSWAP_D, MASK_AMOSWAP_D) +DECLARE_INSN(lr_d, MATCH_LR_D, MASK_LR_D) +DECLARE_INSN(sc_d, MATCH_SC_D, MASK_SC_D) +DECLARE_INSN(ecall, MATCH_ECALL, MASK_ECALL) +DECLARE_INSN(ebreak, MATCH_EBREAK, MASK_EBREAK) +DECLARE_INSN(uret, MATCH_URET, MASK_URET) +DECLARE_INSN(sret, MATCH_SRET, MASK_SRET) +DECLARE_INSN(hret, MATCH_HRET, MASK_HRET) +DECLARE_INSN(mret, MATCH_MRET, MASK_MRET) +DECLARE_INSN(dret, MATCH_DRET, MASK_DRET) +DECLARE_INSN(sfence_vm, MATCH_SFENCE_VM, MASK_SFENCE_VM) +DECLARE_INSN(wfi, MATCH_WFI, MASK_WFI) +DECLARE_INSN(csrrw, MATCH_CSRRW, MASK_CSRRW) +DECLARE_INSN(csrrs, MATCH_CSRRS, MASK_CSRRS) +DECLARE_INSN(csrrc, MATCH_CSRRC, MASK_CSRRC) +DECLARE_INSN(csrrwi, MATCH_CSRRWI, MASK_CSRRWI) +DECLARE_INSN(csrrsi, MATCH_CSRRSI, MASK_CSRRSI) +DECLARE_INSN(csrrci, MATCH_CSRRCI, MASK_CSRRCI) +DECLARE_INSN(fadd_s, MATCH_FADD_S, MASK_FADD_S) +DECLARE_INSN(fsub_s, MATCH_FSUB_S, MASK_FSUB_S) +DECLARE_INSN(fmul_s, MATCH_FMUL_S, MASK_FMUL_S) +DECLARE_INSN(fdiv_s, MATCH_FDIV_S, MASK_FDIV_S) +DECLARE_INSN(fsgnj_s, MATCH_FSGNJ_S, MASK_FSGNJ_S) +DECLARE_INSN(fsgnjn_s, MATCH_FSGNJN_S, MASK_FSGNJN_S) +DECLARE_INSN(fsgnjx_s, MATCH_FSGNJX_S, MASK_FSGNJX_S) +DECLARE_INSN(fmin_s, MATCH_FMIN_S, MASK_FMIN_S) +DECLARE_INSN(fmax_s, MATCH_FMAX_S, MASK_FMAX_S) +DECLARE_INSN(fsqrt_s, MATCH_FSQRT_S, MASK_FSQRT_S) +DECLARE_INSN(fadd_d, MATCH_FADD_D, MASK_FADD_D) +DECLARE_INSN(fsub_d, MATCH_FSUB_D, MASK_FSUB_D) +DECLARE_INSN(fmul_d, MATCH_FMUL_D, MASK_FMUL_D) +DECLARE_INSN(fdiv_d, MATCH_FDIV_D, MASK_FDIV_D) +DECLARE_INSN(fsgnj_d, MATCH_FSGNJ_D, MASK_FSGNJ_D) +DECLARE_INSN(fsgnjn_d, MATCH_FSGNJN_D, MASK_FSGNJN_D) +DECLARE_INSN(fsgnjx_d, MATCH_FSGNJX_D, MASK_FSGNJX_D) +DECLARE_INSN(fmin_d, MATCH_FMIN_D, MASK_FMIN_D) +DECLARE_INSN(fmax_d, MATCH_FMAX_D, MASK_FMAX_D) +DECLARE_INSN(fcvt_s_d, MATCH_FCVT_S_D, MASK_FCVT_S_D) +DECLARE_INSN(fcvt_d_s, MATCH_FCVT_D_S, MASK_FCVT_D_S) +DECLARE_INSN(fsqrt_d, MATCH_FSQRT_D, MASK_FSQRT_D) +DECLARE_INSN(fle_s, MATCH_FLE_S, MASK_FLE_S) +DECLARE_INSN(flt_s, MATCH_FLT_S, MASK_FLT_S) +DECLARE_INSN(feq_s, MATCH_FEQ_S, MASK_FEQ_S) +DECLARE_INSN(fle_d, MATCH_FLE_D, MASK_FLE_D) +DECLARE_INSN(flt_d, MATCH_FLT_D, MASK_FLT_D) +DECLARE_INSN(feq_d, MATCH_FEQ_D, MASK_FEQ_D) +DECLARE_INSN(fcvt_w_s, MATCH_FCVT_W_S, MASK_FCVT_W_S) +DECLARE_INSN(fcvt_wu_s, MATCH_FCVT_WU_S, MASK_FCVT_WU_S) +DECLARE_INSN(fcvt_l_s, MATCH_FCVT_L_S, MASK_FCVT_L_S) +DECLARE_INSN(fcvt_lu_s, MATCH_FCVT_LU_S, MASK_FCVT_LU_S) +DECLARE_INSN(fmv_x_s, MATCH_FMV_X_S, MASK_FMV_X_S) +DECLARE_INSN(fclass_s, MATCH_FCLASS_S, MASK_FCLASS_S) +DECLARE_INSN(fcvt_w_d, MATCH_FCVT_W_D, MASK_FCVT_W_D) +DECLARE_INSN(fcvt_wu_d, MATCH_FCVT_WU_D, MASK_FCVT_WU_D) +DECLARE_INSN(fcvt_l_d, MATCH_FCVT_L_D, MASK_FCVT_L_D) +DECLARE_INSN(fcvt_lu_d, MATCH_FCVT_LU_D, MASK_FCVT_LU_D) +DECLARE_INSN(fmv_x_d, MATCH_FMV_X_D, MASK_FMV_X_D) +DECLARE_INSN(fclass_d, MATCH_FCLASS_D, MASK_FCLASS_D) +DECLARE_INSN(fcvt_s_w, MATCH_FCVT_S_W, MASK_FCVT_S_W) +DECLARE_INSN(fcvt_s_wu, MATCH_FCVT_S_WU, MASK_FCVT_S_WU) +DECLARE_INSN(fcvt_s_l, MATCH_FCVT_S_L, MASK_FCVT_S_L) +DECLARE_INSN(fcvt_s_lu, MATCH_FCVT_S_LU, MASK_FCVT_S_LU) +DECLARE_INSN(fmv_s_x, MATCH_FMV_S_X, MASK_FMV_S_X) +DECLARE_INSN(fcvt_d_w, MATCH_FCVT_D_W, MASK_FCVT_D_W) +DECLARE_INSN(fcvt_d_wu, MATCH_FCVT_D_WU, MASK_FCVT_D_WU) +DECLARE_INSN(fcvt_d_l, MATCH_FCVT_D_L, MASK_FCVT_D_L) +DECLARE_INSN(fcvt_d_lu, MATCH_FCVT_D_LU, MASK_FCVT_D_LU) +DECLARE_INSN(fmv_d_x, MATCH_FMV_D_X, MASK_FMV_D_X) +DECLARE_INSN(flw, MATCH_FLW, MASK_FLW) +DECLARE_INSN(fld, MATCH_FLD, MASK_FLD) +DECLARE_INSN(fsw, MATCH_FSW, MASK_FSW) +DECLARE_INSN(fsd, MATCH_FSD, MASK_FSD) +DECLARE_INSN(fmadd_s, MATCH_FMADD_S, MASK_FMADD_S) +DECLARE_INSN(fmsub_s, MATCH_FMSUB_S, MASK_FMSUB_S) +DECLARE_INSN(fnmsub_s, MATCH_FNMSUB_S, MASK_FNMSUB_S) +DECLARE_INSN(fnmadd_s, MATCH_FNMADD_S, MASK_FNMADD_S) +DECLARE_INSN(fmadd_d, MATCH_FMADD_D, MASK_FMADD_D) +DECLARE_INSN(fmsub_d, MATCH_FMSUB_D, MASK_FMSUB_D) +DECLARE_INSN(fnmsub_d, MATCH_FNMSUB_D, MASK_FNMSUB_D) +DECLARE_INSN(fnmadd_d, MATCH_FNMADD_D, MASK_FNMADD_D) +DECLARE_INSN(c_nop, MATCH_C_NOP, MASK_C_NOP) +DECLARE_INSN(c_addi16sp, MATCH_C_ADDI16SP, MASK_C_ADDI16SP) +DECLARE_INSN(c_jr, MATCH_C_JR, MASK_C_JR) +DECLARE_INSN(c_jalr, MATCH_C_JALR, MASK_C_JALR) +DECLARE_INSN(c_ebreak, MATCH_C_EBREAK, MASK_C_EBREAK) +DECLARE_INSN(c_ld, MATCH_C_LD, MASK_C_LD) +DECLARE_INSN(c_sd, MATCH_C_SD, MASK_C_SD) +DECLARE_INSN(c_addiw, MATCH_C_ADDIW, MASK_C_ADDIW) +DECLARE_INSN(c_ldsp, MATCH_C_LDSP, MASK_C_LDSP) +DECLARE_INSN(c_sdsp, MATCH_C_SDSP, MASK_C_SDSP) +DECLARE_INSN(c_addi4spn, MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN) +DECLARE_INSN(c_fld, MATCH_C_FLD, MASK_C_FLD) +DECLARE_INSN(c_lw, MATCH_C_LW, MASK_C_LW) +DECLARE_INSN(c_flw, MATCH_C_FLW, MASK_C_FLW) +DECLARE_INSN(c_fsd, MATCH_C_FSD, MASK_C_FSD) +DECLARE_INSN(c_sw, MATCH_C_SW, MASK_C_SW) +DECLARE_INSN(c_fsw, MATCH_C_FSW, MASK_C_FSW) +DECLARE_INSN(c_addi, MATCH_C_ADDI, MASK_C_ADDI) +DECLARE_INSN(c_jal, MATCH_C_JAL, MASK_C_JAL) +DECLARE_INSN(c_li, MATCH_C_LI, MASK_C_LI) +DECLARE_INSN(c_lui, MATCH_C_LUI, MASK_C_LUI) +DECLARE_INSN(c_srli, MATCH_C_SRLI, MASK_C_SRLI) +DECLARE_INSN(c_srai, MATCH_C_SRAI, MASK_C_SRAI) +DECLARE_INSN(c_andi, MATCH_C_ANDI, MASK_C_ANDI) +DECLARE_INSN(c_sub, MATCH_C_SUB, MASK_C_SUB) +DECLARE_INSN(c_xor, MATCH_C_XOR, MASK_C_XOR) +DECLARE_INSN(c_or, MATCH_C_OR, MASK_C_OR) +DECLARE_INSN(c_and, MATCH_C_AND, MASK_C_AND) +DECLARE_INSN(c_subw, MATCH_C_SUBW, MASK_C_SUBW) +DECLARE_INSN(c_addw, MATCH_C_ADDW, MASK_C_ADDW) +DECLARE_INSN(c_j, MATCH_C_J, MASK_C_J) +DECLARE_INSN(c_beqz, MATCH_C_BEQZ, MASK_C_BEQZ) +DECLARE_INSN(c_bnez, MATCH_C_BNEZ, MASK_C_BNEZ) +DECLARE_INSN(c_slli, MATCH_C_SLLI, MASK_C_SLLI) +DECLARE_INSN(c_fldsp, MATCH_C_FLDSP, MASK_C_FLDSP) +DECLARE_INSN(c_lwsp, MATCH_C_LWSP, MASK_C_LWSP) +DECLARE_INSN(c_flwsp, MATCH_C_FLWSP, MASK_C_FLWSP) +DECLARE_INSN(c_mv, MATCH_C_MV, MASK_C_MV) +DECLARE_INSN(c_add, MATCH_C_ADD, MASK_C_ADD) +DECLARE_INSN(c_fsdsp, MATCH_C_FSDSP, MASK_C_FSDSP) +DECLARE_INSN(c_swsp, MATCH_C_SWSP, MASK_C_SWSP) +DECLARE_INSN(c_fswsp, MATCH_C_FSWSP, MASK_C_FSWSP) +DECLARE_INSN(custom0, MATCH_CUSTOM0, MASK_CUSTOM0) +DECLARE_INSN(custom0_rs1, MATCH_CUSTOM0_RS1, MASK_CUSTOM0_RS1) +DECLARE_INSN(custom0_rs1_rs2, MATCH_CUSTOM0_RS1_RS2, MASK_CUSTOM0_RS1_RS2) +DECLARE_INSN(custom0_rd, MATCH_CUSTOM0_RD, MASK_CUSTOM0_RD) +DECLARE_INSN(custom0_rd_rs1, MATCH_CUSTOM0_RD_RS1, MASK_CUSTOM0_RD_RS1) +DECLARE_INSN(custom0_rd_rs1_rs2, MATCH_CUSTOM0_RD_RS1_RS2, MASK_CUSTOM0_RD_RS1_RS2) +DECLARE_INSN(custom1, MATCH_CUSTOM1, MASK_CUSTOM1) +DECLARE_INSN(custom1_rs1, MATCH_CUSTOM1_RS1, MASK_CUSTOM1_RS1) +DECLARE_INSN(custom1_rs1_rs2, MATCH_CUSTOM1_RS1_RS2, MASK_CUSTOM1_RS1_RS2) +DECLARE_INSN(custom1_rd, MATCH_CUSTOM1_RD, MASK_CUSTOM1_RD) +DECLARE_INSN(custom1_rd_rs1, MATCH_CUSTOM1_RD_RS1, MASK_CUSTOM1_RD_RS1) +DECLARE_INSN(custom1_rd_rs1_rs2, MATCH_CUSTOM1_RD_RS1_RS2, MASK_CUSTOM1_RD_RS1_RS2) +DECLARE_INSN(custom2, MATCH_CUSTOM2, MASK_CUSTOM2) +DECLARE_INSN(custom2_rs1, MATCH_CUSTOM2_RS1, MASK_CUSTOM2_RS1) +DECLARE_INSN(custom2_rs1_rs2, MATCH_CUSTOM2_RS1_RS2, MASK_CUSTOM2_RS1_RS2) +DECLARE_INSN(custom2_rd, MATCH_CUSTOM2_RD, MASK_CUSTOM2_RD) +DECLARE_INSN(custom2_rd_rs1, MATCH_CUSTOM2_RD_RS1, MASK_CUSTOM2_RD_RS1) +DECLARE_INSN(custom2_rd_rs1_rs2, MATCH_CUSTOM2_RD_RS1_RS2, MASK_CUSTOM2_RD_RS1_RS2) +DECLARE_INSN(custom3, MATCH_CUSTOM3, MASK_CUSTOM3) +DECLARE_INSN(custom3_rs1, MATCH_CUSTOM3_RS1, MASK_CUSTOM3_RS1) +DECLARE_INSN(custom3_rs1_rs2, MATCH_CUSTOM3_RS1_RS2, MASK_CUSTOM3_RS1_RS2) +DECLARE_INSN(custom3_rd, MATCH_CUSTOM3_RD, MASK_CUSTOM3_RD) +DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTOM3_RD_RS1, MASK_CUSTOM3_RD_RS1) +DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2) +#endif +#ifdef DECLARE_CSR +DECLARE_CSR(fflags, CSR_FFLAGS) +DECLARE_CSR(frm, CSR_FRM) +DECLARE_CSR(fcsr, CSR_FCSR) +DECLARE_CSR(cycle, CSR_CYCLE) +DECLARE_CSR(time, CSR_TIME) +DECLARE_CSR(instret, CSR_INSTRET) +DECLARE_CSR(hpmcounter3, CSR_HPMCOUNTER3) +DECLARE_CSR(hpmcounter4, CSR_HPMCOUNTER4) +DECLARE_CSR(hpmcounter5, CSR_HPMCOUNTER5) +DECLARE_CSR(hpmcounter6, CSR_HPMCOUNTER6) +DECLARE_CSR(hpmcounter7, CSR_HPMCOUNTER7) +DECLARE_CSR(hpmcounter8, CSR_HPMCOUNTER8) +DECLARE_CSR(hpmcounter9, CSR_HPMCOUNTER9) +DECLARE_CSR(hpmcounter10, CSR_HPMCOUNTER10) +DECLARE_CSR(hpmcounter11, CSR_HPMCOUNTER11) +DECLARE_CSR(hpmcounter12, CSR_HPMCOUNTER12) +DECLARE_CSR(hpmcounter13, CSR_HPMCOUNTER13) +DECLARE_CSR(hpmcounter14, CSR_HPMCOUNTER14) +DECLARE_CSR(hpmcounter15, CSR_HPMCOUNTER15) +DECLARE_CSR(hpmcounter16, CSR_HPMCOUNTER16) +DECLARE_CSR(hpmcounter17, CSR_HPMCOUNTER17) +DECLARE_CSR(hpmcounter18, CSR_HPMCOUNTER18) +DECLARE_CSR(hpmcounter19, CSR_HPMCOUNTER19) +DECLARE_CSR(hpmcounter20, CSR_HPMCOUNTER20) +DECLARE_CSR(hpmcounter21, CSR_HPMCOUNTER21) +DECLARE_CSR(hpmcounter22, CSR_HPMCOUNTER22) +DECLARE_CSR(hpmcounter23, CSR_HPMCOUNTER23) +DECLARE_CSR(hpmcounter24, CSR_HPMCOUNTER24) +DECLARE_CSR(hpmcounter25, CSR_HPMCOUNTER25) +DECLARE_CSR(hpmcounter26, CSR_HPMCOUNTER26) +DECLARE_CSR(hpmcounter27, CSR_HPMCOUNTER27) +DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28) +DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29) +DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30) +DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31) +DECLARE_CSR(sstatus, CSR_SSTATUS) +DECLARE_CSR(sie, CSR_SIE) +DECLARE_CSR(stvec, CSR_STVEC) +DECLARE_CSR(sscratch, CSR_SSCRATCH) +DECLARE_CSR(sepc, CSR_SEPC) +DECLARE_CSR(scause, CSR_SCAUSE) +DECLARE_CSR(sbadaddr, CSR_SBADADDR) +DECLARE_CSR(sip, CSR_SIP) +DECLARE_CSR(sptbr, CSR_SPTBR) +DECLARE_CSR(mstatus, CSR_MSTATUS) +DECLARE_CSR(misa, CSR_MISA) +DECLARE_CSR(medeleg, CSR_MEDELEG) +DECLARE_CSR(mideleg, CSR_MIDELEG) +DECLARE_CSR(mie, CSR_MIE) +DECLARE_CSR(mtvec, CSR_MTVEC) +DECLARE_CSR(mscratch, CSR_MSCRATCH) +DECLARE_CSR(mepc, CSR_MEPC) +DECLARE_CSR(mcause, CSR_MCAUSE) +DECLARE_CSR(mbadaddr, CSR_MBADADDR) +DECLARE_CSR(mip, CSR_MIP) +DECLARE_CSR(tselect, CSR_TSELECT) +DECLARE_CSR(tdata1, CSR_TDATA1) +DECLARE_CSR(tdata2, CSR_TDATA2) +DECLARE_CSR(tdata3, CSR_TDATA3) +DECLARE_CSR(dcsr, CSR_DCSR) +DECLARE_CSR(dpc, CSR_DPC) +DECLARE_CSR(dscratch, CSR_DSCRATCH) +DECLARE_CSR(mcycle, CSR_MCYCLE) +DECLARE_CSR(minstret, CSR_MINSTRET) +DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3) +DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4) +DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5) +DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6) +DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7) +DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8) +DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9) +DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10) +DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11) +DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12) +DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13) +DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14) +DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15) +DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16) +DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17) +DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18) +DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19) +DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20) +DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21) +DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22) +DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23) +DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24) +DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25) +DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26) +DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27) +DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28) +DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29) +DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30) +DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31) +DECLARE_CSR(mucounteren, CSR_MUCOUNTEREN) +DECLARE_CSR(mscounteren, CSR_MSCOUNTEREN) +DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3) +DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4) +DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5) +DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6) +DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7) +DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8) +DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9) +DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10) +DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11) +DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12) +DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13) +DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14) +DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15) +DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16) +DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17) +DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18) +DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19) +DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20) +DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21) +DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22) +DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23) +DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24) +DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25) +DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26) +DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27) +DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28) +DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29) +DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30) +DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31) +DECLARE_CSR(mvendorid, CSR_MVENDORID) +DECLARE_CSR(marchid, CSR_MARCHID) +DECLARE_CSR(mimpid, CSR_MIMPID) +DECLARE_CSR(mhartid, CSR_MHARTID) +DECLARE_CSR(cycleh, CSR_CYCLEH) +DECLARE_CSR(timeh, CSR_TIMEH) +DECLARE_CSR(instreth, CSR_INSTRETH) +DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H) +DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H) +DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H) +DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H) +DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H) +DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H) +DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H) +DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H) +DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H) +DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H) +DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H) +DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H) +DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H) +DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H) +DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H) +DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H) +DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H) +DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H) +DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H) +DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H) +DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H) +DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H) +DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H) +DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H) +DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H) +DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H) +DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H) +DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H) +DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H) +DECLARE_CSR(mcycleh, CSR_MCYCLEH) +DECLARE_CSR(minstreth, CSR_MINSTRETH) +DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H) +DECLARE_CSR(mhpmcounter4h, CSR_MHPMCOUNTER4H) +DECLARE_CSR(mhpmcounter5h, CSR_MHPMCOUNTER5H) +DECLARE_CSR(mhpmcounter6h, CSR_MHPMCOUNTER6H) +DECLARE_CSR(mhpmcounter7h, CSR_MHPMCOUNTER7H) +DECLARE_CSR(mhpmcounter8h, CSR_MHPMCOUNTER8H) +DECLARE_CSR(mhpmcounter9h, CSR_MHPMCOUNTER9H) +DECLARE_CSR(mhpmcounter10h, CSR_MHPMCOUNTER10H) +DECLARE_CSR(mhpmcounter11h, CSR_MHPMCOUNTER11H) +DECLARE_CSR(mhpmcounter12h, CSR_MHPMCOUNTER12H) +DECLARE_CSR(mhpmcounter13h, CSR_MHPMCOUNTER13H) +DECLARE_CSR(mhpmcounter14h, CSR_MHPMCOUNTER14H) +DECLARE_CSR(mhpmcounter15h, CSR_MHPMCOUNTER15H) +DECLARE_CSR(mhpmcounter16h, CSR_MHPMCOUNTER16H) +DECLARE_CSR(mhpmcounter17h, CSR_MHPMCOUNTER17H) +DECLARE_CSR(mhpmcounter18h, CSR_MHPMCOUNTER18H) +DECLARE_CSR(mhpmcounter19h, CSR_MHPMCOUNTER19H) +DECLARE_CSR(mhpmcounter20h, CSR_MHPMCOUNTER20H) +DECLARE_CSR(mhpmcounter21h, CSR_MHPMCOUNTER21H) +DECLARE_CSR(mhpmcounter22h, CSR_MHPMCOUNTER22H) +DECLARE_CSR(mhpmcounter23h, CSR_MHPMCOUNTER23H) +DECLARE_CSR(mhpmcounter24h, CSR_MHPMCOUNTER24H) +DECLARE_CSR(mhpmcounter25h, CSR_MHPMCOUNTER25H) +DECLARE_CSR(mhpmcounter26h, CSR_MHPMCOUNTER26H) +DECLARE_CSR(mhpmcounter27h, CSR_MHPMCOUNTER27H) +DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H) +DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H) +DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H) +DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H) +#endif +#ifdef DECLARE_CAUSE +DECLARE_CAUSE("misaligned fetch", CAUSE_MISALIGNED_FETCH) +DECLARE_CAUSE("fault fetch", CAUSE_FAULT_FETCH) +DECLARE_CAUSE("illegal instruction", CAUSE_ILLEGAL_INSTRUCTION) +DECLARE_CAUSE("breakpoint", CAUSE_BREAKPOINT) +DECLARE_CAUSE("misaligned load", CAUSE_MISALIGNED_LOAD) +DECLARE_CAUSE("fault load", CAUSE_FAULT_LOAD) +DECLARE_CAUSE("misaligned store", CAUSE_MISALIGNED_STORE) +DECLARE_CAUSE("fault store", CAUSE_FAULT_STORE) +DECLARE_CAUSE("user_ecall", CAUSE_USER_ECALL) +DECLARE_CAUSE("supervisor_ecall", CAUSE_SUPERVISOR_ECALL) +DECLARE_CAUSE("hypervisor_ecall", CAUSE_HYPERVISOR_ECALL) +DECLARE_CAUSE("machine_ecall", CAUSE_MACHINE_ECALL) +#endif diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/entry.S b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/entry.S new file mode 100644 index 0000000000..1f5de24871 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/entry.S @@ -0,0 +1,97 @@ +// See LICENSE for license details + +#ifndef ENTRY_S +#define ENTRY_S + +#include "encoding.h" +#include "sifive/bits.h" + + .section .text.entry + .align 2 + .global trap_entry +trap_entry: + addi sp, sp, -32*REGBYTES + + STORE x1, 1*REGBYTES(sp) + STORE x2, 2*REGBYTES(sp) + STORE x3, 3*REGBYTES(sp) + STORE x4, 4*REGBYTES(sp) + STORE x5, 5*REGBYTES(sp) + STORE x6, 6*REGBYTES(sp) + STORE x7, 7*REGBYTES(sp) + STORE x8, 8*REGBYTES(sp) + STORE x9, 9*REGBYTES(sp) + STORE x10, 10*REGBYTES(sp) + STORE x11, 11*REGBYTES(sp) + STORE x12, 12*REGBYTES(sp) + STORE x13, 13*REGBYTES(sp) + STORE x14, 14*REGBYTES(sp) + STORE x15, 15*REGBYTES(sp) + STORE x16, 16*REGBYTES(sp) + STORE x17, 17*REGBYTES(sp) + STORE x18, 18*REGBYTES(sp) + STORE x19, 19*REGBYTES(sp) + STORE x20, 20*REGBYTES(sp) + STORE x21, 21*REGBYTES(sp) + STORE x22, 22*REGBYTES(sp) + STORE x23, 23*REGBYTES(sp) + STORE x24, 24*REGBYTES(sp) + STORE x25, 25*REGBYTES(sp) + STORE x26, 26*REGBYTES(sp) + STORE x27, 27*REGBYTES(sp) + STORE x28, 28*REGBYTES(sp) + STORE x29, 29*REGBYTES(sp) + STORE x30, 30*REGBYTES(sp) + STORE x31, 31*REGBYTES(sp) + + csrr a0, mcause + csrr a1, mepc + mv a2, sp + call handle_trap + csrw mepc, a0 + + # Remain in M-mode after mret + li t0, MSTATUS_MPP + csrs mstatus, t0 + + LOAD x1, 1*REGBYTES(sp) + LOAD x2, 2*REGBYTES(sp) + LOAD x3, 3*REGBYTES(sp) + LOAD x4, 4*REGBYTES(sp) + LOAD x5, 5*REGBYTES(sp) + LOAD x6, 6*REGBYTES(sp) + LOAD x7, 7*REGBYTES(sp) + LOAD x8, 8*REGBYTES(sp) + LOAD x9, 9*REGBYTES(sp) + LOAD x10, 10*REGBYTES(sp) + LOAD x11, 11*REGBYTES(sp) + LOAD x12, 12*REGBYTES(sp) + LOAD x13, 13*REGBYTES(sp) + LOAD x14, 14*REGBYTES(sp) + LOAD x15, 15*REGBYTES(sp) + LOAD x16, 16*REGBYTES(sp) + LOAD x17, 17*REGBYTES(sp) + LOAD x18, 18*REGBYTES(sp) + LOAD x19, 19*REGBYTES(sp) + LOAD x20, 20*REGBYTES(sp) + LOAD x21, 21*REGBYTES(sp) + LOAD x22, 22*REGBYTES(sp) + LOAD x23, 23*REGBYTES(sp) + LOAD x24, 24*REGBYTES(sp) + LOAD x25, 25*REGBYTES(sp) + LOAD x26, 26*REGBYTES(sp) + LOAD x27, 27*REGBYTES(sp) + LOAD x28, 28*REGBYTES(sp) + LOAD x29, 29*REGBYTES(sp) + LOAD x30, 30*REGBYTES(sp) + LOAD x31, 31*REGBYTES(sp) + + addi sp, sp, 32*REGBYTES + mret + +.weak handle_trap +handle_trap: +1: + j 1b + +#endif diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/flash.lds b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/flash.lds new file mode 100644 index 0000000000..6441ce598f --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/flash.lds @@ -0,0 +1 @@ +../freedom-e300-hifive1/flash.lds \ No newline at end of file diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/init.c b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/init.c new file mode 100644 index 0000000000..a6f4b39abb --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/init.c @@ -0,0 +1,87 @@ +//See LICENSE for license details. +#include +#include +#include + +#include "platform.h" +#include "encoding.h" + +extern int main(int argc, char** argv); +extern void trap_entry(); + +static unsigned long get_cpu_freq() +{ + return 65000000; +} + +unsigned long get_timer_freq() +{ + return get_cpu_freq(); +} + +uint64_t get_timer_value() +{ +#if __riscv_xlen == 32 + while (1) { + uint32_t hi = read_csr(mcycleh); + uint32_t lo = read_csr(mcycle); + if (hi == read_csr(mcycleh)) + return ((uint64_t)hi << 32) | lo; + } +#else + return read_csr(mcycle); +#endif +} + +static void uart_init(size_t baud_rate) +{ + GPIO_REG(GPIO_IOF_SEL) &= ~IOF0_UART0_MASK; + GPIO_REG(GPIO_IOF_EN) |= IOF0_UART0_MASK; + UART0_REG(UART_REG_DIV) = get_cpu_freq() / baud_rate - 1; + UART0_REG(UART_REG_TXCTRL) |= UART_TXEN; +} + + +#ifdef USE_PLIC +extern void handle_m_ext_interrupt(); +#endif + +#ifdef USE_M_TIME +extern void handle_m_time_interrupt(); +#endif + +uintptr_t handle_trap(uintptr_t mcause, uintptr_t epc) +{ + if (0){ +#ifdef USE_PLIC + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_EXT)) { + handle_m_ext_interrupt(); +#endif +#ifdef USE_M_TIME + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_TIMER)){ + handle_m_time_interrupt(); +#endif + } + else { + write(1, "Unhandled Trap:\n", 16); + _exit(1 + mcause); + } + return epc; +} + +void _init() +{ + #ifndef NO_INIT + uart_init(115200); + + printf("core freq at %d Hz\n", get_cpu_freq()); + + write_csr(mtvec, &trap_entry); + #endif +} + +void _fini() +{ +} diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/openocd.cfg b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/openocd.cfg new file mode 100644 index 0000000000..f4b28ed57e --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/openocd.cfg @@ -0,0 +1,30 @@ +adapter_khz 10000 + +#source [find interface/ftdi/olimex-arm-usb-tiny-h.cfg] + +interface ftdi +ftdi_device_desc "Olimex OpenOCD JTAG ARM-USB-TINY-H" +ftdi_vid_pid 0x15ba 0x002a + +ftdi_layout_init 0x0808 0x0a1b +ftdi_layout_signal nSRST -oe 0x0200 +ftdi_layout_signal nTRST -data 0x0100 -oe 0x0100 +ftdi_layout_signal LED -data 0x0800 +# + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913 + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME riscv -chain-position $_TARGETNAME +$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 + +flash bank my_first_flash fespi 0x20000000 0 0 0 $_TARGETNAME +init +#reset +if {[ info exists pulse_srst]} { + ftdi_set_signal nSRST 0 + ftdi_set_signal nSRST z +} +halt +#flash protect 0 64 last off diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/platform.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/platform.h new file mode 100644 index 0000000000..8ff7ae62d8 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-arty/platform.h @@ -0,0 +1,124 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PLATFORM_H +#define _SIFIVE_PLATFORM_H + +// Some things missing from the official encoding.h +#define MCAUSE_INT 0x80000000 +#define MCAUSE_CAUSE 0x7FFFFFFF + +#include "sifive/const.h" +#include "sifive/devices/aon.h" +#include "sifive/devices/clint.h" +#include "sifive/devices/gpio.h" +#include "sifive/devices/plic.h" +#include "sifive/devices/pwm.h" +#include "sifive/devices/spi.h" +#include "sifive/devices/uart.h" + +/**************************************************************************** + * Platform definitions + *****************************************************************************/ + +#define TRAPVEC_TABLE_CTRL_ADDR _AC(0x00001010,UL) +#define CLINT_CTRL_ADDR _AC(0x02000000,UL) +#define PLIC_CTRL_ADDR _AC(0x0C000000,UL) +#define AON_CTRL_ADDR _AC(0x10000000,UL) +#define GPIO_CTRL_ADDR _AC(0x10012000,UL) +#define UART0_CTRL_ADDR _AC(0x10013000,UL) +#define SPI0_CTRL_ADDR _AC(0x10014000,UL) +#define PWM0_CTRL_ADDR _AC(0x10015000,UL) +#define UART1_CTRL_ADDR _AC(0x10023000,UL) +#define SPI1_CTRL_ADDR _AC(0x10024000,UL) +#define PWM1_CTRL_ADDR _AC(0x10025000,UL) +#define SPI2_CTRL_ADDR _AC(0x10034000,UL) +#define PWM2_CTRL_ADDR _AC(0x10035000,UL) +#define SPI0_MMAP_ADDR _AC(0x20000000,UL) +#define MEM_CTRL_ADDR _AC(0x80000000,UL) + +// IOF Mappings +#define IOF0_SPI1_MASK _AC(0x000007FC,UL) +#define SPI11_NUM_SS (4) +#define IOF_SPI1_SS0 (2u) +#define IOF_SPI1_SS1 (8u) +#define IOF_SPI1_SS2 (9u) +#define IOF_SPI1_SS3 (10u) +#define IOF_SPI1_MOSI (3u) +#define IOF_SPI1_MISO (4u) +#define IOF_SPI1_SCK (5u) +#define IOF_SPI1_DQ0 (3u) +#define IOF_SPI1_DQ1 (4u) +#define IOF_SPI1_DQ2 (6u) +#define IOF_SPI1_DQ3 (7u) + +#define IOF0_SPI2_MASK _AC(0xFC000000,UL) +#define SPI2_NUM_SS (1) +#define IOF_SPI2_SS0 (26u) +#define IOF_SPI2_MOSI (27u) +#define IOF_SPI2_MISO (28u) +#define IOF_SPI2_SCK (29u) +#define IOF_SPI2_DQ0 (27u) +#define IOF_SPI2_DQ1 (28u) +#define IOF_SPI2_DQ2 (30u) +#define IOF_SPI2_DQ3 (31u) + +#define IOF0_UART0_MASK _AC(0x00030000, UL) +#define IOF_UART0_RX (16u) +#define IOF_UART0_TX (17u) + +#define IOF0_UART1_MASK _AC(0x03000000, UL) +#define IOF_UART1_RX (24u) +#define IOF_UART1_TX (25u) + +#define IOF1_PWM0_MASK _AC(0x0000000F, UL) +#define IOF1_PWM1_MASK _AC(0x00780000, UL) +#define IOF1_PWM2_MASK _AC(0x00003C00, UL) + +// Interrupt Numbers +#define INT_RESERVED 0 +#define INT_WDOGCMP 1 +#define INT_RTCCMP 2 +#define INT_UART0_BASE 3 +#define INT_UART1_BASE 4 +#define INT_SPI0_BASE 5 +#define INT_SPI1_BASE 6 +#define INT_SPI2_BASE 7 +#define INT_GPIO_BASE 8 +#define INT_PWM0_BASE 40 +#define INT_PWM1_BASE 44 +#define INT_PWM2_BASE 48 + +// Helper functions +#define _REG32(p, i) (*(volatile uint32_t *) ((p) + (i))) +#define _REG32P(p, i) ((volatile uint32_t *) ((p) + (i))) +#define AON_REG(offset) _REG32(AON_CTRL_ADDR, offset) +#define CLINT_REG(offset) _REG32(CLINT_CTRL_ADDR, offset) +#define GPIO_REG(offset) _REG32(GPIO_CTRL_ADDR, offset) +#define OTP_REG(offset) _REG32(OTP_CTRL_ADDR, offset) +#define PLIC_REG(offset) _REG32(PLIC_CTRL_ADDR, offset) +#define PWM0_REG(offset) _REG32(PWM0_CTRL_ADDR, offset) +#define PWM1_REG(offset) _REG32(PWM1_CTRL_ADDR, offset) +#define PWM2_REG(offset) _REG32(PWM2_CTRL_ADDR, offset) +#define SPI0_REG(offset) _REG32(SPI0_CTRL_ADDR, offset) +#define SPI1_REG(offset) _REG32(SPI1_CTRL_ADDR, offset) +#define SPI2_REG(offset) _REG32(SPI2_CTRL_ADDR, offset) +#define UART0_REG(offset) _REG32(UART0_CTRL_ADDR, offset) +#define UART1_REG(offset) _REG32(UART1_CTRL_ADDR, offset) + +// Misc + +#include + + +#define NUM_GPIO 32 + +#define PLIC_NUM_INTERRUPTS 52 +#define PLIC_NUM_PRIORITIES 7 + +#define HAS_BOARD_BUTTONS +#include "hifive1.h" + +unsigned long get_timer_freq(void); +uint64_t get_timer_value(void); + +#endif /* _SIFIVE_PLATFORM_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/flash.lds b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/flash.lds new file mode 100644 index 0000000000..4bc1ecf025 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/flash.lds @@ -0,0 +1,185 @@ +OUTPUT_ARCH( "riscv" ) + +ENTRY( _start ) + +MEMORY +{ + flash (rxai!w) : ORIGIN = 0x20010000, LENGTH = 0x6a120 + ram (wxa!ri) : ORIGIN = 0x80000000, LENGTH = 16K +} + +PHDRS +{ + flash PT_LOAD; + ram_init PT_LOAD; + ram PT_NULL; +} + +SECTIONS +{ + __stack_size = DEFINED(__stack_size) ? __stack_size : 2K; + + .init : + { + KEEP (*(SORT_NONE(.init))) + } >flash AT>flash :flash + + .text : + { + *(.text.unlikely .text.unlikely.*) + *(.text.startup .text.startup.*) + *(.text .text.*) + *(.gnu.linkonce.t.*) + + /* section information for finsh shell */ + . = ALIGN(4); + __fsymtab_start = .; + KEEP(*(FSymTab)) + __fsymtab_end = .; + . = ALIGN(4); + __vsymtab_start = .; + KEEP(*(VSymTab)) + __vsymtab_end = .; + . = ALIGN(4); + + . = ALIGN(4); + __rt_init_start = .; + KEEP(*(SORT(.rti_fn*))) + __rt_init_end = .; + . = ALIGN(4); + + /* section information for modules */ + . = ALIGN(4); + __rtmsymtab_start = .; + KEEP(*(RTMSymTab)) + __rtmsymtab_end = .; + + } >flash AT>flash :flash + + .fini : + { + KEEP (*(SORT_NONE(.fini))) + } >flash AT>flash :flash + + PROVIDE (__etext = .); + PROVIDE (_etext = .); + PROVIDE (etext = .); + + .rodata : + { + *(.rdata) + *(.rodata .rodata.*) + *(.gnu.linkonce.r.*) + } >flash AT>flash :flash + + . = ALIGN(4); + + .preinit_array : + { + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + } >flash AT>flash :flash + + .init_array : + { + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) + KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) + PROVIDE_HIDDEN (__init_array_end = .); + } >flash AT>flash :flash + + .fini_array : + { + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) + KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) + PROVIDE_HIDDEN (__fini_array_end = .); + } >flash AT>flash :flash + + .ctors : + { + /* gcc uses crtbegin.o to find the start of + the constructors, so we make sure it is + first. Because this is a wildcard, it + doesn't matter if the user does not + actually link against crtbegin.o; the + linker won't look for a file to match a + wildcard. The wildcard also means that it + doesn't matter which directory crtbegin.o + is in. */ + KEEP (*crtbegin.o(.ctors)) + KEEP (*crtbegin?.o(.ctors)) + /* We don't want to include the .ctor section from + the crtend.o file until after the sorted ctors. + The .ctor section from the crtend file contains the + end of ctors marker and it must be last */ + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) + KEEP (*(SORT(.ctors.*))) + KEEP (*(.ctors)) + } >flash AT>flash :flash + + .dtors : + { + KEEP (*crtbegin.o(.dtors)) + KEEP (*crtbegin?.o(.dtors)) + KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) + KEEP (*(SORT(.dtors.*))) + KEEP (*(.dtors)) + } >flash AT>flash :flash + + .lalign : + { + . = ALIGN(4); + PROVIDE( _data_lma = . ); + } >flash AT>flash :flash + + .dalign : + { + . = ALIGN(4); + PROVIDE( _data = . ); + } >ram AT>flash :ram_init + + .data : + { + *(.data .data.*) + *(.gnu.linkonce.d.*) + . = ALIGN(8); + PROVIDE( __global_pointer$ = . + 0x800 ); + *(.sdata .sdata.*) + *(.gnu.linkonce.s.*) + . = ALIGN(8); + *(.srodata.cst16) + *(.srodata.cst8) + *(.srodata.cst4) + *(.srodata.cst2) + *(.srodata .srodata.*) + } >ram AT>flash :ram_init + + . = ALIGN(4); + PROVIDE( _edata = . ); + PROVIDE( edata = . ); + + PROVIDE( _fbss = . ); + PROVIDE( __bss_start = . ); + .bss : + { + *(.sbss*) + *(.gnu.linkonce.sb.*) + *(.bss .bss.*) + *(.gnu.linkonce.b.*) + *(COMMON) + . = ALIGN(4); + } >ram AT>ram :ram + + . = ALIGN(8); + PROVIDE( _end = . ); + PROVIDE( end = . ); + + .stack ORIGIN(ram) + LENGTH(ram) - __stack_size : + { + PROVIDE( _heap_end = . ); + . = __stack_size; + PROVIDE( _sp = . ); + } >ram AT>ram :ram +} diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/init.c b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/init.c new file mode 100644 index 0000000000..6fa966bbc8 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/init.c @@ -0,0 +1,237 @@ +#include +#include +#include + +#include "platform.h" +#include "encoding.h" + +extern int main(int argc, char** argv); +extern void trap_entry(); + +static unsigned long mtime_lo(void) +{ + return *(volatile unsigned long *)(CLINT_CTRL_ADDR + CLINT_MTIME); +} + +#ifdef __riscv32 + +static uint32_t mtime_hi(void) +{ + return *(volatile uint32_t *)(CLINT_CTRL_ADDR + CLINT_MTIME + 4); +} + +uint64_t get_timer_value() +{ + while (1) { + uint32_t hi = mtime_hi(); + uint32_t lo = mtime_lo(); + if (hi == mtime_hi()) + return ((uint64_t)hi << 32) | lo; + } +} + +#else /* __riscv32 */ + +uint64_t get_timer_value() +{ + return mtime_lo(); +} + +#endif + +unsigned long get_timer_freq() +{ + return 32768; +} + +static void use_hfrosc(int div, int trim) +{ + // Make sure the HFROSC is running at its default setting + PRCI_REG(PRCI_HFROSCCFG) = (ROSC_DIV(div) | ROSC_TRIM(trim) | ROSC_EN(1)); + while ((PRCI_REG(PRCI_HFROSCCFG) & ROSC_RDY(1)) == 0) ; + PRCI_REG(PRCI_PLLCFG) &= ~PLL_SEL(1); +} + +void use_pll(int refsel, int bypass, int r, int f, int q) +{ + // Ensure that we aren't running off the PLL before we mess with it. + if (PRCI_REG(PRCI_PLLCFG) & PLL_SEL(1)) { + // Make sure the HFROSC is running at its default setting + use_hfrosc(4, 16); + } + + // Set PLL Source to be HFXOSC if available. + uint32_t config_value = 0; + + config_value |= PLL_REFSEL(refsel); + + if (bypass) { + // Bypass + config_value |= PLL_BYPASS(1); + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // If we don't have an HFXTAL, this doesn't really matter. + // Set our Final output divide to divide-by-1: + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + } else { + // In case we are executing from QSPI, + // (which is quite likely) we need to + // set the QSPI clock divider appropriately + // before boosting the clock frequency. + + // Div = f_sck/2 + SPI0_REG(SPI_REG_SCKDIV) = 8; + + // Set DIV Settings for PLL + // Both HFROSC and HFXOSC are modeled as ideal + // 16MHz sources (assuming dividers are set properly for + // HFROSC). + // (Legal values of f_REF are 6-48MHz) + + // Set DIVR to divide-by-2 to get 8MHz frequency + // (legal values of f_R are 6-12 MHz) + + config_value |= PLL_BYPASS(1); + config_value |= PLL_R(r); + + // Set DIVF to get 512Mhz frequncy + // There is an implied multiply-by-2, 16Mhz. + // So need to write 32-1 + // (legal values of f_F are 384-768 MHz) + config_value |= PLL_F(f); + + // Set DIVQ to divide-by-2 to get 256 MHz frequency + // (legal values of f_Q are 50-400Mhz) + config_value |= PLL_Q(q); + + // Set our Final output divide to divide-by-1: + PRCI_REG(PRCI_PLLDIV) = (PLL_FINAL_DIV_BY_1(1) | PLL_FINAL_DIV(0)); + + PRCI_REG(PRCI_PLLCFG) = config_value; + + // Un-Bypass the PLL. + PRCI_REG(PRCI_PLLCFG) &= ~PLL_BYPASS(1); + + // Wait for PLL Lock + // Note that the Lock signal can be glitchy. + // Need to wait 100 us + // RTC is running at 32kHz. + // So wait 4 ticks of RTC. + uint32_t now = mtime_lo(); + while (mtime_lo() - now < 4) ; + + // Now it is safe to check for PLL Lock + while ((PRCI_REG(PRCI_PLLCFG) & PLL_LOCK(1)) == 0) ; + } + + // Switch over to PLL Clock source + PRCI_REG(PRCI_PLLCFG) |= PLL_SEL(1); +} + +void use_default_clocks() +{ + // Turn off the LFROSC + AON_REG(AON_LFROSC) &= ~ROSC_EN(1); + + // Use HFROSC + use_hfrosc(4, 16); +} + +static unsigned long __attribute__((noinline)) measure_cpu_freq(size_t n) +{ + unsigned long start_mtime, delta_mtime; + unsigned long mtime_freq = get_timer_freq(); + + // Don't start measuruing until we see an mtime tick + unsigned long tmp = mtime_lo(); + do { + start_mtime = mtime_lo(); + } while (start_mtime == tmp); + + unsigned long start_mcycle = read_csr(mcycle); + + do { + delta_mtime = mtime_lo() - start_mtime; + } while (delta_mtime < n); + + unsigned long delta_mcycle = read_csr(mcycle) - start_mcycle; + + return (delta_mcycle / delta_mtime) * mtime_freq + + ((delta_mcycle % delta_mtime) * mtime_freq) / delta_mtime; +} + +unsigned long get_cpu_freq() +{ + static uint32_t cpu_freq; + + if (!cpu_freq) { + // warm up I$ + measure_cpu_freq(1); + // measure for real + cpu_freq = measure_cpu_freq(10); + } + + return cpu_freq; +} + +static void uart_init(size_t baud_rate) +{ + GPIO_REG(GPIO_IOF_SEL) &= ~IOF0_UART0_MASK; + GPIO_REG(GPIO_IOF_EN) |= IOF0_UART0_MASK; + UART0_REG(UART_REG_DIV) = get_cpu_freq() / baud_rate - 1; + UART0_REG(UART_REG_TXCTRL) |= UART_TXEN; +} + + + +#ifdef USE_PLIC +extern void handle_m_ext_interrupt(); +#endif + +#ifdef USE_M_TIME +extern void handle_m_time_interrupt(); +#endif + +uintptr_t handle_trap(uintptr_t mcause, uintptr_t epc) +{ + if (0){ +#ifdef USE_PLIC + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_EXT)) { + handle_m_ext_interrupt(); +#endif +#ifdef USE_M_TIME + // External Machine-Level interrupt from PLIC + } else if ((mcause & MCAUSE_INT) && ((mcause & MCAUSE_CAUSE) == IRQ_M_TIMER)){ + handle_m_time_interrupt(); +#endif + } + else { + rt_kprintf("Unhandled Trap.\n"); + } + return epc; +} + +void _init() +{ + + #ifndef NO_INIT + use_default_clocks(); + use_pll(0, 0, 1, 31, 1); + uart_init(115200); + + rt_kprintf("core freq at %ld Hz\n", get_cpu_freq()); + + write_csr(mtvec, &trap_entry); + if (read_csr(misa) & (1 << ('F' - 'A'))) { // if F extension is present + write_csr(mstatus, MSTATUS_FS); // allow FPU instructions without trapping + write_csr(fcsr, 0); // initialize rounding mode, undefined at reset + } + #endif + +} + +void _fini() +{ +} diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/openocd.cfg b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/openocd.cfg new file mode 100644 index 0000000000..b531e9c8e2 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/openocd.cfg @@ -0,0 +1,34 @@ +adapter_khz 10000 + +interface ftdi +ftdi_device_desc "Dual RS232-HS" +ftdi_vid_pid 0x0403 0x6010 + +ftdi_layout_init 0x0008 0x001b +ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 + +#Reset Stretcher logic on FE310 is ~1 second long +#This doesn't apply if you use +# ftdi_set_signal, but still good to document +#adapter_nsrst_delay 1500 + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913 + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME riscv -chain-position $_TARGETNAME +$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 + +flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME +init +#reset -- This type of reset is not implemented yet +if {[ info exists pulse_srst]} { + ftdi_set_signal nSRST 0 + ftdi_set_signal nSRST z + #Wait for the reset stretcher + #It will work without this, but + #will incur lots of delays for later commands. + sleep 1500 +} +halt +#flash protect 0 64 last off diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/platform.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/platform.h new file mode 100644 index 0000000000..806fcfcabe --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/freedom-e300-hifive1/platform.h @@ -0,0 +1,133 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PLATFORM_H +#define _SIFIVE_PLATFORM_H + +// Some things missing from the official encoding.h +#define MCAUSE_INT 0x80000000 +#define MCAUSE_CAUSE 0x7FFFFFFF + +#include "sifive/const.h" +#include "sifive/devices/aon.h" +#include "sifive/devices/clint.h" +#include "sifive/devices/gpio.h" +#include "sifive/devices/otp.h" +#include "sifive/devices/plic.h" +#include "sifive/devices/prci.h" +#include "sifive/devices/pwm.h" +#include "sifive/devices/spi.h" +#include "sifive/devices/uart.h" + +/**************************************************************************** + * Platform definitions + *****************************************************************************/ + +// Memory map +#define MASKROM_MEM_ADDR _AC(0x00001000,UL) +#define TRAPVEC_TABLE_CTRL_ADDR _AC(0x00001010,UL) +#define OTP_MEM_ADDR _AC(0x00020000,UL) +#define CLINT_CTRL_ADDR _AC(0x02000000,UL) +#define PLIC_CTRL_ADDR _AC(0x0C000000,UL) +#define AON_CTRL_ADDR _AC(0x10000000,UL) +#define PRCI_CTRL_ADDR _AC(0x10008000,UL) +#define OTP_CTRL_ADDR _AC(0x10010000,UL) +#define GPIO_CTRL_ADDR _AC(0x10012000,UL) +#define UART0_CTRL_ADDR _AC(0x10013000,UL) +#define SPI0_CTRL_ADDR _AC(0x10014000,UL) +#define PWM0_CTRL_ADDR _AC(0x10015000,UL) +#define UART1_CTRL_ADDR _AC(0x10023000,UL) +#define SPI1_CTRL_ADDR _AC(0x10024000,UL) +#define PWM1_CTRL_ADDR _AC(0x10025000,UL) +#define SPI2_CTRL_ADDR _AC(0x10034000,UL) +#define PWM2_CTRL_ADDR _AC(0x10035000,UL) +#define SPI0_MEM_ADDR _AC(0x20000000,UL) +#define MEM_CTRL_ADDR _AC(0x80000000,UL) + +// IOF masks +#define IOF0_SPI1_MASK _AC(0x000007FC,UL) +#define SPI11_NUM_SS (4) +#define IOF_SPI1_SS0 (2u) +#define IOF_SPI1_SS1 (8u) +#define IOF_SPI1_SS2 (9u) +#define IOF_SPI1_SS3 (10u) +#define IOF_SPI1_MOSI (3u) +#define IOF_SPI1_MISO (4u) +#define IOF_SPI1_SCK (5u) +#define IOF_SPI1_DQ0 (3u) +#define IOF_SPI1_DQ1 (4u) +#define IOF_SPI1_DQ2 (6u) +#define IOF_SPI1_DQ3 (7u) + +#define IOF0_SPI2_MASK _AC(0xFC000000,UL) +#define SPI2_NUM_SS (1) +#define IOF_SPI2_SS0 (26u) +#define IOF_SPI2_MOSI (27u) +#define IOF_SPI2_MISO (28u) +#define IOF_SPI2_SCK (29u) +#define IOF_SPI2_DQ0 (27u) +#define IOF_SPI2_DQ1 (28u) +#define IOF_SPI2_DQ2 (30u) +#define IOF_SPI2_DQ3 (31u) + +//#define IOF0_I2C_MASK _AC(0x00003000,UL) + +#define IOF0_UART0_MASK _AC(0x00030000, UL) +#define IOF_UART0_RX (16u) +#define IOF_UART0_TX (17u) + +#define IOF0_UART1_MASK _AC(0x03000000, UL) +#define IOF_UART1_RX (24u) +#define IOF_UART1_TX (25u) + +#define IOF1_PWM0_MASK _AC(0x0000000F, UL) +#define IOF1_PWM1_MASK _AC(0x00780000, UL) +#define IOF1_PWM2_MASK _AC(0x00003C00, UL) + +// Interrupt numbers +#define INT_RESERVED 0 +#define INT_WDOGCMP 1 +#define INT_RTCCMP 2 +#define INT_UART0_BASE 3 +#define INT_UART1_BASE 4 +#define INT_SPI0_BASE 5 +#define INT_SPI1_BASE 6 +#define INT_SPI2_BASE 7 +#define INT_GPIO_BASE 8 +#define INT_PWM0_BASE 40 +#define INT_PWM1_BASE 44 +#define INT_PWM2_BASE 48 + +// Helper functions +#define _REG32(p, i) (*(volatile uint32_t *) ((p) + (i))) +#define _REG32P(p, i) ((volatile uint32_t *) ((p) + (i))) +#define AON_REG(offset) _REG32(AON_CTRL_ADDR, offset) +#define CLINT_REG(offset) _REG32(CLINT_CTRL_ADDR, offset) +#define GPIO_REG(offset) _REG32(GPIO_CTRL_ADDR, offset) +#define OTP_REG(offset) _REG32(OTP_CTRL_ADDR, offset) +#define PLIC_REG(offset) _REG32(PLIC_CTRL_ADDR, offset) +#define PRCI_REG(offset) _REG32(PRCI_CTRL_ADDR, offset) +#define PWM0_REG(offset) _REG32(PWM0_CTRL_ADDR, offset) +#define PWM1_REG(offset) _REG32(PWM1_CTRL_ADDR, offset) +#define PWM2_REG(offset) _REG32(PWM2_CTRL_ADDR, offset) +#define SPI0_REG(offset) _REG32(SPI0_CTRL_ADDR, offset) +#define SPI1_REG(offset) _REG32(SPI1_CTRL_ADDR, offset) +#define SPI2_REG(offset) _REG32(SPI2_CTRL_ADDR, offset) +#define UART0_REG(offset) _REG32(UART0_CTRL_ADDR, offset) +#define UART1_REG(offset) _REG32(UART1_CTRL_ADDR, offset) + +// Misc + +#include + +#define NUM_GPIO 32 + +#define PLIC_NUM_INTERRUPTS 52 +#define PLIC_NUM_PRIORITIES 7 + +#include "hifive1.h" + +unsigned long get_cpu_freq(void); +unsigned long get_timer_freq(void); +uint64_t get_timer_value(void); + +#endif /* _SIFIVE_PLATFORM_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/hifive1.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/hifive1.h new file mode 100644 index 0000000000..0db2f0f321 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/hifive1.h @@ -0,0 +1,81 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_HIFIVE1_H +#define _SIFIVE_HIFIVE1_H + +#include + +/**************************************************************************** + * GPIO Connections + *****************************************************************************/ + +// These are the GPIO bit offsets for the RGB LED on HiFive1 Board. +// These are also mapped to RGB LEDs on the Freedom E300 Arty +// FPGA +// Dev Kit. + +#define RED_LED_OFFSET 22 +#define GREEN_LED_OFFSET 19 +#define BLUE_LED_OFFSET 21 + +// These are the GPIO bit offsets for the differen digital pins +// on the headers for both the HiFive1 Board and the Freedom E300 Arty FPGA Dev Kit. +#define PIN_0_OFFSET 16 +#define PIN_1_OFFSET 17 +#define PIN_2_OFFSET 18 +#define PIN_3_OFFSET 19 +#define PIN_4_OFFSET 20 +#define PIN_5_OFFSET 21 +#define PIN_6_OFFSET 22 +#define PIN_7_OFFSET 23 +#define PIN_8_OFFSET 0 +#define PIN_9_OFFSET 1 +#define PIN_10_OFFSET 2 +#define PIN_11_OFFSET 3 +#define PIN_12_OFFSET 4 +#define PIN_13_OFFSET 5 +//#define PIN_14_OFFSET 8 //This pin is not connected on either board. +#define PIN_15_OFFSET 9 +#define PIN_16_OFFSET 10 +#define PIN_17_OFFSET 11 +#define PIN_18_OFFSET 12 +#define PIN_19_OFFSET 13 + +// These are *PIN* numbers, not +// GPIO Offset Numbers. +#define PIN_SPI1_SCK (13u) +#define PIN_SPI1_MISO (12u) +#define PIN_SPI1_MOSI (11u) +#define PIN_SPI1_SS0 (10u) +#define PIN_SPI1_SS1 (14u) +#define PIN_SPI1_SS2 (15u) +#define PIN_SPI1_SS3 (16u) + +#define SS_PIN_TO_CS_ID(x) \ + ((x==PIN_SPI1_SS0 ? 0 : \ + (x==PIN_SPI1_SS1 ? 1 : \ + (x==PIN_SPI1_SS2 ? 2 : \ + (x==PIN_SPI1_SS3 ? 3 : \ + -1))))) + + +// These buttons are present only on the Freedom E300 Arty Dev Kit. +#ifdef HAS_BOARD_BUTTONS +#define BUTTON_0_OFFSET 15 +#define BUTTON_1_OFFSET 30 +#define BUTTON_2_OFFSET 31 + +#define INT_DEVICE_BUTTON_0 (INT_GPIO_BASE + BUTTON_0_OFFSET) +#define INT_DEVICE_BUTTON_1 (INT_GPIO_BASE + BUTTON_1_OFFSET) +#define INT_DEVICE_BUTTON_2 (INT_GPIO_BASE + BUTTON_2_OFFSET) + +#endif + +#define HAS_HFXOSC 1 +#define HAS_LFROSC_BYPASS 1 + +#define RTC_FREQ 32768 + +void write_hex(int fd, unsigned long int hex); + +#endif /* _SIFIVE_HIFIVE1_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/start.S b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/start.S new file mode 100644 index 0000000000..7d9201b117 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/env/start.S @@ -0,0 +1,112 @@ +// See LICENSE for license details. +#include + +/* This is defined in sifive/platform.h, but that can't be included from + * assembly. */ +#define CLINT_CTRL_ADDR 0x02000000 + + .section .init + .globl _start + .type _start,@function + +_start: + .cfi_startproc + .cfi_undefined ra +.option push +.option norelax + la gp, __global_pointer$ +.option pop + la sp, _sp + +#if defined(ENABLE_SMP) + smp_pause(t0, t1) +#endif + + /* Load data section */ + la a0, _data_lma + la a1, _data + la a2, _edata + bgeu a1, a2, 2f +1: + lw t0, (a0) + sw t0, (a1) + addi a0, a0, 4 + addi a1, a1, 4 + bltu a1, a2, 1b +2: + + /* Clear bss section */ + la a0, __bss_start + la a1, _end + bgeu a0, a1, 2f +1: + sw zero, (a0) + addi a0, a0, 4 + bltu a0, a1, 1b +2: + + /* Call global constructors */ + //la a0, __libc_fini_array + //call atexit + //call __libc_init_array + +#ifndef __riscv_float_abi_soft + /* Enable FPU */ + li t0, MSTATUS_FS + csrs mstatus, t0 + csrr t1, mstatus + and t1, t1, t0 + beqz t1, 1f + fssr x0 +1: +#endif + +#if defined(ENABLE_SMP) + smp_resume(t0, t1) + + csrr a0, mhartid + bnez a0, 2f +#endif + + auipc ra, 0 + addi sp, sp, -16 +#if __riscv_xlen == 32 + sw ra, 8(sp) +#else + sd ra, 8(sp) +#endif + + /* argc = argv = 0 */ + li a0, 0 + li a1, 0 + call entry + /* tail exit */ + +1: + j 1b + +#if defined(ENABLE_SMP) +2: + la t0, trap_entry + csrw mtvec, t0 + + csrr a0, mhartid + la t1, _sp + slli t0, a0, 10 + sub sp, t1, t0 + + auipc ra, 0 + addi sp, sp, -16 +#if __riscv_xlen == 32 + sw ra, 8(sp) +#else + sd ra, 8(sp) +#endif + + call secondary_main + tail exit + +1: + j 1b +#endif + .cfi_endproc diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/bits.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/bits.h new file mode 100644 index 0000000000..bfe656feb0 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/bits.h @@ -0,0 +1,36 @@ +// See LICENSE for license details. +#ifndef _RISCV_BITS_H +#define _RISCV_BITS_H + +#define likely(x) __builtin_expect((x), 1) +#define unlikely(x) __builtin_expect((x), 0) + +#define ROUNDUP(a, b) ((((a)-1)/(b)+1)*(b)) +#define ROUNDDOWN(a, b) ((a)/(b)*(b)) + +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define CLAMP(a, lo, hi) MIN(MAX(a, lo), hi) + +#define EXTRACT_FIELD(val, which) (((val) & (which)) / ((which) & ~((which)-1))) +#define INSERT_FIELD(val, which, fieldval) (((val) & ~(which)) | ((fieldval) * ((which) & ~((which)-1)))) + +#define STR(x) XSTR(x) +#define XSTR(x) #x + +#if __riscv_xlen == 64 +# define SLL32 sllw +# define STORE sd +# define LOAD ld +# define LWU lwu +# define LOG_REGBYTES 3 +#else +# define SLL32 sll +# define STORE sw +# define LOAD lw +# define LWU lw +# define LOG_REGBYTES 2 +#endif +#define REGBYTES (1 << LOG_REGBYTES) + +#endif diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/const.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/const.h new file mode 100644 index 0000000000..8dcffbb064 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/const.h @@ -0,0 +1,18 @@ +// See LICENSE for license details. +/* Derived from */ + +#ifndef _SIFIVE_CONST_H +#define _SIFIVE_CONST_H + +#ifdef __ASSEMBLER__ +#define _AC(X,Y) X +#define _AT(T,X) X +#else +#define _AC(X,Y) (X##Y) +#define _AT(T,X) ((T)(X)) +#endif /* !__ASSEMBLER__*/ + +#define _BITUL(x) (_AC(1,UL) << (x)) +#define _BITULL(x) (_AC(1,ULL) << (x)) + +#endif /* _SIFIVE_CONST_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/aon.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/aon.h new file mode 100644 index 0000000000..63f1db3cd6 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/aon.h @@ -0,0 +1,88 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_AON_H +#define _SIFIVE_AON_H + +/* Register offsets */ + +#define AON_WDOGCFG 0x000 +#define AON_WDOGCOUNT 0x008 +#define AON_WDOGS 0x010 +#define AON_WDOGFEED 0x018 +#define AON_WDOGKEY 0x01C +#define AON_WDOGCMP 0x020 + +#define AON_RTCCFG 0x040 +#define AON_RTCLO 0x048 +#define AON_RTCHI 0x04C +#define AON_RTCS 0x050 +#define AON_RTCCMP 0x060 + +#define AON_BACKUP0 0x080 +#define AON_BACKUP1 0x084 +#define AON_BACKUP2 0x088 +#define AON_BACKUP3 0x08C +#define AON_BACKUP4 0x090 +#define AON_BACKUP5 0x094 +#define AON_BACKUP6 0x098 +#define AON_BACKUP7 0x09C +#define AON_BACKUP8 0x0A0 +#define AON_BACKUP9 0x0A4 +#define AON_BACKUP10 0x0A8 +#define AON_BACKUP11 0x0AC +#define AON_BACKUP12 0x0B0 +#define AON_BACKUP13 0x0B4 +#define AON_BACKUP14 0x0B8 +#define AON_BACKUP15 0x0BC + +#define AON_PMUWAKEUPI0 0x100 +#define AON_PMUWAKEUPI1 0x104 +#define AON_PMUWAKEUPI2 0x108 +#define AON_PMUWAKEUPI3 0x10C +#define AON_PMUWAKEUPI4 0x110 +#define AON_PMUWAKEUPI5 0x114 +#define AON_PMUWAKEUPI6 0x118 +#define AON_PMUWAKEUPI7 0x11C +#define AON_PMUSLEEPI0 0x120 +#define AON_PMUSLEEPI1 0x124 +#define AON_PMUSLEEPI2 0x128 +#define AON_PMUSLEEPI3 0x12C +#define AON_PMUSLEEPI4 0x130 +#define AON_PMUSLEEPI5 0x134 +#define AON_PMUSLEEPI6 0x138 +#define AON_PMUSLEEPI7 0x13C +#define AON_PMUIE 0x140 +#define AON_PMUCAUSE 0x144 +#define AON_PMUSLEEP 0x148 +#define AON_PMUKEY 0x14C + +#define AON_LFROSC 0x070 +/* Constants */ + +#define AON_WDOGKEY_VALUE 0x51F15E +#define AON_WDOGFEED_VALUE 0xD09F00D + +#define AON_WDOGCFG_SCALE 0x0000000F +#define AON_WDOGCFG_RSTEN 0x00000100 +#define AON_WDOGCFG_ZEROCMP 0x00000200 +#define AON_WDOGCFG_ENALWAYS 0x00001000 +#define AON_WDOGCFG_ENCOREAWAKE 0x00002000 +#define AON_WDOGCFG_CMPIP 0x10000000 + +#define AON_RTCCFG_SCALE 0x0000000F +#define AON_RTCCFG_ENALWAYS 0x00001000 +#define AON_RTCCFG_CMPIP 0x10000000 + +#define AON_WAKEUPCAUSE_RESET 0x00 +#define AON_WAKEUPCAUSE_RTC 0x01 +#define AON_WAKEUPCAUSE_DWAKEUP 0x02 +#define AON_WAKEUPCAUSE_AWAKEUP 0x03 + +#define AON_RESETCAUSE_POWERON 0x0000 +#define AON_RESETCAUSE_EXTERNAL 0x0100 +#define AON_RESETCAUSE_WATCHDOG 0x0200 + +#define AON_PMUCAUSE_WAKEUPCAUSE 0x00FF +#define AON_PMUCAUSE_RESETCAUSE 0xFF00 + +#endif /* _SIFIVE_AON_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/clint.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/clint.h new file mode 100644 index 0000000000..cd3e0c7a34 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/clint.h @@ -0,0 +1,14 @@ +// See LICENSE for license details + +#ifndef _SIFIVE_CLINT_H +#define _SIFIVE_CLINT_H + + +#define CLINT_MSIP 0x0000 +#define CLINT_MSIP_size 0x4 +#define CLINT_MTIMECMP 0x4000 +#define CLINT_MTIMECMP_size 0x8 +#define CLINT_MTIME 0xBFF8 +#define CLINT_MTIME_size 0x8 + +#endif /* _SIFIVE_CLINT_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/gpio.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/gpio.h new file mode 100644 index 0000000000..1641003e4b --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/gpio.h @@ -0,0 +1,24 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_GPIO_H +#define _SIFIVE_GPIO_H + +#define GPIO_INPUT_VAL (0x00) +#define GPIO_INPUT_EN (0x04) +#define GPIO_OUTPUT_EN (0x08) +#define GPIO_OUTPUT_VAL (0x0C) +#define GPIO_PULLUP_EN (0x10) +#define GPIO_DRIVE (0x14) +#define GPIO_RISE_IE (0x18) +#define GPIO_RISE_IP (0x1C) +#define GPIO_FALL_IE (0x20) +#define GPIO_FALL_IP (0x24) +#define GPIO_HIGH_IE (0x28) +#define GPIO_HIGH_IP (0x2C) +#define GPIO_LOW_IE (0x30) +#define GPIO_LOW_IP (0x34) +#define GPIO_IOF_EN (0x38) +#define GPIO_IOF_SEL (0x3C) +#define GPIO_OUTPUT_XOR (0x40) + +#endif /* _SIFIVE_GPIO_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/otp.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/otp.h new file mode 100644 index 0000000000..93833e2b21 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/otp.h @@ -0,0 +1,23 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_OTP_H +#define _SIFIVE_OTP_H + +/* Register offsets */ + +#define OTP_LOCK 0x00 +#define OTP_CK 0x04 +#define OTP_OE 0x08 +#define OTP_SEL 0x0C +#define OTP_WE 0x10 +#define OTP_MR 0x14 +#define OTP_MRR 0x18 +#define OTP_MPP 0x1C +#define OTP_VRREN 0x20 +#define OTP_VPPEN 0x24 +#define OTP_A 0x28 +#define OTP_D 0x2C +#define OTP_Q 0x30 +#define OTP_READ_TIMINGS 0x34 + +#endif diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/plic.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/plic.h new file mode 100644 index 0000000000..e1ca5d6945 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/plic.h @@ -0,0 +1,31 @@ +// See LICENSE for license details. + +#ifndef PLIC_H +#define PLIC_H + +#include + +// 32 bits per source +#define PLIC_PRIORITY_OFFSET _AC(0x0000,UL) +#define PLIC_PRIORITY_SHIFT_PER_SOURCE 2 +// 1 bit per source (1 address) +#define PLIC_PENDING_OFFSET _AC(0x1000,UL) +#define PLIC_PENDING_SHIFT_PER_SOURCE 0 + +//0x80 per target +#define PLIC_ENABLE_OFFSET _AC(0x2000,UL) +#define PLIC_ENABLE_SHIFT_PER_TARGET 7 + + +#define PLIC_THRESHOLD_OFFSET _AC(0x200000,UL) +#define PLIC_CLAIM_OFFSET _AC(0x200004,UL) +#define PLIC_THRESHOLD_SHIFT_PER_TARGET 12 +#define PLIC_CLAIM_SHIFT_PER_TARGET 12 + +#define PLIC_MAX_SOURCE 1023 +#define PLIC_SOURCE_MASK 0x3FF + +#define PLIC_MAX_TARGET 15871 +#define PLIC_TARGET_MASK 0x3FFF + +#endif /* PLIC_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/prci.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/prci.h new file mode 100644 index 0000000000..1a3de58d29 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/prci.h @@ -0,0 +1,56 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PRCI_H +#define _SIFIVE_PRCI_H + +/* Register offsets */ + +#define PRCI_HFROSCCFG (0x0000) +#define PRCI_HFXOSCCFG (0x0004) +#define PRCI_PLLCFG (0x0008) +#define PRCI_PLLDIV (0x000C) +#define PRCI_PROCMONCFG (0x00F0) + +/* Fields */ +#define ROSC_DIV(x) (((x) & 0x2F) << 0 ) +#define ROSC_TRIM(x) (((x) & 0x1F) << 16) +#define ROSC_EN(x) (((x) & 0x1 ) << 30) +#define ROSC_RDY(x) (((x) & 0x1 ) << 31) + +#define XOSC_EN(x) (((x) & 0x1) << 30) +#define XOSC_RDY(x) (((x) & 0x1) << 31) + +#define PLL_R(x) (((x) & 0x7) << 0) +// single reserved bit for F LSB. +#define PLL_F(x) (((x) & 0x3F) << 4) +#define PLL_Q(x) (((x) & 0x3) << 10) +#define PLL_SEL(x) (((x) & 0x1) << 16) +#define PLL_REFSEL(x) (((x) & 0x1) << 17) +#define PLL_BYPASS(x) (((x) & 0x1) << 18) +#define PLL_LOCK(x) (((x) & 0x1) << 31) + +#define PLL_R_default 0x1 +#define PLL_F_default 0x1F +#define PLL_Q_default 0x3 + +#define PLL_REFSEL_HFROSC 0x0 +#define PLL_REFSEL_HFXOSC 0x1 + +#define PLL_SEL_HFROSC 0x0 +#define PLL_SEL_PLL 0x1 + +#define PLL_FINAL_DIV(x) (((x) & 0x3F) << 0) +#define PLL_FINAL_DIV_BY_1(x) (((x) & 0x1 ) << 8) + +#define PROCMON_DIV(x) (((x) & 0x1F) << 0) +#define PROCMON_TRIM(x) (((x) & 0x1F) << 8) +#define PROCMON_EN(x) (((x) & 0x1) << 16) +#define PROCMON_SEL(x) (((x) & 0x3) << 24) +#define PROCMON_NT_EN(x) (((x) & 0x1) << 28) + +#define PROCMON_SEL_HFCLK 0 +#define PROCMON_SEL_HFXOSCIN 1 +#define PROCMON_SEL_PLLOUTDIV 2 +#define PROCMON_SEL_PROCMON 3 + +#endif // _SIFIVE_PRCI_H diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/pwm.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/pwm.h new file mode 100644 index 0000000000..067889abba --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/pwm.h @@ -0,0 +1,37 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_PWM_H +#define _SIFIVE_PWM_H + +/* Register offsets */ + +#define PWM_CFG 0x00 +#define PWM_COUNT 0x08 +#define PWM_S 0x10 +#define PWM_CMP0 0x20 +#define PWM_CMP1 0x24 +#define PWM_CMP2 0x28 +#define PWM_CMP3 0x2C + +/* Constants */ + +#define PWM_CFG_SCALE 0x0000000F +#define PWM_CFG_STICKY 0x00000100 +#define PWM_CFG_ZEROCMP 0x00000200 +#define PWM_CFG_DEGLITCH 0x00000400 +#define PWM_CFG_ENALWAYS 0x00001000 +#define PWM_CFG_ONESHOT 0x00002000 +#define PWM_CFG_CMP0CENTER 0x00010000 +#define PWM_CFG_CMP1CENTER 0x00020000 +#define PWM_CFG_CMP2CENTER 0x00040000 +#define PWM_CFG_CMP3CENTER 0x00080000 +#define PWM_CFG_CMP0GANG 0x01000000 +#define PWM_CFG_CMP1GANG 0x02000000 +#define PWM_CFG_CMP2GANG 0x04000000 +#define PWM_CFG_CMP3GANG 0x08000000 +#define PWM_CFG_CMP0IP 0x10000000 +#define PWM_CFG_CMP1IP 0x20000000 +#define PWM_CFG_CMP2IP 0x40000000 +#define PWM_CFG_CMP3IP 0x80000000 + +#endif /* _SIFIVE_PWM_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/spi.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/spi.h new file mode 100644 index 0000000000..916d86be26 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/spi.h @@ -0,0 +1,80 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_SPI_H +#define _SIFIVE_SPI_H + +/* Register offsets */ + +#define SPI_REG_SCKDIV 0x00 +#define SPI_REG_SCKMODE 0x04 +#define SPI_REG_CSID 0x10 +#define SPI_REG_CSDEF 0x14 +#define SPI_REG_CSMODE 0x18 + +#define SPI_REG_DCSSCK 0x28 +#define SPI_REG_DSCKCS 0x2a +#define SPI_REG_DINTERCS 0x2c +#define SPI_REG_DINTERXFR 0x2e + +#define SPI_REG_FMT 0x40 +#define SPI_REG_TXFIFO 0x48 +#define SPI_REG_RXFIFO 0x4c +#define SPI_REG_TXCTRL 0x50 +#define SPI_REG_RXCTRL 0x54 + +#define SPI_REG_FCTRL 0x60 +#define SPI_REG_FFMT 0x64 + +#define SPI_REG_IE 0x70 +#define SPI_REG_IP 0x74 + +/* Fields */ + +#define SPI_SCK_POL 0x1 +#define SPI_SCK_PHA 0x2 + +#define SPI_FMT_PROTO(x) ((x) & 0x3) +#define SPI_FMT_ENDIAN(x) (((x) & 0x1) << 2) +#define SPI_FMT_DIR(x) (((x) & 0x1) << 3) +#define SPI_FMT_LEN(x) (((x) & 0xf) << 16) + +/* TXCTRL register */ +#define SPI_TXWM(x) ((x) & 0xffff) +/* RXCTRL register */ +#define SPI_RXWM(x) ((x) & 0xffff) + +#define SPI_IP_TXWM 0x1 +#define SPI_IP_RXWM 0x2 + +#define SPI_FCTRL_EN 0x1 + +#define SPI_INSN_CMD_EN 0x1 +#define SPI_INSN_ADDR_LEN(x) (((x) & 0x7) << 1) +#define SPI_INSN_PAD_CNT(x) (((x) & 0xf) << 4) +#define SPI_INSN_CMD_PROTO(x) (((x) & 0x3) << 8) +#define SPI_INSN_ADDR_PROTO(x) (((x) & 0x3) << 10) +#define SPI_INSN_DATA_PROTO(x) (((x) & 0x3) << 12) +#define SPI_INSN_CMD_CODE(x) (((x) & 0xff) << 16) +#define SPI_INSN_PAD_CODE(x) (((x) & 0xff) << 24) + +#define SPI_TXFIFO_FULL (1 << 31) +#define SPI_RXFIFO_EMPTY (1 << 31) + +/* Values */ + +#define SPI_CSMODE_AUTO 0 +#define SPI_CSMODE_HOLD 2 +#define SPI_CSMODE_OFF 3 + +#define SPI_DIR_RX 0 +#define SPI_DIR_TX 1 + +#define SPI_PROTO_S 0 +#define SPI_PROTO_D 1 +#define SPI_PROTO_Q 2 + +#define SPI_ENDIAN_MSB 0 +#define SPI_ENDIAN_LSB 1 + + +#endif /* _SIFIVE_SPI_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/uart.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/uart.h new file mode 100644 index 0000000000..71bea6f403 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/devices/uart.h @@ -0,0 +1,27 @@ +// See LICENSE for license details. + +#ifndef _SIFIVE_UART_H +#define _SIFIVE_UART_H + +/* Register offsets */ +#define UART_REG_TXFIFO 0x00 +#define UART_REG_RXFIFO 0x04 +#define UART_REG_TXCTRL 0x08 +#define UART_REG_RXCTRL 0x0c +#define UART_REG_IE 0x10 +#define UART_REG_IP 0x14 +#define UART_REG_DIV 0x18 + +/* TXCTRL register */ +#define UART_TXEN 0x1 +#define UART_TXWM(x) (((x) & 0xffff) << 16) + +/* RXCTRL register */ +#define UART_RXEN 0x1 +#define UART_RXWM(x) (((x) & 0xffff) << 16) + +/* IP register */ +#define UART_IP_TXWM 0x1 +#define UART_IP_RXWM 0x2 + +#endif /* _SIFIVE_UART_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/sections.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/sections.h new file mode 100644 index 0000000000..6e1f0518bc --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/sections.h @@ -0,0 +1,17 @@ +// See LICENSE for license details. +#ifndef _SECTIONS_H +#define _SECTIONS_H + +extern unsigned char _rom[]; +extern unsigned char _rom_end[]; + +extern unsigned char _ram[]; +extern unsigned char _ram_end[]; + +extern unsigned char _ftext[]; +extern unsigned char _etext[]; +extern unsigned char _fbss[]; +extern unsigned char _ebss[]; +extern unsigned char _end[]; + +#endif /* _SECTIONS_H */ diff --git a/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/smp.h b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/smp.h new file mode 100644 index 0000000000..8e34388c04 --- /dev/null +++ b/bsp/sparkfun-redv/freedom-e-sdk/bsp/include/sifive/smp.h @@ -0,0 +1,65 @@ +#ifndef SIFIVE_SMP +#define SIFIVE_SMP + +// The maximum number of HARTs this code supports +#ifndef MAX_HARTS +#define MAX_HARTS 32 +#endif +#define CLINT_END_HART_IPI CLINT_CTRL_ADDR + (MAX_HARTS*4) + +// The hart that non-SMP tests should run on +#ifndef NONSMP_HART +#define NONSMP_HART 0 +#endif + +/* If your test cannot handle multiple-threads, use this: + * smp_disable(reg1) + */ +#define smp_disable(reg1, reg2) \ + csrr reg1, mhartid ;\ + li reg2, NONSMP_HART ;\ + beq reg1, reg2, hart0_entry ;\ +42: ;\ + wfi ;\ + j 42b ;\ +hart0_entry: + +/* If your test needs to temporarily block multiple-threads, do this: + * smp_pause(reg1, reg2) + * ... single-threaded work ... + * smp_resume(reg1, reg2) + * ... multi-threaded work ... + */ + +#define smp_pause(reg1, reg2) \ + li reg2, 0x8 ;\ + csrw mie, reg2 ;\ + csrr reg2, mhartid ;\ + bnez reg2, 42f + +#define smp_resume(reg1, reg2) \ + li reg1, CLINT_CTRL_ADDR ;\ +41: ;\ + li reg2, 1 ;\ + sw reg2, 0(reg1) ;\ + addi reg1, reg1, 4 ;\ + li reg2, CLINT_END_HART_IPI ;\ + blt reg1, reg2, 41b ;\ +42: ;\ + wfi ;\ + csrr reg2, mip ;\ + andi reg2, reg2, 0x8 ;\ + beqz reg2, 42b ;\ + li reg1, CLINT_CTRL_ADDR ;\ + csrr reg2, mhartid ;\ + slli reg2, reg2, 2 ;\ + add reg2, reg2, reg1 ;\ + sw zero, 0(reg2) ;\ +41: ;\ + lw reg2, 0(reg1) ;\ + bnez reg2, 41b ;\ + addi reg1, reg1, 4 ;\ + li reg2, CLINT_END_HART_IPI ;\ + blt reg1, reg2, 41b + +#endif diff --git a/bsp/sparkfun-redv/openocd.cfg b/bsp/sparkfun-redv/openocd.cfg new file mode 100644 index 0000000000..b0a8e26522 --- /dev/null +++ b/bsp/sparkfun-redv/openocd.cfg @@ -0,0 +1,34 @@ +adapter_khz 10000 + +interface ftdi +ftdi_device_desc "Dual RS232-HS" +ftdi_vid_pid 0x0403 0x6010 + +ftdi_layout_init 0x0008 0x001b +ftdi_layout_signal nSRST -oe 0x0020 -data 0x0020 + +#Reset Stretcher logic on FE310 is ~1 second long +#This doesn't apply if you use +# ftdi_set_signal, but still good to document +#adapter_nsrst_delay 1500 + +set _CHIPNAME riscv +jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x10e31913 + +set _TARGETNAME $_CHIPNAME.cpu +target create $_TARGETNAME riscv -chain-position $_TARGETNAME +$_TARGETNAME configure -work-area-phys 0x80000000 -work-area-size 10000 -work-area-backup 1 + +flash bank onboard_spi_flash fespi 0x20000000 0 0 0 $_TARGETNAME +init +#reset -- This type of reset is not implemented yet +if {[ info exists pulse_srst]} { + ftdi_set_signal nSRST 0 + ftdi_set_signal nSRST z + #Wait for the reset stretcher + #It will work without this, but + #will incur lots of delays for later commands. + sleep 1500 +} +halt +flash protect 0 64 last off diff --git a/bsp/sparkfun-redv/openocd.sh b/bsp/sparkfun-redv/openocd.sh new file mode 100644 index 0000000000..3efafe18fc --- /dev/null +++ b/bsp/sparkfun-redv/openocd.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +openocd -f openocd.cfg & riscv64-unknown-elf-gdb rtthread.elf --batch -ex "set remotetimeout 240" -ex "target extended-remote localhost:3333" -ex "monitor reset halt" -ex "monitor flash protect 0 64 last off" -ex "load" -ex "monitor resume" -ex "monitor shutdown" -ex "quit" && \ +echo "Successfully uploaded 'hello' to freedom-e300-hifive1." + diff --git a/bsp/sparkfun-redv/rtconfig.h b/bsp/sparkfun-redv/rtconfig.h new file mode 100644 index 0000000000..85a424176a --- /dev/null +++ b/bsp/sparkfun-redv/rtconfig.h @@ -0,0 +1,154 @@ +#ifndef RT_CONFIG_H__ +#define RT_CONFIG_H__ + +/* Automatically generated file; DO NOT EDIT. */ +/* RT-Thread Configuration */ + +/* RT-Thread Kernel */ + +#define RT_NAME_MAX 32 +#define RT_ALIGN_SIZE 4 +#define RT_THREAD_PRIORITY_256 +#define RT_THREAD_PRIORITY_MAX 256 +#define RT_TICK_PER_SECOND 100 +#define RT_USING_OVERFLOW_CHECK +#define RT_USING_HOOK +#define RT_USING_IDLE_HOOK +#define RT_IDEL_HOOK_LIST_SIZE 4 +#define IDLE_THREAD_STACK_SIZE 1024 +#define RT_DEBUG +#define RT_DEBUG_COLOR + +/* Inter-Thread communication */ + +#define RT_USING_SEMAPHORE +#define RT_USING_MUTEX +#define RT_USING_EVENT +#define RT_USING_MAILBOX +#define RT_USING_MESSAGEQUEUE + +/* Memory Management */ + +#define RT_USING_MEMPOOL +#define RT_USING_SMALL_MEM +#define RT_USING_MEMTRACE +#define RT_USING_HEAP + +/* Kernel Device Object */ + +#define RT_USING_DEVICE +#define RT_USING_CONSOLE +#define RT_CONSOLEBUF_SIZE 128 +#define RT_CONSOLE_DEVICE_NAME "dusart" +#define RT_VER_NUM 0x40001 + +/* RT-Thread Components */ + +#define RT_USING_COMPONENTS_INIT +#define RT_USING_USER_MAIN +#define RT_MAIN_THREAD_STACK_SIZE 2048 +#define RT_MAIN_THREAD_PRIORITY 85 + +/* C++ features */ + + +/* Command shell */ + +#define RT_USING_FINSH +#define FINSH_THREAD_NAME "tshell" +#define FINSH_USING_HISTORY +#define FINSH_HISTORY_LINES 5 +#define FINSH_USING_SYMTAB +#define FINSH_USING_DESCRIPTION +#define FINSH_THREAD_PRIORITY 20 +#define FINSH_THREAD_STACK_SIZE 4096 +#define FINSH_CMD_SIZE 80 +#define FINSH_USING_MSH +#define FINSH_USING_MSH_DEFAULT +#define FINSH_USING_MSH_ONLY +#define FINSH_ARG_MAX 10 + +/* Device virtual file system */ + + +/* Device Drivers */ + +#define RT_USING_DEVICE_IPC +#define RT_PIPE_BUFSZ 512 +#define RT_USING_SERIAL +#define RT_SERIAL_USING_DMA +#define RT_SERIAL_RB_BUFSZ 64 + +/* Using WiFi */ + + +/* Using USB */ + + +/* POSIX layer and C standard library */ + + +/* Network */ + +/* Socket abstraction layer */ + + +/* Network interface device */ + + +/* light weight TCP/IP stack */ + + +/* Modbus master and slave stack */ + + +/* AT commands */ + + +/* VBUS(Virtual Software BUS) */ + + +/* Utilities */ + + +/* RT-Thread online packages */ + +/* IoT - internet of things */ + + +/* Wi-Fi */ + +/* Marvell WiFi */ + + +/* Wiced WiFi */ + + +/* IoT Cloud */ + + +/* security packages */ + + +/* language packages */ + + +/* multimedia packages */ + + +/* tools packages */ + + +/* system packages */ + + +/* peripheral libraries and drivers */ + + +/* miscellaneous packages */ + + +/* samples: kernel and components samples */ + + +#endif diff --git a/bsp/sparkfun-redv/rtconfig.py b/bsp/sparkfun-redv/rtconfig.py new file mode 100644 index 0000000000..e7c00674a3 --- /dev/null +++ b/bsp/sparkfun-redv/rtconfig.py @@ -0,0 +1,70 @@ +import os + +ARCH = 'risc-v' +CPU = 'e310' +VENDOR = 'sifive' +# toolchains options +CROSS_TOOL = 'gcc' + +#------- toolchains path ------------------------------------------------------- +if os.getenv('RTT_CC'): + CROSS_TOOL = os.getenv('RTT_CC') + +if CROSS_TOOL == 'gcc': + PLATFORM = 'gcc' + #EXEC_PATH = r'/opt/unknown-gcc/bin' + #EXEC_PATH = r'/home/rudy/opt/tmp/SiFive/riscv64-unknown-elf-gcc-8.3.0-2019.08.0/bin' + EXEC_PATH = r'/home/rudy/opt/FreedomStudio/SiFive/riscv64-unknown-elf-gcc-8.3.0-2020.04.1/bin/' +else: + print('Please make sure your toolchains is GNU GCC!') + exit(0) + +if os.getenv('RTT_EXEC_PATH'): + EXEC_PATH = os.getenv('RTT_EXEC_PATH') + +BUILD = 'debug' +#BUILD = 'release' + +CORE = 'risc-v' +MAP_FILE = 'rtthread.map' +LINK_FILE = './freedom-e-sdk/bsp/env/freedom-e300-hifive1/flash.lds' +TARGET_NAME = 'rtthread.bin' +TARGET_NAME_HEX = 'rtthread.hex' + +#------- GCC settings ---------------------------------------------------------- +if PLATFORM == 'gcc': + # toolchains + PREFIX = 'riscv64-unknown-elf-' + CC = PREFIX + 'gcc' + CXX= PREFIX + 'g++' + AS = PREFIX + 'gcc' + AR = PREFIX + 'ar' + LINK = PREFIX + 'gcc' + TARGET_EXT = 'elf' + SIZE = PREFIX + 'size' + OBJDUMP = PREFIX + 'objdump' + OBJCPY = PREFIX + 'objcopy' + + DEVICE = ' -march=rv32imac -mabi=ilp32 -DUSE_PLIC -DUSE_M_TIME -DNO_INIT -mcmodel=medany -msmall-data-limit=8 -L. -nostartfiles -lc ' + CFLAGS = DEVICE + CFLAGS += ' -save-temps=obj' + AFLAGS = '-c'+ DEVICE + ' -x assembler-with-cpp' + AFLAGS += ' -Iplatform -Ifreedom-e-sdk/bsp/include -Ifreedom-e-sdk/bsp/env' + LFLAGS = DEVICE + LFLAGS += ' -Wl,--gc-sections,-cref,-Map=' + MAP_FILE + LFLAGS += ' -T ' + LINK_FILE + LFLAGS += ' -Wl,-wrap=memset' + + CPATH = '' + LPATH = '' + + if BUILD == 'debug': + CFLAGS += ' -O0 -g3' + AFLAGS += ' -g3' + else: + CFLAGS += ' -O2' + + POST_ACTION = OBJCPY + ' -O binary $TARGET ' + TARGET_NAME + '\n' + POST_ACTION += OBJCPY + ' -O ihex $TARGET ' + TARGET_NAME_HEX + '\n' + #POST_ACTION += OBJCPY + ' -I binary -O ihex ' + TARGET_NAME + ' ' + TARGET_NAME_HEX + '\n' + POST_ACTION += SIZE + ' $TARGET\n'