仿真平台内核初版 -tlib库 包含<sparc arm riscv powerPC>

This commit is contained in:
liuwb
2026-02-07 20:43:43 +08:00
parent de61f9e2b0
commit b3117648be
9748 changed files with 4309137 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
name = 'dts2repl'
version = '0.0.0'

View File

@@ -0,0 +1,2 @@
from dts2repl.dts2repl import main
main()

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
import json
import re
class hexnum:
def __init__(self, value):
self.value = value
def __str__(self):
return hex(self.value)
# code from json module, modified to support hexadecimal values
# license: MIT
class ImprovedJsonDecoder(json.JSONDecoder):
def __init__(self, *args, **kwargs):
json.JSONDecoder.__init__(self, *args, **kwargs)
self.NUMBER_RE = re.compile(
r'(-?(?:0|[1-9]\d*))(\.\d+)?([eE][-+]?\d+)?',
(re.VERBOSE | re.MULTILINE | re.DOTALL))
self.HEX_RE = re.compile(r'0x([0-9a-fA-F]+)?')
self.scan_once = self._scan_once
def _scan_once(self, string, idx):
try:
nextchar = string[idx]
except IndexError:
raise StopIteration(idx) from None
if nextchar == '"':
return self.parse_string(string, idx + 1, self.strict)
elif nextchar == '{':
return self.parse_object((string, idx + 1), self.strict,
self._scan_once, self.object_hook, self.object_pairs_hook, self.memo)
elif nextchar == '[':
return self.parse_array((string, idx + 1), self._scan_once)
elif nextchar == 'n' and string[idx:idx + 4] == 'null':
return None, idx + 4
elif nextchar == 't' and string[idx:idx + 4] == 'true':
return True, idx + 4
elif nextchar == 'f' and string[idx:idx + 5] == 'false':
return False, idx + 5
m = self.NUMBER_RE.match(string, idx)
if m is not None:
integer, frac, exp = m.groups()
if frac or exp:
res = self.parse_float(integer + (frac or '') + (exp or ''))
else:
if (string[idx:idx+2] == "0x"):
m = self.HEX_RE.match(string, idx)
integer = m.groups()[0]
res = hexnum(self.parse_int(integer, 16))
else:
res = self.parse_int(integer)
return res, m.end()
else:
raise StopIteration(idx)

View File

