TODO
Hardware (HDL) to be supported:
- Microwatt and Libre-SOC (using same HDL interface)
- Microwatt XICS Interrupt Controller (currently already upstream in linux 5.7)
- OpenCores UART16550 Serial port
- Tercel Quad-SPI "XIP" (execute-in-place) from Raptor Engineering
- OpenCores 10/100 Ethernet MAC
- Jean Thomas "GRAM" DDR3 PHY/Controller
HDL "peripheral fabric":
Recommended FPGA Boards:
- VERSA_ECP5 (if possible - it is barely achievable due to only 45k LUT4s)
- OrangeCrab r0.2 85k not the 25k it is inadequate
- Raptor Computing Systems "Arctic Tern" -- 85k ECP5 w/ DDR3 + HDMI + Ethernet
- Digilent Arty A7 (under test, requires nextpnr-xilinx which is very very slow)
None of these are ideal... yet. WIP.
Tercel
- https://gitlab.raptorengineering.com/kestrel-collaboration/kestrel-firmware/bare-metal-firmware/-/blob/master/main.c#L2328
- https://git.libre-soc.org/?p=microwatt.git;a=blob;f=README.tercel.md;h=874f352c2f4a85b54cd363e618e4bdde58549902;hb=HEAD
- https://git.libre-soc.org/?p=microwatt.git;a=commitdiff;h=e04d79005b2d9da70dba49e54845c8fca2421ea6
Notes:
Tercel:
User mode is an excellent way to test -- basically, first check you can even read the core's PnP ID (registers 0x00-0x07), and if so then throw the core into user mode and try to read the Flash device ID. if those two operations work, you're good to go, just point Microwatt's reset vector at 0xf0000000...