mirror of
https://github.com/saymrwulf/xous-core.git
synced 2026-11-08 04:56:43 +00:00
This adds a working Ethernet implementation based on the WF200. It currently gets connected to a Linux machine running a udhcpd server, however it could also get connected to a TUN/TAP connection on Linux or Mac. Signed-off-by: Sean Cross <sean@xobs.io>
137 lines
3.5 KiB
Text
137 lines
3.5 KiB
Text
# Boot Renode Script (boot.resc)
|
|
|
|
i @emulation/linux-server.resc
|
|
|
|
# Add this script's path to the global path, so
|
|
# we can include files relative to ourselves.
|
|
path add $ORIGIN
|
|
|
|
using sysbus
|
|
|
|
# Add peripherals that are defined in C#. You must restart Renode
|
|
# if you modify these files.
|
|
i @peripherals/ABRTCMC.cs
|
|
i @peripherals/BetrustedEcI2C.cs
|
|
i @peripherals/BetrustedSocI2C.cs
|
|
i @peripherals/BetrustedSpinor.cs
|
|
i @peripherals/BetrustedWatchdog.cs
|
|
i @peripherals/BQ24157.cs
|
|
i @peripherals/BQ27421.cs
|
|
i @peripherals/BtEvents.cs
|
|
i @peripherals/ComConnector.cs
|
|
EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.SPI.IComPeripheral"
|
|
EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.SPI.IComController"
|
|
i @peripherals/ComEc.cs
|
|
i @peripherals/ComSoC.cs
|
|
i @peripherals/ec_power.cs
|
|
i @peripherals/EcWifi.cs
|
|
i @peripherals/engine.cs
|
|
i @peripherals/keyboard.cs
|
|
i @peripherals/keyrom.cs
|
|
i @peripherals/LiteX_Timer_32.cs
|
|
i @peripherals/LM3509.cs
|
|
i @peripherals/LSM6DS3.cs
|
|
i @peripherals/memlcd.cs
|
|
i @peripherals/MXIC_MX66UM1G45G.cs
|
|
i @peripherals/sha512.cs
|
|
i @peripherals/spinor_soft_int.cs
|
|
i @peripherals/ticktimer.cs
|
|
i @peripherals/trng_kernel.cs
|
|
i @peripherals/trng_server.cs
|
|
i @peripherals/TUSB320LAI.cs
|
|
i @peripherals/WF200.cs
|
|
i @peripherals/wfi.cs
|
|
|
|
EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.CPU.VexRiscv"
|
|
i @peripherals/vexriscv-aes.cs
|
|
|
|
# Create the COM SPI bus
|
|
emulation CreateComConnector "com"
|
|
|
|
############### Define the Betrusted SoC ###############
|
|
mach create "SoC"
|
|
machine LoadPlatformDescription @soc/betrusted-soc.repl
|
|
|
|
machine StartGdbServer 3333 true
|
|
showAnalyzer uart
|
|
showAnalyzer console
|
|
# showAnalyzer app_uart
|
|
showAnalyzer memlcd
|
|
|
|
# sysbus LogPeripheralAccess engine true
|
|
# sysbus LogPeripheralAccess sha512 true
|
|
# sysbus LogPeripheralAccess i2c true
|
|
# sysbus LogPeripheralAccess trng_kernel true
|
|
|
|
sysbus Tag <0xB0000000, 0xB0006000> "Framebuffer"
|
|
|
|
# logLevel -1 keyboard
|
|
# logLevel -1 ticktimer
|
|
# logLevel -1 engine
|
|
# logLevel -1 i2c
|
|
# logLevel -1 i2c.abracom_rtc
|
|
# logLevel -1 sha512
|
|
# logLevel -1 sysbus.spinor.flash
|
|
# sysbus LogPeripheralAccess spinor true
|
|
|
|
# Silence GPIO
|
|
sysbus SilenceRange <0xf0003000, 0xF0003FFF>
|
|
# Silence POWER
|
|
sysbus SilenceRange <0xF0014000 100>
|
|
|
|
# Load the SPI flash into RAM
|
|
sysbus LoadBinary @precursors/soc_csr.bin 0x20000000
|
|
|
|
# Connect the SoC to the SPI bus
|
|
connector Connect sysbus.com com
|
|
|
|
# The macro `reset` gets called implicitly when running `machine Reset`
|
|
macro reset
|
|
"""
|
|
#sysbus LoadBinary @flash-formatted.bin 0x20000000
|
|
sysbus LoadELF @../loader/target/riscv32imac-unknown-xous-elf/release/loader
|
|
sysbus LoadBinary @../target/riscv32imac-unknown-xous-elf/release/xous.img 0x20980000
|
|
# Set $a0 to point at the args binary
|
|
cpu SetRegisterUnsafe 10 0x20980000
|
|
"""
|
|
|
|
# Connect the serial port to an Ethernet port
|
|
emulation CreateServerSocketTerminal 8888 "kernel" False
|
|
connector Connect sysbus.uart kernel
|
|
|
|
runMacro $reset
|
|
|
|
mach clear
|
|
|
|
############### Define the Betrusted EC ###############
|
|
mach create "EC"
|
|
machine LoadPlatformDescription @ec/betrusted-ec.repl
|
|
|
|
# logLevel -1 i2c
|
|
# logLevel -1 i2c.bq27421
|
|
# logLevel -1 wifi
|
|
logLevel 0 wifi.wf200
|
|
# sysbus LogPeripheralAccess wifi true
|
|
|
|
machine StartGdbServer 3334 true
|
|
showAnalyzer uart
|
|
|
|
# Connect the EC to the SPI bus
|
|
connector Connect sysbus.com com
|
|
|
|
macro reset
|
|
"""
|
|
sysbus LoadBinary @ec/bt-ec.bin 0x20000000
|
|
sysbus LoadBinary @ec/wf200_fw.bin 0x2009C000
|
|
sysbus LoadBinary @ec/loader.bin 0x00000000
|
|
cpu PC 0
|
|
cpu SP 0x1001FFFC
|
|
"""
|
|
runMacro $reset
|
|
|
|
connector Connect wifi.wf200 switch
|
|
|
|
|
|
mach clear
|
|
|
|
start
|