@@ -0,0 +1,581 @@
{
"zephyr,memory-region": "Memory.MappedMemory",
"serial-flash": "Memory.MappedMemory",
"nordic,mram": "Memory.MappedMemory",
"adi,max32-uart": {
"adi,max32650evkit|adi,ad_swiot1l_sl|adi,max32650fthr": { "type": "UART.MAX32650_UART" },
"_": "UART.MAX32655_UART"
},
"adi,max32-gcr": {
"adi,max32650evkit|adi,ad_swiot1l_sl|adi,max32650fthr": { "type": "Miscellaneous.MAX32650_GCR" },
"_": {
"type": "Python.PythonPeripheral",
"size": 0x400,
"initable": false,
"script": "request.Value = 0xFFFFFFFF if request.Offset == 0x8 else 0x0"
}
},
"altr,jtag-uart": "UART.AlteraJTAG_UART",
"ambiq,stimer": "Timers.AmbiqApollo4_SystemTimer",
"ambiq,apollo4-pinctrl": "GPIOPort.AmbiqApollo4_GPIO",
"ambiq,uart": "UART.PL011",
"arm,arm926ej-s": { "type": "CPU.ARMv7A", "cpuType": "arm926" },
"arm,arm1176jzf-s": { "type": "CPU.ARMv7A", "cpuType": "arm1176" },
"arm,armv7-timer": {
"brcm,bcmbca": { "type": "Timers.ARM_GenericTimer", "frequency": 62500000, "defaultCounterFrequencyRegister": 62500000 },
"st,stm32mp157": { "type": "Timers.ARM_GenericTimer", "frequency": 62500000, "defaultCounterFrequencyRegister": 62500000 },
"st,stm32mp135": { "type": "Timers.ARM_GenericTimer", "frequency": 62500000, "defaultCounterFrequencyRegister": 62500000 },
"_": { "type": "Timers.ARM_GenericTimer", "frequency": 62500000 } },
"arm,armv8-timer": { "renesas,rzt2m_starter_kit": { "type": "Timers.ARM_GenericTimer", "frequency": 20000000 }, "_": { "type": "Timers.ARM_GenericTimer", "frequency": 62500000 } },
"arm,armv8_timer": { "type": "Timers.ARM_GenericTimer", "frequency": 62500000 },
"arm,armv8": { "type": "CPU.ARMv8A", "cpuType": "cortex-a55" },
"brcm,brahma-b53": { "type": "CPU.ARMv8A", "cpuType": "cortex-a53" },
"arm,cortex-a5": { "type": "CPU.ARMv7A", "cpuType": "cortex-a5" },
"arm,cortex-a7": { "type": "CPU.ARMv7A", "cpuType": "cortex-a8" },
"arm,cortex-a8": { "type": "CPU.ARMv7A", "cpuType": "cortex-a8" },
"arm,cortex-a9": { "type": "CPU.ARMv7A", "cpuType": "cortex-a9" },
"arm,cortex-a12": { "type": "CPU.ARMv7A", "cpuType": "cortex-a15" },
"arm,cortex-a15": { "type": "CPU.ARMv7A", "cpuType": "cortex-a15" },
"arm,cortex-a17": { "type": "CPU.ARMv7A", "cpuType": "cortex-a15" },
"arm,cortex-a35": { "type": "CPU.ARMv8A", "cpuType": "cortex-a53" },
"arm,cortex-a53": { "type": "CPU.ARMv8A", "cpuType": "cortex-a53" },
"arm,cortex-a55": { "type": "CPU.ARMv8A", "cpuType": "cortex-a55" },
"arm,cortex-a57": { "type": "CPU.ARMv8A", "cpuType": "cortex-a53" },
"arm,cortex-a72": { "type": "CPU.ARMv8A", "cpuType": "cortex-a53" },
"arm,cortex-a75": { "type": "CPU.ARMv8A", "cpuType": "cortex-a75" },
"arm,cortex-a76": { "type": "CPU.ARMv8A", "cpuType": "cortex-a76" },
"arm,cortex-a78": { "type": "CPU.ARMv8A", "cpuType": "cortex-a78" },
"arm,cortex-virt": { "type": "CPU.ARMv8A", "cpuType": "cortex-a55" },
"arm,cortex-r52": { "type": "CPU.ARMv8R", "cpuType": "cortex-r52" },
"arm,cortex-m0": { "type": "CPU.CortexM", "cpuType": "cortex-m0" },
"arm,cortex-m0+": { "type": "CPU.CortexM", "cpuType": "cortex-m0+" },
"arm,cortex-m1": { "type": "CPU.CortexM", "cpuType": "cortex-m1" },
"arm,cortex-m3": { "type": "CPU.CortexM", "cpuType": "cortex-m3" },
"arm,cortex-m23": { "type": "CPU.CortexM", "cpuType": "cortex-m23" },
"arm,cortex-m33": { "type": "CPU.CortexM", "cpuType": "cortex-m33" },
"arm,cortex-m33f": { "type": "CPU.CortexM", "cpuType": "cortex-m33" },
"arm,cortex-m55": { "type": "CPU.CortexM", "cpuType": "cortex-m33" },
"arm,cortex-m85": { "type": "CPU.CortexM", "cpuType": "cortex-m85" },
"arm,cortex-m4": { "type": "CPU.CortexM", "cpuType": "cortex-m4" },
"arm,cortex-m4f": { "type": "CPU.CortexM", "cpuType": "cortex-m4f" },
"arm,cortex-m7": { "type": "CPU.CortexM", "cpuType": "cortex-m7" },
"arm,cortex-r5": { "type": "CPU.ARMv7R", "cpuType": "cortex-r5" },
"arm,cortex-r5f": { "type": "CPU.ARMv7R", "cpuType": "cortex-r5f" },
"arm,cortex-r7": { "type": "CPU.ARMv7R", "cpuType": "cortex-r8" },
"arm,cortex-r8": { "type": "CPU.ARMv7R", "cpuType": "cortex-r8" },
"arm,cortex-r8f": { "type": "CPU.ARMv7R", "cpuType": "cortex-r8" },
"arm,cortex-a9-twd-timer": { "type": "Timers.ARM_PrivateTimer", "frequency": 667000000 },
"arm,cortex-a7-gic": "IRQControllers.ARM_GenericInterruptController",
"arm,cortex-a9-gic": "IRQControllers.ARM_GenericInterruptController",
"arm,cortex-a15-gic": "IRQControllers.ARM_GenericInterruptController",
"arm,gic": "IRQControllers.ARM_GenericInterruptController",
"arm,gic-v1": "IRQControllers.ARM_GenericInterruptController",
"arm,gic-v2": "IRQControllers.ARM_GenericInterruptController",
"arm,gic-400": "IRQControllers.ARM_GenericInterruptController",
"arm,gic-v3": { "renesas,rzt2m-rsk": { "type": "IRQControllers.ARM_GenericInterruptController", "supportsTwoSecurityStates": false }, "_" : "IRQControllers.ARM_GenericInterruptController" },
"arm,gic-v4": "IRQControllers.ARM_GenericInterruptController",
"arm,pl011": "UART.PL011",
"arm,sp804": "Timers.ARM_SP804_Timer",
"arm,v6m-nvic": "IRQControllers.NVIC",
"arm,v7m-nvic": "IRQControllers.NVIC",
"arm,v8m-nvic": "IRQControllers.NVIC",
"arm,v8.1m-nvic": "IRQControllers.NVIC",
"arm,cmsdk-uart": "UART.CMSDK_APB_UART",
"bosch,bme280": "I2C.BME280",
"sensirion,sht4x": "I2C.SHT45",
"raspberrypi,pico-uart": "UART.PL011",
"allwinner,sun50i-h5-mbus": "Memory.MappedMemory",
"allwinner,sun50i-a64-mbus": "Memory.MappedMemory",
"allwinner,sun4i-a10-timer": { "type": "Python.PythonPeripheral", "size": 0x90, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"allwinner,sun8i-a23-timer": { "type": "Python.PythonPeripheral", "size": 0xa0, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"allwinner,sun8i-a23-rsb": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": false, "script": "request.Value = 0x1" },
"allwinner,sun8i-h3-dw-hdmi": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"atmel,sam-usart": "UART.SAM_USART",
"atmel,sam-uart": { "type": "UART.SAM_USART", "uartOnlyMode": true },
"atmel,sam0-uart": { "atmel,samd20": "UART.SAMD20_UART", "_": "UART.SAMD5_UART" },
"atmel,sama5d2-tcb": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"atmel,sama5d2-i2c": { "type": "Python.PythonPeripheral", "size": 0x160, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"atmel,sam-flash-controller": { "type": "Python.PythonPeripheral", "size": 0x200, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"atmel,at91sam9260-usart": "UART.SAM_USART",
"atmel,at91sam9260-pit": { "type": "Python.PythonPeripheral", "size": 0xF, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"atmel,at91sam9x5-hlcdc": { "type": "Python.PythonPeripheral", "size": 0x2000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"nuvoton,npcx-uart": "UART.NPCX_UART",
"nuvoton,npcx-gpio": "GPIOPort.NPCX_GPIO",
"nuvoton,numicro-uart": "UART.NS16550",
"brcm,iproc-pcie-ep": {"type": "Python.PythonPeripheral", "size": 0x2100, "initable": false, "script": "request.Value = 0x1" },
"brcm,bcm2711-aux-uart": "UART.BCM2711_AUX_UART",
"brcm,bcm6345-uart": "UART.BCM2711_AUX_UART",
"cdns,tensilica-xtensa-lx3": { "type": "CPU.Xtensa", "cpuType": "dc233c", "frequency": 100000000 },
"cdns,ttc": "Timers.Cadence_TTC",
"xlnx,ttcps": "Timers.Cadence_TTC",
"cdns,uart-r1p8": "UART.Cadence_UART",
"cdns,uart-r1p12": "UART.Cadence_UART",
"cfi-flash": "Memory.MappedMemory",
"ene,kb1200-uart": { "type": "UART.KB1200_UART" },
"efinix,sapphire-uart0": {"type": "UART.TrivialUart", "irq_mappings": [null]},
"fsl,imx6q-anatop": "Python.PythonPeripheral",
"fsl,imx6sx-anatop": "Python.PythonPeripheral",
"fsl,imx6q-dma-apbh": { "type": "Python.PythonPeripheral", "size": 0x2000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx6q-gpmi-nand": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx6q-ccm": "Python.PythonPeripheral",
"fsl,imx6q-usbphy": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx6q-i2c": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx6q-gpio": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": false, "script": "request.Value = 0xFFFFFFFF" },
"fsl,imx6sl-ccm": "Python.PythonPeripheral",
"fsl,imx6sll-ccm": "Python.PythonPeripheral",
"fsl,imx6sx-ccm": "Python.PythonPeripheral",
"fsl,imx6ul-ccm": "Python.PythonPeripheral",
"fsl,imx6ul-usb": { "type": "Python.PythonPeripheral", "size": 0x200, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx25-fec": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": false, "script": "request.Value = {0x4: 0x800000}.get(request.Offset, 0) # 4==ievent" },
"fsl,imx6q-fec": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": false, "script": "request.Value = {0x4: 0x800000}.get(request.Offset, 0) # 4==ievent" },
"fsl,imx6sl-fec": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": false, "script": "request.Value = {0x4: 0x800000}.get(request.Offset, 0) # 4==ievent" },
"fsl,imx31-gpt": {"type": "Timers.IMX_GPTimer", "frequency": 32000 },
"fsl,imx6dl-gpt": {"type": "Timers.IMX_GPTimer", "frequency": 32000 },
"fsl,imx6q-gpt": {"type": "Timers.IMX_GPTimer", "frequency": 32000 },
"fsl,imx6sx-gpt": {"type": "Timers.IMX_GPTimer", "frequency": 32000 },
"fsl,imx6sl-gpt": {"type": "Timers.IMX_GPTimer", "frequency": 32000 },
"fsl,imx6sll-gpt": {"type": "Timers.IMX_GPTimer", "frequency": 32000 },
"fsl,imx6q-mmdc": "Python.PythonPeripheral",
"fsl,imx6q-uart": "UART.MxcUart",
"fsl,imx21-uart": "UART.MxcUart",
"fsl,imx7ulp-lpuart" : "UART.MxcUart",
"fsl,imxrt-lpuart": "UART.MxcUart",
"fsl,vf610-lpuart": "UART.ImxUart",
"fsl,vf610-i2c": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,etsec2": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx8mm-usdhc": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": false, "script": "request.Value = 0xE0FFFFF8" },
"fsl,imx8mm-i2c": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx8mm-anatop": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx8mm-fec": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx8mm-gpio": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": false, "script": "request.Value = 0xFFFFFFFF" },
"fsl,imx8mp-gpio": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": false, "script": "request.Value = 0xFFFFFFFF" },
"fsl,imx8mp-ocotp": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"nxp,imx8mp-fspi": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx8mp-fec": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"fsl,imx8mn-fec": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"infineon,xmc4xxx-uart": "UART.XMC4XXX_UART",
"infineon,cat1-uart": "UART.Infineon_SCBUART",
"infineon,uart": "UART.Infineon_SCBUART",
"cypress,psoc6-uart": "UART.Infineon_SCBUART",
"gaisler,apbuart": "UART.GaislerAPBUART",
"gaisler,gptimer": "Timers.Gaisler_GPTimer",
"gaisler,irqmp": "IRQControllers.GaislerMIC",
"gaisler,leon3": { "type": "CPU.Sparc", "cpuType": "leon3" },
"gd,gd32-rcu": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": false, "script": "request.Value = 0xFFFFFFFF" },
"gd,gd32-usart": { "gd,gd32a503v-eval|gd,gd32f350r-eval|gd,gd32l233r-eval": { "type": "UART.GD32_UART", "extendedMode": true },
"_": "UART.GD32_UART" },
"gpio-leds": "Miscellaneous.LED",
"virtio,console": "Miscellaneous.VirtIOMMIOConsole",
"virtio,entropy": "Miscellaneous.VirtIOMMIOEntropy",
"ingenic,jz4780-uart": "UART.NS16550",
"microchip,xec-uart": "UART.NS16550",
"litex,clk": "Miscellaneous.LiteX_MMCM_CSR32",
"litex,timer0": { "fomu": { "type" : "Timers.LiteX_Timer", "frequency": 100000000 }, "_": { "type": "Timers.LiteX_Timer_CSR32", "frequency": 100000000 } },
"litex,uart0": "UART.LiteX_UART",
"litex,uart": "UART.LiteX_UART",
"litex,vexriscv-standard": "CPU.RiscV32",
"memory": "Memory.MappedMemory",
"mmio-sram": "Memory.MappedMemory",
"ddram": "Memory.MappedMemory",
"jedec,spi-nor": "Memory.MappedMemory",
"shared-dma-pool": "Memory.MappedMemory",
"marvell,armada-370-timer": {"type": "Timers.Marvell_Armada_Timer", "frequency": 100000000 },
"marvell,armada-375-timer": {"type": "Timers.Marvell_Armada_Timer", "frequency": 100000000 },
"marvell,armada-xp-timer": {"type": "Timers.Marvell_Armada_Timer", "frequency": 100000000 },
"marvell,armada370-nand-controller": { "type": "Python.PythonPeripheral", "size": 0x100, "initable": false, "script": "request.Value = 0xffffffe1" },
"marvell,armada-8k-nand-controller": { "type": "Python.PythonPeripheral", "size": 0x100, "initable": false, "script": "request.Value = 0xffffffe1" },
"marvell,armada-38x-uart": "UART.NS16550",
"marvell,armada-3700-uart": "UART.NS16550",
"marvell,mbus-controller": "Python.PythonPeripheral",
"marvell,mv64xxx-i2c": {"type": "Python.PythonPeripheral", "size": 0x100, "initable": false, "script": "request.Value = 0xf8" },
"marvell,mv78230-a0-i2c": {"type": "Python.PythonPeripheral", "size": 0x100, "initable": false, "script": "request.Value = 0xf8" },
"marvell,sheeva-v7": { "type": "CPU.ARMv7A", "cpuType": "cortex-a9" },
"amlogic,meson-gx-uart": "UART.MesonUart",
"amlogic,meson-gx-ao-sysctrl": {"type": "Python.PythonPeripheral", "size": 0x100, "initable": false, "script": "request.Value = 0x2000000" },
"amlogic,meson-gx-ao-secure": {"type": "Python.PythonPeripheral", "size": 0x140, "initable": false, "script": "request.Value = 0x4000000" },
"openisa,rv32m1-intmux": "IRQControllers.NXP_INTMUX",
"openisa,ri5cy": "CPU.Ri5cy",
"openisa,zero-ri5cy": { "type": "CPU.Ri5cy", "hartId": 0 },
"openisa,rv32m1-lpuart": { "type": "UART.NXP_LPUART", "fifoSize": 8 },
"openisa,rv32m1-lptmr": { "type": "UART.LowPower_Timer" },
"lowrisc,ibex": "CPU.IbexRiscV32",
"microchip,miv": "CPU.RiscV32",
"microchip,coreuart": { "type": "UART.MiV_CoreUART", "clockFrequency": 66000000 },
"microchip,mpfs-gpio": "GPIOPort.MPFS_GPIO",
"microchip,sam9x60-pit64b": { "type": "Python.PythonPeripheral", "size": 0xec, "initable": true, "filename": "scripts/pydev/counter.py" },
"mediatek,mt8365-uart": "UART.NS16550",
"nuclei,bumblebee": "CPU.RiscV32",
"espressif,riscv": "CPU.RiscV32",
"espressif,esp32-uart": "UART.ESP32_UART",
"intel,niosv": "CPU.RiscV32",
"intel,x86": { "type": "CPU.X86", "cpuType": "n270" },
"intel,x86_64": { "type": "CPU.X86_64", "cpuType": "x86_64" },
"intel,apollo-lake": { "type": "CPU.X86_64", "cpuType": "x86_64" },
"intel,core-i3-gen5": { "type": "CPU.X86", "cpuType": "x86" },
"intel,core-gen3": { "type": "CPU.X86", "cpuType": "x86" },
"intel,bartlett-lake": { "type": "CPU.X86_64", "cpuType": "x86_64" },
"intel,ioapic": "IRQControllers.IOAPIC",
"intel,hpet": {"type": "Timers.HPET", "irq_mappings": [null]},
"intel,sedi-uart": { "type": "UART.NS16550", "wideRegisters": true },
"ite,riscv-ite": "CPU.RiscV32",
"issi,is25lp128": "Memory.MappedMemory",
"neorv-sysinfo": { "type": "Python.PythonPeripheral", "size": 0x20, "initable": false, "script": "request.Value = 0xFFFFFFFF" },
"nordic,nrf-clock": { "nordic,nrf54h20dk_nrf54h20-cpuapp|nordic,nrf54h20dk_nrf54h20-cpurad|nordic,nrf54l15dk_nrf54l05-cpuapp|nordic,nrf54l15dk_nrf54l10-cpuapp|nordic,nrf54l15dk_nrf54l15-cpuapp|nordic,nrf54l09pdk_nrf54l09-cpuapp|nordic,nrf54l20pdk_nrf54l20-cpuapp|ezurio,bl54l15_dvk_nrf54l10-cpuapp|ezurio,bl54l15_dvk_nrf54l15-cpuapp|ezurio,bl54l15u_dvk_nrf54l15-cpuapp": "Miscellaneous.NRF54L_CLOCK", "_": { "type": "Miscellaneous.NRF_CLOCK" } },
"nordic,nrf-ecb": "Miscellaneous.NRF52840_ECB",
"nordic,nrf-gpio": "GPIOPort.NRF52840_GPIO",
"nordic,nrf-rng": "Miscellaneous.NRF52840_RNG",
"nordic,nrf-rtc": "Timers.NRF52840_RTC",
"nordic,nrf-grtc": { "type": "Timers.NRF54H20_GRTC", "irq_mappings": ["IRQ"] },
"nordic,nrf-spi": "SPI.NRF52840_SPI",
"nordic,nrf-timer": "Timers.NRF52840_Timer",
"nordic,nrf-twi": "I2C.NRF52840_I2C",
"nordic,nrf-uart": "UART.NRF52840_UART",
"nordic,nrf-uarte": { "nordic,nrf54h20dk_nrf54h20-cpuapp|nordic,nrf54h20dk_nrf54h20-cpurad|nordic,nrf54l15dk_nrf54l05-cpuapp|nordic,nrf54l15dk_nrf54l10-cpuapp|nordic,nrf54l15dk_nrf54l15-cpuapp|nordic,nrf54l09pdk_nrf54l09-cpuapp|nordic,nrf54l20pdk_nrf54l20-cpuapp|ezurio,bl54l15_dvk_nrf54l10-cpuapp|ezurio,bl54l15_dvk_nrf54l15-cpuapp|ezurio,bl54l15u_dvk_nrf54l15-cpuapp": "UART.NRF54H20_UARTE", "_": { "type": "UART.NRF52840_UART", "easyDMA": true } },
"nordic,nrf-vevif-task-tx" : "Miscellaneous.NRF_VPREventInterface",
"nordic,nrf-bellboard-rx" : "Miscellaneous.NRF_Bellboard",
"nordic,nrf-watchdog": "Timers.NRF52840_Watchdog",
"nordic,nrf-usbd": "USB.NRF_USBD",
"nordic,nrf91-flash-controller": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"nordic,owned-memory" : "Memory.MappedMemory",
"nordic,nrf-usbreg": "Miscellaneous.NRF_USBREG",
"ns16550": { "type": "UART.NS16550", "wideRegisters": true },
"ns16550a": { "type": "UART.NS16550", "wideRegisters": true },
"nvidia,tegra20-timer": "Timers.TegraUsecTimer",
"nvidia,tegra210-timer": "Timers.TegraUsecTimer",
"nvidia,tegra30-timer": "Timers.TegraUsecTimer",
"nvidia,tegra30-car": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0x3ff" },
"nvidia,tegra30-mc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": false, "script": "request.Value = 0x400" },
"nvidia,tegra30-sdhci": { "type": "Python.PythonPeripheral", "size": 0x200, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"nvidia,tegra30-i2c": "I2C.TegraI2CController",
"nvidia,tegra20-uart": "UART.NS16550",
"nvidia,tegra20-car": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0x3ff" },
"nvidia,tegra20-mc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": false, "script": "request.Value = 0x100000" },
"nvidia,tegra20-emc": { "type": "Python.PythonPeripheral", "size": 0x200, "initable": false, "script": "request.Value = 0x100000" },
"nvidia,tegra210-mc": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0x400" },
"nvidia,tegra210-i2c": { "type": "Python.PythonPeripheral", "size": 0x100, "initable": false, "script": "request.Value = 8<<4 | 1" },
"nvidia,tegra114-i2c": "I2C.TegraI2CController",
"nvidia,tegra124-i2c": "I2C.TegraI2CController",
"nvidia,tegra124-car": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0x3ff" },
"rockchip,rk3308-otp": { "type": "Python.PythonPeripheral", "size": 0x4000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3308-cru": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3568-cru": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3588-cru": { "type": "Python.PythonPeripheral", "size": 0x5c000, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"rockchip,rk3588-otp": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3568-pmucru": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3568-i2c": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3288-grf" : { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"rockchip,rk3288-i2c": "I2C.RockchipI2C",
"rockchip,rk3399-pmucru": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"rockchip,rk3399-i2c": "I2C.RockchipI2C",
"rockchip,rk3399-sdhci-5.1": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"renesas.smartbond-gpio": "GPIOPort.RenesasDA14_GPIO",
"renesas,smartbond-i2c": "I2C.RenesasDA_I2C",
"renesas,smartbond-spi": "SPI.RenesasDA_SPI",
"renesas,smartbond-uart": "UART.RenesasDA14_UART",
"renesas,smartbond-watchdog": {"type": "Timers.RenesasDA_Watchdog", "frequency": 32000},
"renesas,smartbond-adc": "Analog.RenesasDA14_GPADC",
"renesas.smartbond-dma" : "DMA.RenesasDA14_DMA",
"renesas,rzt2m-uart": "UART.Renesas_SCI",
"renesas,rcar-scif": "UART.RCAR_UART",
"renesas,rcar-hscif": "UART.RCAR_UART",
"renesas,scif": "UART.RCAR_UART",
"renesas,hscif": "UART.RCAR_UART",
"renesas,ra-gpio" : { "renesas,r7fa2e1a|renesas,r7fa2l1a" : "GPIOPort.RenesasRA2_GPIO",
"renesas,r7fa4m1a" : "GPIOPort.RenesasRA4_GPIO",
"renesas,r7fa6m5b" : "GPIOPort.RenesasRA6_GPIO",
"renesas,r7fa8m1a" : "GPIOPort.RenesasRA8_GPIO" },
"renesas,ra-i2c" : "I2C.RenesasRA_IIC",
"renesas,rcar-gen3-i2c": { "type": "Python.PythonPeripheral", "size": 0x40, "initable": true, "script": "request.Value = 0x59" },
"renesas,rcar-gen3-iic": { "type": "Python.PythonPeripheral", "size": 0x425, "initable": true, "script": "request.Value = 0x1" },
"renesas,ra-interrupt-controller-unit" : "IRQControllers.RenesasRA_ICU",
"renesas,rz-sci": {"type":"UART.Renesas_SCI", "irq_mappings": [null, "RxIRQ", "TxIRQ", "TxEndIRQ"]},
"renesas,ra-sci" : { "renesas,ra8|renesas,ra8m1" : { "type" : "UART.RenesasRA8M1_SCI", "frequency": 48000000, "irq_mappings": ["ReceiveIRQ", "TransmitIRQ", "TransmitEndIRQ", null] },
"_": { "type" : "SCI.RenesasRA6M5_SCI", "frequency": 48000000, "enableManchesterMode" : false, "enableFIFO" : true, "irq_mappings": ["ReceiveIRQ", "TransmitIRQ", "TransmitEndIRQ", null ] } },
"renesas,scif-r9a07g044" : { "type": "SCI.RenesasRZG_SCIFA", "frequency": 100000000, "irq_mappings": ["0", "2", "3", "1", "4"] },
"renesas,rz-scif-uart": { "type": "SCI.RenesasRZG_SCIFA", "frequency": 100000000, "irq_mappings": ["0", "1", "2", "3", "4"] },
"renesas,ra-timer" : "Timers.RenesasRA_GPT",
"renesas,smartbond-timer" : "Timers.RenesasDA14_GPT",
"renesas,ra-clock-generation-circuit": { "type": "Python.PythonPeripheral", "size": 0x40, "initable": false, "script": "request.Value = 0xFFFFFFFF" },
"renesas,ra-system": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "flag = not locals().get('flag', False); request.Value = 0xff if flag and request.Offset in [0x3c, 0x55, 0x5e, 0x5f, 0x74, 0x75, 0x76, 0x78, 0x79, 0x4B1] else 0x0" },
"renesas,r9a07g044-cpg": { "type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"socionext,uniphier-uart": "UART.NS16550",
"nxp,flexpwm": "Timers.IMXRT_PWM",
"nxp,imx-code-bus": "Memory.MappedMemory",
"nxp,imx-dtcm": "Memory.MappedMemory",
"nxp,imx-flexspi": "SPI.IMXRT_FlexSPI",
"nxp,imx-flexspi-nor": "Memory.MappedMemory",
"nxp,s32-qspi-nor": "Memory.MappedMemory",
"nxp,imx-flexspi-hyperflash": "Memory.MappedMemory",
"nxp,imx-flexspi-mx25um51345g": "Memory.MappedMemory",
"nxp,xspi-mx25um51345g": "Memory.MappedMemory",
"nxp,imx-gpio": { "type": "GPIOPort.IMXRT_GPIO", "irq_mappings": ["IRQ", null] },
"nxp,imx-itcm": "Memory.MappedMemory",
"nxp,imx-lpspi": "SPI.IMXRT_LPSPI",
"nxp,imx-sys-bus": "Memory.MappedMemory",
"nxp,imx-uart": "UART.MxcUart",
"nxp,imx-iuart": "UART.MxcUart",
"nxp,lpi2c": {"type": "I2C.S32K3XX_LowPowerInterIntegratedCircuit", "irq_mappings": ["", null]},
"nxp,imx-lpi2c": {"type": "I2C.S32K3XX_LowPowerInterIntegratedCircuit", "irq_mappings": ["", null]},
"nxp,kinetis-lpsci": "UART.ImxUart",
"nxp,gpt-hw-timer": "Timers.IMX_GPTimer",
"nxp,kinetis-lpuart": { "nxp,k6x|nxp,k8x": { "type": "UART.NXP_LPUART", "hasGlobalRegisters": false, "fifoSize": 4 }, "_" : "UART.NXP_LPUART" },
"nxp,lpuart": {
"nxp,k6x|nxp,k8x|nxp,mcxc444|nxp,mcxc242": { "type": "UART.NXP_LPUART", "hasGlobalRegisters": false, "fifoSize": 4 },
"_" : "UART.NXP_LPUART"
},
"nxp,lp-flexcomm": "UART.NXP_FLEXCOMM",
"nxp,kinetis-mcg": "Miscellaneous.K6xF_MCG",
"nxp,kinetis-rnga": "Miscellaneous.K6xF_RNG",
"nxp,kinetis-sim": "Miscellaneous.K6xF_SIM",
"nxp,kinetis-trng": "Miscellaneous.IMX_TRNG",
"nxp,kinetis-uart": "UART.K6xF_UART",
"nxp,lpc3220-timer": "Timers.LPC_CTimer",
"nxp,lpc-ctimer": "Timers.LPC_CTimer",
"nxp,lpc-usart": "UART.LPC_USART",
"nxp,mcux-12b1msps-sar": "Analog.IMXRT_ADC",
"nxp,lpc-syscon": { "type": "Python.PythonPeripheral", "size": 0x1000, "script": "request.Value = {0x264: 0x3, 0x284: 0x3, 0x2B0: 0x4, 0x320: 0xFF, 0x3A0: 0xFF, 0xA18: 0xFF}.get(request.Offset, (0x0 if (request.Counter % 2) else 0xFFFFFFFF))" },
"nxp,lpc11u6x-syscon": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"nxp,iap-fmc55": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"nxp,lpc11u6x-uart": "UART.NS16550",
"nxp,s32-linflexd": "UART.LINFlexD_UART",
"nxp,s32-siul2-eirq": { "type": "Miscellaneous.S32K3XX_SystemIntegrationUnitLite2", "irq_mappings": ["IRQ1", "IRQ2", "IRQ3", "IRQ4" ] },
"nxp,os-timer": { "type": "Timers.NXP_OsTimer", "frequency": 1000000 },
"openhwgroup,cva6": "CPU.RiscV32",
"riscv": "CPU.RiscV32",
"andestech,andescore-v5": "CPU.RiscV32",
"andestech,atcpit100": { "type": "Timers.AndesATCPIT100", "clockFrequency": 60000000 },
"andestech,nceplic100": { "type": "IRQControllers.AndesNCEPLIC100", "numberOfContexts": 16, "prioritiesEnabled": true, "numberOfSources": 1023 },
"andestech,atcgpio100": "GPIOPort.AndesATCGPIO100",
"andestech,atcwdt200": { "type": "Timers.AndesATCWDT200_Watchdog", "clockFrequency": 32768 },
"andestech,atcrtc100": { "type": "Timers.AndesATCRTC100", "irq_mappings": [""] },
"egis,et171-spi": "SPI.AndesATCSPI200",
"egis,et171-sha": "Miscellaneous.EgisET171_Crypto",
"egis,et171-aosmu": "Miscellaneous.EgisET171_AOSMU",
"riscv,plic1": { "type": "IRQControllers.PlatformLevelInterruptController", "numberOfContexts": 16, "prioritiesEnabled": true },
"sifive,plic-1.0.0": {
"egis,et171": { "type": "IRQControllers.AndesNCEPLIC100", "numberOfContexts": 16, "prioritiesEnabled": true, "numberOfSources": 1023 },
"_": { "type": "IRQControllers.PlatformLevelInterruptController", "numberOfContexts": 16, "prioritiesEnabled": true }
},
"sifive,clint0": "IRQControllers.CoreLevelInterruptor",
"starfive,jh7100-clint": "IRQControllers.CoreLevelInterruptor",
"thead,c900-clint": "IRQControllers.CoreLevelInterruptor",
"riscv,sifive-e31": "CPU.RiscV32",
"sifive,e31": "CPU.RiscV32",
"nordic,vpr": "CPU.RiscV32",
"neorv32-cpu": "CPU.RiscV32",
"neorv32-uart": "UART.NEORV32_UART",
"riscv,machine-timer": {
"microchip,mpfs": null,
"microchip,miv-soc": null,
"efinix,sapphire": null,
"starfive,jh7110": null,
"sifive-soc": null,
"openhwgroup,cv32a6_genesys_2|openhwgroup,cv64a6_genesys_2": null,
"lowrisc,opentitan-earlgrey": null,
"riscv-virtio": null,
"renode,riscv32-virtual": null,
"_": { "type": "Timers.RiscVMachineTimer", "frequency": 100000000, "irq_mappings": [""] }
},
"samsung,exynos4210-uart": "UART.NS16550",
"sifive,dtim0": "Memory.MappedMemory",
"sifive,l2lim0": "Memory.MappedMemory",
"sifive,gpio0": "GPIOPort.SiFive_GPIO",
"sifive,maskrom0": "Memory.MappedMemory",
"sifive,otp0": "Memory.MappedMemory",
"sifive,rocket0": "CPU.RiscV32",
"sifive,uart0": "UART.SiFive_UART",
"sensry,sy1xx" : "CPU.RiscV32",
"sc,hrmem": "Memory.MappedMemory",
"silabs,gecko-leuart": "UART.LEUART",
"silabs,gecko-uart": "UART.EFM32_UART",
"silabs,gecko-usart": { "silabs,efr32bg22|silabs,efr32mg24|silabs,efr32mg21|silabs,efr32bg27": "UART.EFR32xG22_USART", "_": "UART.EFR32_USART" },
"silabs,usart-uart": {
"silabs,efr32bg22|silabs,efr32mg24|silabs,efr32mg21|silabs,efr32bg27|silabs,mgm240sd22vna": "UART.EFR32xG22_USART",
"_": "UART.EFR32_USART"
},
"silabs,gecko-gpio-port": "GPIOPort.EFR32_GPIOPort",
"silabs,gecko-burtc": "Timers.EFR32xG2_BURTC",
"silabs,si32-usart": "UART.SI32_USART",
"silabs,series-clock": { "silabs,efr32mg21": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": false, "script": "request.Value = {0x70: 0x1, 0x160: 0x2, 0x240: 0x1}.get(request.Offset, 0)" },
"_": { "type": "Miscellaneous.SiLabs.EFR32xG2_CMU_3", "irq_mappings": [null] }},
"silabs,gecko-stimer": { "type": "Timers.EFR32xG24_SYSRTC", "irq_mappings": ["AppIRQ"] },
"silabs,sysrtc": { "type": "Timers.EFR32xG24_SYSRTC", "irq_mappings": ["AppIRQ"] },
"silabs,eusart-spi": { "type": "UART.EFR32xG2_EUSART_2", "irq_mappings": ["ReceiveIRQ", "TransmitIRQ"] },
"silabs,eusart-uart": { "type": "UART.EFR32xG2_EUSART_2", "irq_mappings": ["ReceiveIRQ", "TransmitIRQ"] },
"silabs,hfxo": { "silabs,efr32mg21": {},
"silabs,efr32bg22|silabs,efr32bg27": { "type": "Miscellaneous.SiLabs.EFR32xG2_HFXO_2", "startupDelayTicks": 3 },
"_" : { "type": "Miscellaneous.SiLabs.EFR32xG2_HFXO_3", "startupDelayTicks": 3 }},
"silabs,series2-dcdc": { "type": "Miscellaneous.SiLabs.EFR32xG2_DCDC_2", "irq_mappings": [null] },
"snps,dw-apb-uart": "UART.NS16550",
"snps,dw-apb-timer": { "type": "Python.PythonPeripheral", "size": 0x100, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"snps,dwc3": {"type": "Python.PythonPeripheral", "size": 0x10000, "initable": true, "script": "request.Value = 0xFFFFFFFF" },
"snps,ddrc-3.80a": {"type": "Python.PythonPeripheral", "size": 0x400000, "initable": true, "script": "request.Value = 0x1" },
"nuvoton,numaker-uart": "UART.NS16550",
"nuvoton,npcm845-uart": "UART.NS16550",
"soc-nv-flash": "Memory.MappedMemory",
"renesas,ra-nv-flash": "Memory.MappedMemory",
"renesas,ra-nv-code-flash": "Memory.MappedMemory",
"renesas,ra-nv-data-flash": "Memory.MappedMemory",
"renesas,ra-nv-mram": "Memory.MappedMemory",
"st,stm32-adc": {
"st,stm32wba": { "type": "Analog.STM32WBA_ADC", "referenceVoltage": 3.0, "externalEventFrequency": 1000},
"_": "Analog.STM32_ADC"
},
"st,stm32-gpio": { "st,stm32f1" : "GPIOPort.STM32F1GPIOPort", "_": "GPIOPort.STM32_GPIOPort" },
"st,stm32-lpuart": { "type": "UART.STM32F7_USART", "frequency": 200000000, "lowPowerMode": true },
"st,stm32-lptim": { "st,stm32wba": {"type": "Timers.STM32L0_LpTimer", "frequency": 16000000},
"st,stm32h7": {"type": "Timers.STM32L0_LpTimer", "frequency": 32000000},
"st,stm32l0": {"type": "Timers.STM32L0_LpTimer", "frequency": 0x1000000}},
"st,stm32wba-flash-controller": "MTD.STM32WBA_FlashController",
"st,stm32-nv-flash": "Memory.MappedMemory",
"st,stm32-rcc": {
"st,stm32g0|st,stm32g4|st,stm32l1|st,stm32l4|st,stm32l5" : {"type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32f1|st,stm32f3": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"st,stm32l0": "Miscellaneous.STM32L0_RCC",
"_" : "Miscellaneous.STM32F4_RCC"
},
"st,stm32-rng": "Miscellaneous.STM32F4_RNG",
"st,stm32-rtc": "Timers.STM32F4_RTC",
"st,stm32-spi": "SPI.STM32SPI",
"st,stm32-timers": { "type": "Timers.STM32_Timer", "frequency": 10000000, "initialLimit": 0xFFFFFFFF },
"st,stm32-timer": { "type": "Timers.STM32_Timer", "frequency": 10000000, "initialLimit": 0xFFFFFFFF },
"st,stm32-uart": { "st,stm32f3|st,stm32l4|st,stm32u5|st,stm32h7|st,stm32h7rs": { "type": "UART.STM32F7_USART", "frequency": 200000000 }, "_": "UART.STM32_UART" },
"st,stm32-usart": {
"st,stm32h7|st,stm32f7|st,stm32u5|st,stm32h5|st,stm32l5|st,stm32f0|st,stm32l0|st,stm32g0|st,stm32c0|st,stm32l4|st,stm32g4|st,stm32f3|st,stm32wba|st,stm32wl|st,stm32wb0|st,stm32u0|st,stm32wb": { "type": "UART.STM32F7_USART", "frequency": 200000000 },
"_": "UART.STM32_UART"
},
"st,stm32h7-uart": { "type": "UART.STM32F7_USART", "frequency": 200000000 },
"st,stm32-watchdog": { "type": "Timers.STM32_IndependentWatchdog", "frequency": 32000, "irq_mappings": [ null ] },
"st,stm32f0-rcc": {
"st,stm32u0": {
"type": "Python.PythonPeripheral",
"size": 0x400,
"initable": true,
"script": "request.Value = (3 if request.IsInit or lastVal == 0 else (lastVal << 1) & 0xFFFFFFFF) ; lastVal = 3 if request.IsInit or lastVal == 0 else (lastVal << 1) & 0xFFFFFFFF"
},
"_": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/rolling-bit.py" }
},
"st,stm32f1-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"st,stm32f3-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"st,stm32f4-rcc": "Miscellaneous.STM32F4_RCC",
"st,stm32wb-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"st,stm32wba-rcc": "Miscellaneous.STM32WBA_RCC",
"st,stm32wb0-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"st,stm32u5-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32h5-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32h7-rcc": "Miscellaneous.STM32H7_RCC",
"st,stm32h7rs-rcc": "Miscellaneous.STM32H7_RCC",
"st,stm32h743-rcc": "Miscellaneous.STM32H7_RCC",
"st,stm32wl-rcc": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32-ethernet": { "st,stm32h7": { "type": "Network.SynopsysDWCEthernetQualityOfService", "systemClockFrequency": 50000000 },
"_": "Network.SynopsysEthernetMAC" },
"st,stm32-i2c-v1": "I2C.STM32F4_I2C",
"st,stm32-i2c-v2": "I2C.STM32F7_I2C",
"st,stm32mp13-rcc": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0xffffffff" },
"st,stm32mp15-i2c": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32mp157-syscfg": { "type": "Python.PythonPeripheral", "size": 0x400, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32-hsem-mailbox": "Miscellaneous.STM32H7_HardwareSemaphore",
"st,stm32-pwr": { "type": "Python.PythonPeripheral", "size": 0x400 , "initable": true, "filename": "scripts/pydev/flipflop.py" },
"st,stm32wb0-pwr": { "type": "Python.PythonPeripheral", "size": 0x400 , "initable": true, "filename": "scripts/pydev/flipflop.py" },
"starfive,itim0": "Memory.MappedMemory",
"starfive,rocket0": "CPU.RiscV32",
"quicklogic,eos-s3-usbserial": "UART.USBSerialPort_S3B",
"quicklogic,usbserialport-s3b": "UART.USBSerialPort_S3B",
"ti,am4372-i2c": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0x1" },
"ti,am654-uart": "UART.NS16550",
"ti,am654-secure-proxy": { "type": "Python.PythonPeripheral", "size": 0x100000, "initable": true, "filename": "scripts/pydev/flipflop.py" },
"ti,am4372-uart": "UART.NS16550",
"ti,am3352-uart": "UART.NS16550",
"ti,am335x-timer": { "type": "Timers.OMAP_Timer", "frequency": 4000000 },
"ti,am4372-timer": { "type": "Timers.OMAP_Timer", "frequency": 4000000 },
"ti,omap5430-timer": { "type": "Timers.OMAP_Timer", "frequency": 4000000 },
"ti,am4-prcm": { "type": "Python.PythonPeripheral", "size": 0x11000, "initable": true, "filename": "scripts/pydev/rolling-bit.py" },
"ti,cc13xx-cc26xx-uart": "UART.PL011",
"ti,cc23x0-uart": "UART.PL011",
"ti,omap2-uart": "UART.NS16550",
"ti,omap3-uart": "UART.NS16550",
"ti,omap4-uart": "UART.NS16550",
"ti,omap4-i2c": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = 0x1" },
"ti,omap5-dmm": { "type": "Python.PythonPeripheral", "size": 0x800, "initable": false, "script": "request.Value = {0x40: 0x80640000}.get(request.Offset, 0)" },
"ti,stellaris-uart": "UART.PL011",
"xlnx,xuartps": "UART.Cadence_UART",
"xlnx,zynq-slcr": { "type": "Python.PythonPeripheral", "size": 0x200, "initable": false, "script": "request.Value = {0x100: 0x0001A008, 0x120: 0x1F000400, 0x124: 0x18400003}.get(request.Offset, 0)" },
"xlnx,zynqmp-ipi-mailbox": { "type": "Python.PythonPeripheral", "size": 0x1000, "initable": false, "script": "request.Value = {0x24: 0x10000, 0x1e4: 0x10000}.get(request.Offset, 0)" },
"xlnx,zynqmp-uart": "UART.Cadence_UART",
"xlnx,xps-uartlite-1.00.a": "UART.AxiUartLite",
"silabs,gecko-i2c": "I2C.EFR32xG2_I2CController",
"silabs,si7210": "Sensors.SI7210",
"ti,tmp108": "Sensors.TMP108",
"ti,tmp103": "Sensors.TMP103",
"st,lis2ds12": "Sensors.LIS2DS12",
"st,lsm303dlhc-accel": "Sensors.LSM303DLHC_Accelerometer",
"focaltech,ft9001-cpm": "Miscellaneous.FocalTechFT9001_CPM",
"focaltech,ft9001-usart": "UART.FT9001_USART"
}

View File

@@ -0,0 +1,31 @@
uart0: UART.NS16550 @ sysbus 0xa0000000
pci: Python.PythonPeripheral @ sysbus 0xE0000CF8
size: 0x400
initable: false
script: '''
if request.IsRead:
if addr == 0x0:
# ns16550 vendor and device ID
request.Value = 0x5abc8086
elif addr == 0x10:
# address to memory-mapped accesses, it should be the same as 'uart' point of registration
request.Value = 0xa0000000
else:
addr = request.Value & 0xFF
'''
sysbus:
init add:
Tag <0xE0000020 1> "PIC1_CMD"
Tag <0xE0000021 1> "PIC1_DATA"
Tag <0xE00000A0 1> "PIC2_CMD"
Tag <0xE00000A1 1> "PIC2_DATA"
Tag <0xE0000040 1> "PIT_CHANNEL0"
Tag <0xE0000041 1> "PIT_CHANNEL1"
Tag <0xE0000042 1> "PIT_CHANNEL2"
Tag <0xE0000043 1> "PIT_CMDREG"
Tag <0xE0000CF8 4> "PCI_ADDRESS"
Tag <0xE0000CFC 4> "PCI_DATA"
Tag <0xE0000070 1> "CMOS_ADDRESS"
Tag <0xE0000071 1> "CMOS_DATA"

View File

@@ -0,0 +1,32 @@
uart1: UART.NS16550 @ sysbus 0xa0000000
pci: Python.PythonPeripheral @ sysbus 0xE0000CF8
size: 0x400
initable: false
script: '''
if request.IsRead:
if addr == 0x0:
# ns16550 vendor and device ID
request.Value = 0x54a98086
elif addr == 0x10:
# address to memory-mapped accesses, it should be the same as 'uart' point of registration
request.Value = 0xa0000000
else:
addr = request.Value & 0xFF
'''
sysbus:
init add:
Tag <0xE0000020 1> "PIC1_CMD"
Tag <0xE0000021 1> "PIC1_DATA"
Tag <0xE00000A0 1> "PIC2_CMD"
Tag <0xE00000A1 1> "PIC2_DATA"
Tag <0xE0000040 1> "PIT_CHANNEL0"
Tag <0xE0000041 1> "PIT_CHANNEL1"
Tag <0xE0000042 1> "PIT_CHANNEL2"
Tag <0xE0000043 1> "PIT_CMDREG"
Tag <0xE0000CF8 4> "PCI_ADDRESS"
Tag <0xE0000CFC 4> "PCI_DATA"
Tag <0xE0000070 1> "CMOS_ADDRESS"
Tag <0xE0000071 1> "CMOS_DATA"
GenerateACPITable 0xe0000

View File

@@ -0,0 +1 @@
adafruit,itsybitsy-m4-express.repl

View File

@@ -0,0 +1,7 @@
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/ATSAMD51P20A.svd.gz
Tag <0x4000140C 4> "OSC32KCTRL_STATUS" 0xFFFFFFFF
Tag <0x40001010 4> "OSCCTRL_STATUS" 0xFFFFFFFF
Tag <0x40001c84 4> "unknown" 0xFFFFFFFF
Tag <0x40001040 4> "OSCCTRL_DPLLSTATUS" 0xFFFFFFFF

View File

@@ -0,0 +1,15 @@
gclk_phctrl1: Python.PythonPeripheral @ sysbus 0x40001c84
size: 0x4
initable: true
filename: "scripts/pydev/flipflop.py"
pac_intflag: Python.PythonPeripheral @ sysbus 0x40001010
size: 0x4
initable: true
filename: "scripts/pydev/flipflop.py"
pac_status: Python.PythonPeripheral @ sysbus 0x40001040
size: 0x4
initable: true
filename: "scripts/pydev/counter.py"

View File

@@ -0,0 +1 @@
adi,max32650evkit.repl

View File

@@ -0,0 +1 @@
adi,max32690evkit.repl

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0x4002A100 0x4> "ICC_CACHE_CTRL" 0xFFFFFFFF

View File

@@ -0,0 +1 @@
adi,max32650evkit.repl

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
Tag <0x40004440 4> "SIMO_BUCK_OUT_READY" 0xF
Tag <0x4002A100 4> "CM4_ICACHE_CONTROLLER_ICC0_CTRL" 0x10000

View File

@@ -0,0 +1 @@
adi,max32655evkit.repl

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0x4002A100 0x4> "ICC_ctrl" 0xffffffff

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0x4002A100 0x4> "ICC_ctrl" 0xffffffff

View File

@@ -0,0 +1 @@
adi,max32690evkit.repl

View File

@@ -0,0 +1 @@
adi,max78000fthr.repl

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
Tag <0x4002A100 0x4> "MXC_ICC_RevA_Enable" 0xFFFFFFFF

View File

@@ -0,0 +1 @@
allwinner,sun8i-r40.repl

View File

@@ -0,0 +1 @@
allwinner,sun8i-r40.repl

View File

@@ -0,0 +1,11 @@
boot_rom: Memory.MappedMemory @ sysbus 0x0
size: 0x10000
sram_a1c: Memory.MappedMemory @ sysbus 0x20000
size: 0x26000
sram_a2: Memory.MappedMemory @ sysbus 0x100000
size: 0x18000
dram: Memory.MappedMemory @ sysbus 0x40000000
size: 0x80000000

View File

@@ -0,0 +1 @@
allwinner,sun8i-a33.repl

View File

@@ -0,0 +1 @@
allwinner,sun8i-a33.repl

View File

@@ -0,0 +1 @@
allwinner,sun8i-a33.repl

View File

@@ -0,0 +1,5 @@
ddr: Memory.MappedMemory @ sysbus 0x40000000
size: 0x80000000
sram_a: Memory.MappedMemory @ sysbus 0x0
size: 0xC0000

View File

@@ -0,0 +1 @@
allwinner,sun8i-a33.repl

View File

@@ -0,0 +1,5 @@
ddr: Memory.MappedMemory @ sysbus 0x40000000
size: 0x80000000
sram_a1: Memory.MappedMemory @ sysbus 0x0
size: 0x00010000

View File

@@ -0,0 +1,5 @@
dram: Memory.MappedMemory @ sysbus 0x40000000
size: 0x80000000
sram_a: Memory.MappedMemory @ sysbus 0x0
size: 0xC0000

View File

@@ -0,0 +1 @@
ambiq,apollo4x.repl

View File

@@ -0,0 +1,74 @@
// Renode-only helper peripheral placed in reserved address space.
// The error is logged with an unimplemented function's name if a valid
// LR value is written to the peripheral's address.
bootrom_logger: Miscellaneous.AmbiqApollo4_BootromLogger @ sysbus 0x07FFFFFC
bootromBaseAddress: 0x08000000
bootrom: Memory.MappedMemory @ sysbus 0x08000000
size: 0x1000
init:
// Bootrom in Ambiq Apollo4b contains functions which are used by SDK.
// Since the actual bootrom code isn't currently available even as a blob,
// these simple implementations for necessary functions are provided:
// * program_main2
WriteWord 0x6C 0x2900 // asm: cmp r1, #0 // compare arg1
WriteWord 0x6E 0xD000 // asm: beq 0x72 // jump to 0x72 if equal
WriteWord 0x70 0xE0D6 // asm: b 0x220 // jump to 0x220
WriteWord 0x72 0xE0C5 // asm: b 0x200 // jump to 0x200
// * read_word
WriteWord 0x74 0x6800 // asm: ldr r0, [r0, #0]
WriteWord 0x76 0x4770 // asm: bx lr
// * delay -- called with a number of iterations in 'r0' (see 'am_hal_delay_us' in
// SDK's 'mcu/apollo4p/hal/mcu/am_hal_utils.c'). 15 iterations are added
// because in hardware equivalent time is spent on checking burst mode
// and adjusting to it. It's safe to do so -- with AmbiqSuite v4.2 the
// number of iterations passed will always be lower than '2^32 - 1 - 15'.
WriteWord 0x9C 0x300F // asm: adds r0, #15 // add 15 iterations
WriteWord 0x9E 0x3801 // asm: subs r0, #1 // decrement number of iterations
WriteWord 0xA0 0x2800 // asm: cmp r0, #0 // compare with 0
WriteWord 0xA2 0xd1fc // asm: bne.n 0x9E // jump to 0x9E if not equal
WriteWord 0xA4 0x4770 // asm: bx lr // return
// A handler which prevents silent usage of unimplemented functions:
// 1. the address of the caller (LR) is written to the 'bootrom_logger'
// (see above) which logs an error with the name of the function,
// 2. the jump to the 'logger_address' is performed, which aborts the
// simulation because it isn't a MappedMemory.
WriteDoubleWord 0x30 0x3014f8df // asm: ldr r3, logger_address
WriteDoubleWord 0x34 0xe000f8c3 // asm: str lr, [r3]
WriteWord 0x38 0x4718 // asm: bx r3
WriteDoubleWord 0x48 0x07fffffc // logger_address
// Unimplemented functions jump to the handler (asm: bl handler).
WriteDoubleWord 0x4C 0xfff0f7ff // mass_erase
WriteDoubleWord 0x50 0xffeef7ff // page_erase
WriteDoubleWord 0x54 0xffecf7ff // program_main
WriteDoubleWord 0x58 0xffeaf7ff // program_info_area
WriteDoubleWord 0x78 0xffdaf7ff // write
WriteDoubleWord 0x80 0xffd6f7ff // info_erase
WriteDoubleWord 0x98 0xffcaf7ff // recovery
// * program_main2 -- with parm1 == 0, assuming that numWords is not 0
WriteWord 0x200 0x9800 // asm: ldr r0, [sp] // load numWords from stack
WriteWord 0x202 0x0080 // asm: lsl r0, r0, #2 // multiply numWords by 4 (to get number of bytes)
WriteWord 0x204 0x009B // asm: lsl r3, r3, #2 // multiply dst to get the actual address
WriteWord 0x206 0x501A // asm: str r2, [r3, r0] // store r2 to dst + numWords
WriteWord 0x208 0x3804 // asm: subs r0, #4 // decrease numWords
WriteWord 0x20A 0x2800 // asm: cmp r0, #0 // compare numWords with 0
WriteWord 0x20C 0xDAFB // asm: bge 0x206 // jump to 0x206 if not negative
WriteWord 0x20E 0x2000 // asm: movs r0, #0 // set return value to OK
WriteWord 0x210 0x4770 // asm: bx lr // return
// * program_main2 -- with parm1 == 1, assuming that numWords is not 0
WriteWord 0x220 0x9800 // asm: ldr r0, [sp] // load numWords from stack
WriteWord 0x222 0x0080 // asm: lsl r0, r0, #2 // multiply numWords by 4 (to get number of bytes)
WriteWord 0x224 0x009B // asm: lsl r3, r3, #2 // multiply dst to get the actual address
WriteWord 0x226 0x5811 // asm: ldr r1, [r2, r0] // load src + numWords to r1
WriteWord 0x228 0x5019 // asm: str r1, [r3, r0] // store r1 to dst + numWords
WriteWord 0x22A 0x3804 // asm: subs r0, #4 // decrease numWords
WriteWord 0x22C 0x2800 // asm: cmp r0, #0 // compare numWords with 0
WriteWord 0x22E 0xDAFA // asm: bge 0x226 // jump to 0x226 if not negative
WriteWord 0x230 0x2000 // asm: movs r0, #0 // set return value to OK
WriteWord 0x232 0x4770 // asm: bx lr // return
sysbus:
init add:
Tag <0x48000054,0x48000054> "DAXI_CONTROL" 0x4 // DAXIREADY set.
Tag <0x40021004,0x40021008> "DEVPWREN" 0xFFFFFFFF // All devices powered up.
Tag <0x40021018 4> "MEMEN" 0xFFFFFFFF

View File

@@ -0,0 +1,3 @@
clint: IRQControllers.CoreLevelInterruptor @ sysbus 0xffdc000000
frequency: 1000000
[0, 1] -> cpu0@[3, 7]

View File

@@ -0,0 +1,7 @@
// the EEFC node is currently disabled in the Zephyr DT file
// this overlay can be removed once the issue is resolved in Zephyr
eefc: Python.PythonPeripheral @ sysbus 0x400e0a00
size: 0x200
initable: true
filename: "scripts/pydev/flipflop.py"

View File

@@ -0,0 +1 @@
atmel,samd21.repl

View File

@@ -0,0 +1 @@
atmel,samd21.repl

View File

@@ -0,0 +1,2 @@
cpu0:
numberOfMPURegions: 16

View File

@@ -0,0 +1,20 @@
gpio0: // PinName in ArduinoIDE
23 -> camera@0 // D7
24 -> led_red@0 // LED_RED
16 -> led_green@0 // LED_GREEN
6 -> led_blue@0 // LED_BLUE
camera: Sensors.ArduCAMMini2MPPlus @ {
spi2;
twi0 0x30
}
lsm9ds1_imu: Sensors.LSM9DS1_IMU @ twi0 0x6b
lsm9ds1_mag: Sensors.LSM9DS1_Magnetic @ twi0 0x1e
led_red: Miscellaneous.LED @ gpio0 24
led_green: Miscellaneous.LED @ gpio0 16
led_blue: Miscellaneous.LED @ gpio0 6

View File

@@ -0,0 +1,2 @@
reserved_ram: Memory.MappedMemory @ sysbus 0x21000000
size: 0x200000

View File

@@ -0,0 +1,2 @@
memory: Memory.MappedMemory @ sysbus 0x80000000
size: 0x8000000

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/STM32MP157x.svd.gz

View File

@@ -0,0 +1 @@
atmel,samd21.repl

View File

@@ -0,0 +1,23 @@
memory: @ { sysbus 0x80000000; sysbus 0x0 }
size: 0x10000000
flash: Memory.MappedMemory @ sysbus 0x20000000
size: 0x10000000
timer: Python.PythonPeripheral @ sysbus 0x1E782000
size: 0x4
initable: true
script: "import random; rand = int(random.random()*2**32); request.Value = rand"
sysbus:
init add:
Tag <0x1E6E2148 4> "UNKNOWN1" 0xFFFFFFFF
Tag <0x1E6E0070 4> "UNKNOWN2" 0x1000
Tag <0x1E620008 4> "UNKNOWN3" 0xFFFFFFFF
Tag <0x1E6E0050 4> "SCU_50" 0x80001000
Tag <0x1E6E2070 4> "SCU_70_STRAP" 0xFFFFFFFF
Tag <0x1E6E0004 4> "UNKNOWN4" 0xFFFFFFFF
Machine PyDevFromFile @scripts/pydev/rolling-bit.py 0x1E6c0090 0x4 True "VIC"
Machine PyDevFromFile @scripts/pydev/rolling-bit.py 0x1E6E0000 0x4 True "UNKNOWN5"
Machine PyDevFromFile @scripts/pydev/rolling-bit.py 0x1E6E2000 0x4 True "SCU_0x00"

View File

@@ -0,0 +1,22 @@
cpu1:
init:
IsHalted True
cpu2:
init:
IsHalted True
cpu3:
init:
IsHalted True
gic:
supportsTwoSecurityStates: false
architectureVersion: IRQControllers.ARM_GenericInterruptControllerVersion.GICv1
memory: Memory.MappedMemory @ { sysbus 0; sysbus 0x80000000 }
size: 0x40000000
sysbus:
init add:
Tag <0x7000F050 4> "MC" 0x1000

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0xFFFFFC30 4> "PMC_MCKR" 0x1

View File

@@ -0,0 +1,2 @@
internal: Memory.MappedMemory @ sysbus 0x200000
size: 0x200000

View File

@@ -0,0 +1,8 @@
PMC_SR: Python.PythonPeripheral @ sysbus 0x400E0668
size: 0x4
initable: true
filename: "scripts/pydev/flipflop.py"
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/ATSAM3X8E.svd.gz

View File

@@ -0,0 +1,4 @@
PMC_SR: Python.PythonPeripheral @ sysbus 0x400E0468
size: 0x4
initable: true
filename: "scripts/pydev/flipflop.py"

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
Tag <0x400E0814, 0x400E0818> "pmc" 0xFFFFFFFF
Tag <0x400F0424, 0x400F0428> "rc32k_osc" 0xFFFFFFFF

View File

@@ -0,0 +1 @@
atmel,sam4e.repl

View File

@@ -0,0 +1,12 @@
cpu0: CPU.ARMv7A @ sysbus
cpuType: "cortex-a5"
cpuId: 0
memory: Memory.MappedMemory @ sysbus 0x20000000
size: 0x10000000
sysbus:
init add:
Tag <0xF0014068 4> "PMC_SR" 0xFFFFFFFF
Tag <0xF0014030 4> "PMC_MCKR" 0x1
Tag <0xF0024010 4> "QSPI_SR" 0xFFFFFFFF

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0xFFFFFC30 4> "PMC_MCKR" 0x1

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0xF0018030 4> "PMC_MCKR" 0x1

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/ATSAMC21N18A.svd.gz
Tag <0x4000100C 4> "OSCCTRL_STATUS" 0xFFFFFFFF

View File

@@ -0,0 +1 @@
atmel,samd21.repl

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
Tag <0x4000080C, 0x4000080F> "SYSCTRL_PCLKSR" 0xFFFFFFFF

View File

@@ -0,0 +1,7 @@
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/ATSAME54P20A.svd.gz
Tag <0x4000140C 4> "OSC32KCTRL_STATUS" 0xFFFFFFFF
Tag <0x40001010 4> "OSCCTRL_STATUS" 0xFFFFFFFF
Tag <0x40001C84 4> "UNKNOWN_RESERVED" 0xFFFFFFFF
Tag <0x40001040 4> "OSCCTRL_DPLLSTATUS" 0xFFFFFFFF

View File

@@ -0,0 +1,11 @@
PMC_SR: Python.PythonPeripheral @ sysbus 0x400E0668
size: 0x4
initable: true
filename: "scripts/pydev/flipflop.py"
cpu0:
numberOfMPURegions: 16
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/ATSAME70Q21.svd

View File

@@ -0,0 +1 @@
atmel,same70.repl

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
Tag <0x40000C00, 0x40000C10> "rstc" 0xFFFFFFFF
Tag <0x40001000, 0x4000101C> "osc32kctrl" 0xFFFFFFFF

View File

@@ -0,0 +1 @@
atmel,samd21.repl

View File

@@ -0,0 +1 @@
atmel,saml21.repl

View File

@@ -0,0 +1 @@
atmel,same70.repl

View File

@@ -0,0 +1 @@
atmel,same70.repl

View File

@@ -0,0 +1 @@
ti,lp-cc1352p7.repl

View File

@@ -0,0 +1 @@
phytec,phyboard-lyra-am62xx-m4.repl

View File

@@ -0,0 +1,107 @@
dtim: Memory.MappedMemory @sysbus 0x0100000
size: 0x2000
clint:
numberOfTargets: 2
L2LIM: Memory.MappedMemory @sysbus 0x08000000
size: 0x200000
plic:
numberOfContexts: 4
rstgen: Python.PythonPeripheral @ sysbus 0x11840000
size: 0x20
initable: true
script: '''
if request.IsInit:
regs=[0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff]
mask=[0xfffff3fb,
0xffffffe7,
0xfffffffe,
0xffffffff]
elif request.IsRead:
offset = (request.Offset//4) & 0x7
if offset & 4 == 0:
request.Value = regs[offset & 0x3] & 0xffffffff
else:
request.Value = (regs[offset & 0x3] ^ mask[offset & 0x3]) & 0xffffffff
elif request.IsWrite:
offset = (request.Offset//4) & 0x3
regs[offset] = request.Value
'''
audiorstgen: Python.PythonPeripheral @ sysbus 0x10490000
size: 0x8
initable: true
script: '''
if request.IsInit:
reg = 0xffffffff
elif request.IsRead:
offset = request.Offset//4
if offset == 0:
request.Value = reg & 0xffffffff
else:
request.Value = ~reg & 0xffffffff
elif request.IsWrite:
reg = request.Value
'''
voutsysrstgen: Python.PythonPeripheral @ sysbus 0x12250000
size: 0x8
initable: true
script: '''
if request.IsInit:
reg = 0xffffffff
elif request.IsRead:
offset = request.Offset//4
if offset == 0:
request.Value = reg & 0xffffffff
else:
request.Value = ~reg & 0xffffffff
elif request.IsWrite:
reg = request.Value
'''
pwm0: HiFive_PWM @sysbus 0x12490000
gpio: GPIOPort.SiFive_GPIO @sysbus 0x1191000
SoCSRAM: Memory.MappedMemory @sysbus 0x18000000
size: 0x20000
spi2: SPI.DesignWare_SPI@sysbus 0x12410000
transmitDepth: 128
receiveDepth: 128
IRQ -> plic@70
ethernet: Network.SynopsysEthernetMAC @sysbus 0x10020000
IRQ -> plic@6
phy: Network.EthernetPhysicalLayer @ethernet 7
BasicControl: 0x0880
Id1: 0x0022
Id2: 0x1620
AutoNegotiationAdvertisement: 0x00A1
AutoNegotiationLinkPartnerBasePageAbility: 0x0000
sysbus:
init add:
SilenceRange <0x02010000 0x1000>
Tag <0x10000000 0x10000> "SDIO"
Tag <0x104C0000 0x40000> "USB30"
Tag <0x11860000 0x10000> "QSPI"
Tag <0x118B0000 0x10000> "I2C0"
Tag <0x118C0000 0x10000> "I2C1"
Tag <0x12450000 0x10000> "I2C1"
Tag <0x100b0000 0x10000> "sgdam2"
Tag <0x10500000 0x10000> "sgdam1"
Tag <0x11910000 0x10000> "GPIO"
Tag <0x11800000 0x10000> "CLKGEN_CSR"
Tag <0x11850000 0x10000> "SYSCTRL"
Tag <0x118D0000 0x10000> "TRNG"
Tag <0x10480000 0x30000> "DOM_AUDIO"
Tag <0x12240000 0x30000> "VOUT"

View File

@@ -0,0 +1 @@
bflb,bl604.repl

View File

@@ -0,0 +1,2 @@
clint:
numberOfTargets: 2

View File

@@ -0,0 +1,2 @@
dram: Memory.MappedMemory @ sysbus 0x10000000
size: 0x10000000

View File

@@ -0,0 +1 @@
bticino,imx6dl-mamo.repl

View File

@@ -0,0 +1,13 @@
uart: UART.SemihostingUart @ cpu0
rom0:
size: 0x2000000
sram1: Memory.MappedMemory @ sysbus 0x40000000
size: 0x1000000
sram2: Memory.MappedMemory @ sysbus 0x50000000
size: 0x1000000
sram3: Memory.MappedMemory @ sysbus 0x60000000
size: 0x10000000

View File

@@ -0,0 +1,2 @@
dwt: Miscellaneous.DWT @ sysbus 0xE0001000
frequency: 72000000

View File

@@ -0,0 +1,4 @@
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/Infineon_PSoC6_04.svd.gz
Tag <0x40260590 4> "SRSS_CLK_FLL_STATUS" 0xFFFFFFFF

View File

@@ -0,0 +1,14 @@
flash: Memory.MappedMemory @ sysbus 0x0
size: 0x2000000
intcloapic0: IRQControllers.LAPIC @ {
sysbus new Bus.BusPointRegistration { address: 0xfee00000; cpu: cpu0}
}
id: 0
cpu0: CPU.X86 @ sysbus
cpuType: "x86"
lapic: intcloapic0
serial: UART.NS16550 @ sysbus 0xe00003f8
wideRegisters: true

View File

@@ -0,0 +1,3 @@
sysbus:
init add:
Tag <0xf8010004 0x4> "UART_WRITE_AVAILABILITY_MASK" 0xFF0000

View File

@@ -0,0 +1,5 @@
smu2: Miscellaneous.EgisET171_SMU2 @ sysbus 0xf0e00000
cpu0:
cpuType: "rv32gc_xandes"
privilegedArchitecture: PrivilegedArchitecture.Priv1_10

View File

@@ -0,0 +1,37 @@
irom0: Memory.MappedMemory @ sysbus 0x40000000
size: 0x40000
irom1: Memory.MappedMemory @ { sysbus 0x40040000; sysbus 0x3ff00000 }
size: 0x20000
flash: Memory.ArrayMemory @ sysbus 0x0
size: 0x100000
// readdress ram as it has a separate addressing for data and instructions
sram0: @ { sysbus 0x3fc7c000; sysbus 0x4037c000 }
size: 0x64000
rtcfast: Memory.MappedMemory @ sysbus 0x50000000
size: 0x2000
ucache: Memory.MappedMemory @ { sysbus 0x42000000; sysbus 0x3c000000 }
size: 0x800000
cpu0:
init:
RegisterCustomCSR "0x0" 0x0 User
RegisterCustomCSR "0x800" 0x800 User
RegisterCustomCSR "0x801" 0x801 User
RegisterCustomCSR "0x802" 0x802 User
RegisterCustomCSR "0x7e2_PERF_COUNTER" 0x7e2 User
sysbus:
init add:
LoadELF @https://dl.antmicro.com/projects/renode/esp32c3_rev3_rom.elf-s_556332-d68afeb5bd7ab7904e7d5d3adf4d670df9d19c96
Tag <0x60009000 0x100> "IOMUX"
Tag <0x60004000 0x100> "GPIO"
Tag <0x60003000 0x100> "SPI0"
ApplySVD @https://github.com/esp-rs/esp32c3/raw/refs/heads/master/svd/esp32c3.svd
Tag <0x60008858 4> "EFUSE_REV" 0xFFFFFFFF
Tag <0x60004038 4> "GPIO_STRAP" 0x0c // SPI_FAST_FLASH_BOOT
Tag <0x60008038 4> "RTC_CNTL:RTC_RESET_STAT" 0x1 // POWERON

View File

@@ -0,0 +1,9 @@
plic:
numberOfContexts: 1
qspi0Xip: Memory.MappedMemory @ sysbus 0x20000000
size: 0x20000000
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/FE310.svd.gz

View File

@@ -0,0 +1,10 @@
ocrom: Memory.MappedMemory @ sysbus 0x0
size: 0x18000
sysbus:
init add:
ApplySVD @https://dl.antmicro.com/projects/renode/svd/iMX6SL.svd.gz
Tag <0x2100000 0x40000> "SEC4 Cryptographic Accelerator"
Tag <0x207c000 0x4000> "AIPSTZ AHB to IP Bridge"
Tag <0x217c000 0x4000> "AIPSTZ AHB to IP Bridge"
Tag <0xA02000 0x1000> "L2 Cache"

View File

@@ -0,0 +1,2 @@
ddr: Memory.MappedMemory @ sysbus 0x88000000
size: 0x8000000

View File

@@ -0,0 +1,5 @@
memory: Memory.MappedMemory @ sysbus 0x80000000
size: 0x80000000
ocram: Memory.MappedMemory @ sysbus 0x00900000
size: 0x00048000

View File

@@ -0,0 +1,6 @@
ddr_memory: Memory.MappedMemory @ sysbus 0x40000000
size: 0xc0000000
sysbus:
init add:
Tag <0x007E0000 0x20000> "TCML" 0x1000

View File

@@ -0,0 +1 @@
fsl,imx8mm.repl

View File

@@ -0,0 +1,9 @@
cpu0: CPU.CortexM @ sysbus
cpuType: "cortex-m7"
nvic: nvic0
nvic0: IRQControllers.NVIC @ {
sysbus new Bus.BusPointRegistration { address: 0xe000e000; cpu: cpu0 }
}
-> cpu0@0
systickFrequency: 168000000

View File

@@ -0,0 +1,22 @@
memory0: Memory.MappedMemory @ sysbus 0x80000000
size: 0x80000000
cpu0: CPU.ARMv8A @ sysbus
cpuType: "cortex-a53"
cpuId: 0
genericInterruptController: gic
secure_boot_rom: Memory.MappedMemory @ sysbus 0x0
size: 0x100000
ocram: Memory.MappedMemory @ sysbus 0x10000000
size: 0x02000000
dcfg: Python.PythonPeripheral @ sysbus 0x1EE0000
size: 0x20000
initable: true
script: "request.Value = 0x1100008f"
sysbus:
init add:
Tag <0x43100e0 0x4> "TMU CSR" 0x280

View File

@@ -0,0 +1,16 @@
secure_boot_rom: Memory.MappedMemory @ sysbus 0x0
size: 0x100000
memory: Memory.MappedMemory @ sysbus 0x40000000
size: 0x10000000
dram: Memory.MappedMemory @ sysbus 0x80000000
size: 0x40000000
ocram: Memory.MappedMemory @ sysbus 0x10000000
size: 0x02000000
dcfg: Python.PythonPeripheral @ sysbus 0x1EE0000
size: 0x20000
initable: true
script: "request.Value = 0xffffffff"

View File

@@ -0,0 +1,17 @@
memory: Memory.MappedMemory @ sysbus 0x80000000
size: 0x10000000
secure_boot_rom: Memory.MappedMemory @ sysbus 0x0
size: 0x100000
ocram: Memory.MappedMemory @ sysbus 0x18000000
size: 0x02000000
csrs: Python.PythonPeripheral @ sysbus 0x1e00300
size: 0x100000
initable: true
script: "request.Value = 0x8f000011"
sysbus:
init add:
Tag <0x1300080 0x4> "clock ratio" 0x02

View File

@@ -0,0 +1 @@
fsl,ls1012a.repl

View File

@@ -0,0 +1 @@
fsl,ls1012a.repl

View File

@@ -0,0 +1,2 @@
memory: Memory.MappedMemory @ sysbus 0x80000000
size: 0x10000000

View File

@@ -0,0 +1,10 @@
gic: IRQControllers.ARM_GenericInterruptController @ {
sysbus new Bus.BusMultiRegistration { address: 0x50041000; size: 0x1000; region: "distributor" };
sysbus new Bus.BusMultiRegistration { address: 0x50042000; size: 0x2000; region: "cpuInterface" }
}
[0, 1] -> gicIrqCombiner@[0, 1]
cpu0: CPU.ARMv8A @ sysbus
cpuType: "cortex-a53"
cpuId: 0
genericInterruptController: gic

View File

@@ -0,0 +1,67 @@
ddr1: Memory.MappedMemory @ sysbus 0x1080000
size: 0x1000
ddr2: Memory.MappedMemory @ sysbus 0x1090000
size: 0x1000
reserved: Memory.MappedMemory @ sysbus 0x16000000
size: 0x8000000
sysbus:
init add:
Tag <0x1E00740 0x4> "TP_ITYP0" 0x0
Tag <0x1E0074C 0x4> "TP_ITYP1" 0x1
Tag <0x1E00100 0x4> "RCWSR1" 0x0
Tag <0x1300080 0x4> "PLLC1GSR" 0x08000402
Tag <0x13000A0 0x4> "PLLC2GSR" 0x08000402
Tag <0x13000C0 0x4> "PLLC3GSR" 0x08000402
Tag <0x1310080 0x4> "PLLC1GSR2" 0x08000402
Tag <0x13100A0 0x4> "PLLC2GSR2" 0x08000402
Tag <0x1370000 0x4> "CLKC1CSR" 0x0
Tag <0x1370020 0x4> "CLKC2CSR" 0x0
Tag <0x1370040 0x4> "CLKC3CSR" 0x0
Tag <0x1370060 0x4> "CLKC4CSR" 0x0
Tag <0x1370080 0x4> "CLKC5CSR" 0x0
Tag <0x13700A0 0x4> "CLKC6CSR" 0x0
Tag <0x13700C0 0x4> "CLKC7CSR" 0x0
Tag <0x13700E0 0x4> "CLKC8CSR" 0x0
Tag <0x1E00844 0x4> "TP_CLUSTER1L" 0x0303
Tag <0x1E0084C 0x4> "TP_CLUSTER2L" 0x0303
Tag <0x1E00854 0x4> "TP_CLUSTER3L" 0x0303
Tag <0x1E0085C 0x4> "TP_CLUSTER4L" 0x0303
Tag <0x1E00864 0x4> "TP_CLUSTER5L" 0x0303
Tag <0x1E0086C 0x4> "TP_CLUSTER6L" 0x0303
Tag <0x1E00874 0x4> "TP_CLUSTER7L" 0x0303
Tag <0x1E0087C 0x4> "TP_CLUSTER8L" 0x80000303
Tag <0x2000000 0x1> "I2C1_IBAD" 0x0
Tag <0x2000001 0x1> "I2C1_IBFD" 0x0
Tag <0x2000002 0x1> "I2C1_IBCR" 0x80
Tag <0x2000003 0x1> "I2C1_IBSR" 0x80
Tag <0x2000004 0x1> "I2C1_IBDR" 0x00
Tag <0x2000005 0x1> "I2C1_IBIC" 0x00
Tag <0x2000006 0x1> "I2C1_IBDBG" 0x00
Tag <0x2200804 0x4> "TZDECPROT0_Set" 0x8
i2c0: I2C.VybridI2C @ sysbus 0x2000000
->gic@34
ccn508: Python.PythonPeripheral @ {
sysbus 0x4200018;
sysbus 0x4210018;
sysbus 0x4220018;
sysbus 0x4230018;
sysbus 0x4240018;
sysbus 0x4250018;
sysbus 0x4260018;
sysbus 0x4270018
}
size: 0x4
initable: true
script: '''
if request.IsInit:
lastVal = 0
else:
lastVal = 1 - lastVal
if lastVal == 0:
request.Value = 0x4
else:
request.Value = 0xC
'''

View File

@@ -0,0 +1,46 @@
page_table: Memory.MappedMemory @ sysbus 0x18000000
size: 0x5000
immap: Python.PythonPeripheral @ sysbus 0x1000000
size: 0x1000000
initable: true
script: '''
if request.Offset == 0xe00218L:
request.Value = 0
else:
request.Value = 0x80000011
'''
gic: IRQControllers.ARM_GenericInterruptController @ {
sysbus new Bus.BusMultiRegistration { address: 0x50041000; size: 0x1000; region: "distributor" };
sysbus new Bus.BusMultiRegistration { address: 0x50042000; size: 0x2000; region: "cpuInterface" }
}
[0, 1] -> gicIrqCombiner@[0, 1]
cpu0: CPU.ARMv8A @ sysbus
cpuType: "cortex-a53"
cpuId: 0
genericInterruptController: gic
ccn508: Python.PythonPeripheral @ {
sysbus 0x4200018;
sysbus 0x4210018;
sysbus 0x4220018;
sysbus 0x4230018;
sysbus 0x4240018;
sysbus 0x4250018;
sysbus 0x4260018;
sysbus 0x4270018
}
size: 0x4
initable: true
script: '''
if request.IsInit:
lastVal = False
else:
lastVal = not lastVal
if not lastVal:
request.Value = 0x4
else:
request.Value = 0xC
'''

View File

@@ -0,0 +1,23 @@
sysbus:
init add:
Tag <0x445b1004 0x4> "busybit" 1
Tag <0x445B101C 0x4> "status" 0
Tag <0x445B1020 0x4> "content" 0xFF
mu2msg: Python.PythonPeripheral @ sysbus 0x445B1014
size: 0x8
initable: true
script: '''
len = [12, 16, 8, 8, 8, 8, 8, 8, 8, 8]
hdr = [20481, 20486, 25606, 25606, 25606, 25606, 25606, 25606, 25606, 25606]
if request.IsInit:
i_len = 0
i_hdr = 0
elif request.IsRead:
if request.Offset == 0x0: # len
request.Value = len[i_len]
i_len = (i_len+1)%10
elif request.Offset == 0x4: # hdr
request.Value = hdr[i_hdr]
i_hdr = (i_hdr+1)%10
'''

View File

@@ -0,0 +1 @@
fsl,mimx943.repl

View File

@@ -0,0 +1,7 @@
cpu0:
cpuType: "gr716"
timer0:
numberOfTimers: 2
frequency: 20000000
separateInterrupts: false

View File

@@ -0,0 +1,4 @@
timer0:
numberOfTimers: 2
frequency: 50000000
separateInterrupts: false

Some files were not shown because too many files have changed in this diff Show More