1// Auto-generated renode platform config for OpenTitan at commit f243e6802143374741739d2c164c4f2f61697669 2// OpenTitan variant earlgrey 3 4//CPUs 5cpu0: CPU.IbexRiscV32 @ sysbus 6 hartId: 0 7 cpuType: "rv32imacb_zicsr_zifencei" 8 timeProvider: empty 9 10// Memory 11rom: Memory.MappedMemory @ sysbus 0x00008000 12 size: 0x8000 13 14rom_ctrl: MemoryControllers.OpenTitan_ROMController @ sysbus 0x411e0000 15 rom: rom 16 nonce: "755CF00BD7432C3F" 17 key: "8CD4E7EFF1B9EC59CE812447C5714595" 18 FatalAlert -> alert_handler@60 19 20sram_ctrl: MemoryControllers.OpenTitan_SRAMController @ sysbus 0x411c0000 21 FatalError -> alert_handler@59 22 23//FLASH 24flash: Memory.MappedMemory @ {sysbus 0x20000000; sysbus 0x80000000} 25 size: 0x100000 26 27flash_ctrl: MTD.OpenTitan_FlashController @ sysbus 0x41000000 28 flash: flash 29 ProgramEmptyIRQ -> rv_plic@159 30 ProgramLevelIRQ -> rv_plic@160 31 ReadFullIRQ -> rv_plic@161 32 ReadLevelIRQ -> rv_plic@162 33 OperationDoneIRQ -> rv_plic@163 34 CorrectableErrorIRQ -> rv_plic@164 35 RecoverableAlert -> alert_handler@35 36 FatalStandardAlert -> alert_handler@36 37 FatalAlert -> alert_handler@37 38 FatalPrimitiveFlashAlert -> alert_handler@38 39 RecoverablePrimitiveFlashAlert -> alert_handler@39 40 41//RAM 42ram_ret_aon: Memory.MappedMemory @ sysbus 0x40600000 43 size: 0x1000 44 45ram_main: Memory.MappedMemory @ sysbus 0x10000000 46 size: 0x20000 47 48// UARTs 49uart0: UART.OpenTitan_UART @ sysbus 0x40000000 50 TxWatermarkIRQ -> rv_plic@1 51 RxWatermarkIRQ -> rv_plic@2 52 TxEmptyIRQ -> rv_plic@3 53 RxOverflowIRQ -> rv_plic@4 54 RxFrameErrorIRQ -> rv_plic@5 55 RxBreakErrorIRQ -> rv_plic@6 56 RxTimeoutIRQ -> rv_plic@7 57 RxParityErrorIRQ -> rv_plic@8 58 FatalAlert -> alert_handler@0 59 60uart1: UART.OpenTitan_UART @ sysbus 0x40010000 61 TxWatermarkIRQ -> rv_plic@9 62 RxWatermarkIRQ -> rv_plic@10 63 TxEmptyIRQ -> rv_plic@11 64 RxOverflowIRQ -> rv_plic@12 65 RxFrameErrorIRQ -> rv_plic@13 66 RxBreakErrorIRQ -> rv_plic@14 67 RxTimeoutIRQ -> rv_plic@15 68 RxParityErrorIRQ -> rv_plic@16 69 FatalAlert -> alert_handler@1 70 71uart2: UART.OpenTitan_UART @ sysbus 0x40020000 72 TxWatermarkIRQ -> rv_plic@17 73 RxWatermarkIRQ -> rv_plic@18 74 TxEmptyIRQ -> rv_plic@19 75 RxOverflowIRQ -> rv_plic@20 76 RxFrameErrorIRQ -> rv_plic@21 77 RxBreakErrorIRQ -> rv_plic@22 78 RxTimeoutIRQ -> rv_plic@23 79 RxParityErrorIRQ -> rv_plic@24 80 FatalAlert -> alert_handler@2 81 82uart3: UART.OpenTitan_UART @ sysbus 0x40030000 83 TxWatermarkIRQ -> rv_plic@25 84 RxWatermarkIRQ -> rv_plic@26 85 TxEmptyIRQ -> rv_plic@27 86 RxOverflowIRQ -> rv_plic@28 87 RxFrameErrorIRQ -> rv_plic@29 88 RxBreakErrorIRQ -> rv_plic@30 89 RxTimeoutIRQ -> rv_plic@31 90 RxParityErrorIRQ -> rv_plic@32 91 FatalAlert -> alert_handler@3 92 93// I2Cs 94i2c0: I2C.OpenTitan_I2C @ sysbus 0x40080000 95 FatalAlert -> alert_handler@6 96 97i2c1: I2C.OpenTitan_I2C @ sysbus 0x40090000 98 FatalAlert -> alert_handler@7 99 100i2c2: I2C.OpenTitan_I2C @ sysbus 0x400A0000 101 FatalAlert -> alert_handler@8 102 103// SPI 104spi_host0: SPI.OpenTitan_SpiHost@ sysbus 0x40300000 105 FatalAlert -> alert_handler@19 106 Error -> rv_plic@131 107 SpiEvent -> rv_plic@132 108 numberOfCSLines: 32 109 110spi_host1: SPI.OpenTitan_SpiHost@ sysbus 0x40310000 111 FatalAlert -> alert_handler@20 112 Error -> rv_plic@133 113 SpiEvent -> rv_plic@134 114 numberOfCSLines: 32 115 116spi_device: SPI.OpenTitan_SpiDevice @ sysbus 0x40050000 117 FatalAlert -> alert_handler@5 118 119// GPIOs 120gpio: GPIOPort.OpenTitan_GPIO @ sysbus 0x40040000 121 IRQ -> rv_plic@33 122 FatalAlert -> alert_handler@4 123 124// AES 125aes: Miscellaneous.OpenTitan_AES @ sysbus 0x41100000 126 UpdateErrorAlert -> alert_handler@42 127 FatalFaultAlert -> alert_handler@43 128 129// Key Manager 130keymgr: Miscellaneous.OpenTitan_KeyManager @ sysbus 0x41140000 131 aes: aes 132 kmac: kmac 133 romController: rom_ctrl 134 deviceId: "BF5EA92044DAC540CFD1A00105568DFA97D9C35EA0407D71320B5E0434DB637F" 135 lifeCycleDiversificationConstant: "2F1A43C03DD4FF9B887AB7521CA6CBD8" 136 creatorKey: "9152E32C9380A4BCC3E0AB263581E6B0E8825186E1E445631646E8BEF8C45D47" 137 ownerKey: "FA365DF52DA48CD752FB3A026A8E608F0098CFE5FA9810494829D0CD9479EB78" 138 rootKey: "EFB7EA7EE90093CF4AFFD9AAA2D6C0EC446CFDF5F2D5A0BFD7E2D93EDC63A10256D24A00181DE99E0F690B447A8DDE2A1FFB8BC306707107AA6E2410F15CFC37" 139 softOutputSeed: "3DAAEF20E285FA658FDD1B426C037151B16C8D444C444F396F4479CB795CF94B" 140 hardOutputSeed: "9E409D18381BD5D56821E2985E47997105C4900F255574675985B210E1A968E4" 141 destinationAesSeed: "5E5B35E460FDAF1FF382AB0195E33689D99BCEBF2B79B6839264EDF4DE2B39F3" 142 destinationKmacSeed: "94059891A38BD1D16C763BBD90347E58152D7FCA9938036525AAA3F89E3DE8F1" 143 destinationOtbnSeed: "278645E11D7CAC76310205E19CD3F2ED294A279F3C6D0649A905CC9B10A67A16" 144 destinationNoneSeed: "7A9E0F6E3D591A7FD8C7BA264AF78F28AEE0D28E4D638D95D1806E870336CD96" 145 revisionSeed: "414C190AD0A09D144FFC0C0FEA081CEF945B641F096B9F3E9A494BA35FCFEF0D" 146 creatorIdentitySeed: "FB223E8AB704F249EE3FA822276C45E588ED40CF52C8FAE2D054A71149771822" 147 ownerIntermediateIdentitySeed: "2EC37360E23D4DDA559ADABCF099937FEBBF048FAC328BA1BDEE0CACA987BE4A" 148 ownerIdentitySeed: "4ABF486B16740B20BC32B13FF07A13FF21CE605E0AC019858F73D707CD0EC1D3" 149 OperationDoneIRQ -> rv_plic@172 150 RecoverableAlert -> alert_handler@49 151 FatalAlert -> alert_handler@50 152 153// CSRNG 154csrng: Miscellaneous.OpenTitan_CSRNG @ sysbus 0x41150000 155 entropySource: entropy_src 156 RequestCompletedIRQ -> rv_plic@173 157 EntropyeRequestedIRQ -> rv_plic@174 158 HardwareInstanceIRQ -> rv_plic@175 159 FatalErrorIRQ -> rv_plic@176 160 RecoverableAlert -> alert_handler@51 161 FatalAlert -> alert_handler@52 162 163// HMAC 164hmac: Miscellaneous.OpenTitan_HMAC @ sysbus 0x41110000 165 FatalAlert -> alert_handler@44 166 167// KMAC 168kmac: Miscellaneous.OpenTitan_KMAC @ sysbus 0x41120000 169 KmacDoneIRQ -> rv_plic@168 170 FifoEmptyIRQ -> rv_plic@169 171 KmacErrorIRQ -> rv_plic@170 172 RecoverableAlert -> alert_handler@45 173 FatalAlert -> alert_handler@46 174 175// Timers 176rv_timer: Timers.OpenTitan_Timer @ sysbus 0x40100000 177 IRQ -> cpu0@7 178 FatalAlert -> alert_handler@10 179 180timer_aon: Timers.OpenTitan_AonTimer @ sysbus 0x40470000 181 powerManager: pwrmgr_aon 182 resetManager: rstmgr_aon 183 FatalAlert -> alert_handler@31 184 WakeupTimerExpired -> rv_plic@155 185 WatchdogTimerBark -> rv_plic@156 186 187// Power Manager 188pwrmgr_aon: Miscellaneous.OpenTitan_PowerManager @ sysbus 0x40400000 189 resetManager: rstmgr_aon 190 FatalAlert -> alert_handler@22 191 192// Reset Manager 193rstmgr_aon: Miscellaneous.OpenTitan_ResetManager @ sysbus 0x40410000 194 resetPC: 0x00008084 195 FatalAlert -> alert_handler@23 196 FatalConsistencyAlert -> alert_handler@24 197 init: 198 MarkAsSkippedOnLifeCycleReset sysbus.rstmgr_aon 199 MarkAsSkippedOnLifeCycleReset sysbus.pwrmgr_aon 200 MarkAsSkippedOnSystemReset sysbus.rstmgr_aon 201 MarkAsSkippedOnSystemReset sysbus.pwrmgr_aon 202 MarkAsSkippedOnSystemReset sysbus.flash_ctrl 203 MarkAsSkippedOnLowPowerExitReset sysbus.rstmgr_aon 204 MarkAsSkippedOnLowPowerExitReset sysbus.pwrmgr_aon 205 MarkAsSkippedOnLowPowerExitReset sysbus.timer_aon 206 MarkAsSkippedOnLowPowerExitReset sysbus.ram_ret_aon 207 208// One Time Programmable Memory Controller 209otp_ctrl: Miscellaneous.OpenTitan_OneTimeProgrammableMemoryController @ sysbus 0x40130000 210 FatalMacroAlert -> alert_handler@11 211 FatalCheckErrorAlert -> alert_handler@12 212 FatalBusAlert -> alert_handler@13 213 FatalPrimitiveOtpAlert -> alert_handler@14 214 RecoverablePrimitiveOtpAlert -> alert_handler@15 215 AValuesChain: "8638C62621EC19E8966416165252225F03B9C97821B7B107381030AB3D20AB124694BF85E417495A" 216 BValuesChain: "E679DF6E77EDDBECDE74B677DFF23AFFC3BFFB79B5FFFD87F930B4FB3F6BFF9A5F97BFD7FCBFE9FF" 217 CValuesChain: "0C1B73141BA20D421FD124302E8F443DE02C272E2CEEC1138DAD07CBD24A18F583A34D51A42A1E702A7E90F05A81D12E" 218 DValuesChain: "3E1FFB763FE3CDD61FF97735BEBF5CFDE5BDB7AFAEFEE19B9FBD9FCFD2EF3CF7CFEFFD53A7EE7FF36BFE92FDFA95F9AE" 219 220// Life Cycle Controller 221lc_ctrl: Miscellaneous.OpenTitan_LifeCycleController @ sysbus 0x40140000 222 resetManager: rstmgr_aon 223 otpController: otp_ctrl 224 FatalProgAlert -> alert_handler@16 225 FatalStateAlert -> alert_handler@17 226 FatalBusAlert -> alert_handler@18 227 DeviceId: "BF5EA92044DAC540CFD1A00105568DFA97D9C35EA0407D71320B5E0434DB637F" 228 TestExitToken: "000102030405060708090A0B0C0D0E0F" 229 TestUnlockToken: "79DEF38F41A9B895F6BDF341BEADA9B6" 230 RMAToken: "4D89B62D287CB957C2500042306DFD57" 231 232// PLIC with 187 sources 233rv_plic: IRQControllers.OpenTitan_PlatformLevelInterruptController @ sysbus 0x48000000 234 0 -> cpu0@11 235 FatalAlert -> alert_handler@41 236 numberOfSources: 184 237 numberOfContexts: 1 238 239// Simulated SRAM used to indicate test status to simulator 240swteststatus: Miscellaneous.OpenTitan_VerilatorSwTestStatus @ sysbus 0x411f0080 241 242entropy_src: Miscellaneous.OpenTitan_EntropySource @ sysbus 0x41160000 243 RecoverableAlert -> alert_handler@53 244 FatalAlert -> alert_handler@54 245 EsEntropyValidIRQ -> rv_plic@177 246 EsHealthTestFailedIRQ -> rv_plic@178 247 EsObserveFifoReadyIRQ -> rv_plic@179 248 EsFatalErrIRQ -> rv_plic@180 249 250edn0: Miscellaneous.OpenTitan_EntropyDistributionNetwork @ sysbus 0x41170000 251 cryptoRandomGenerator: csrng 252 RecoverableAlert -> alert_handler@55 253 FatalAlert -> alert_handler@56 254 CommandRequestDone -> rv_plic@181 255 FatalError -> rv_plic@182 256 257edn1: Miscellaneous.OpenTitan_EntropyDistributionNetwork @ sysbus 0x41180000 258 cryptoRandomGenerator: csrng 259 RecoverableAlert -> alert_handler@57 260 FatalAlert -> alert_handler@58 261 CommandRequestDone -> rv_plic@183 262 FatalError -> rv_plic@184 263 264alert_handler: Miscellaneous.OpenTitan_AlertHandler @ sysbus 0x40150000 265 ClassAInterrupt -> rv_plic@127 266 ClassBInterrupt -> rv_plic@128 267 ClassCInterrupt -> rv_plic@129 268 ClassDInterrupt -> rv_plic@130 269 270otbn: Miscellaneous.OpenTitan_BigNumberAccelerator @ sysbus 0x41130000 271 DoneIRQ -> rv_plic@171 272 FatalAlert -> alert_handler@47 273 RecoverableAlert -> alert_handler@48 274 275sysrst_ctrl: Miscellaneous.OpenTitan_SystemResetControl @ sysbus 0x40430000 276 resetManager: rstmgr_aon 277 FatalFault -> alert_handler@27 278 279clock_manager: Miscellaneous.OpenTitan_ClockManager @ sysbus 0x40420000 280 otbn: otbn 281 282RV_CORE_IBEX_RND_DATA: Python.PythonPeripheral @ sysbus 0x411F0058 283 size: 0x4 284 initable: true 285 script: "import random; rand = int(random.random()*2**32); request.value = rand" 286 287sysbus: 288 init: 289 Tag <0x40000000 0x1000> "OPENTITAN_EARLGREY_DEV_UART0" 0 290 Tag <0x40010000 0x1000> "OPENTITAN_EARLGREY_DEV_UART1" 0 291 Tag <0x40020000 0x1000> "OPENTITAN_EARLGREY_DEV_UART2" 0 292 Tag <0x40030000 0x1000> "OPENTITAN_EARLGREY_DEV_UART3" 0 293 Tag <0x40040000 0x1000> "OPENTITAN_EARLGREY_DEV_GPIO" 0 294 Tag <0x40080000 0x1000> "OPENTITAN_EARLGREY_DEV_I2C0" 0 295 Tag <0x40090000 0x1000> "OPENTITAN_EARLGREY_DEV_I2C1" 0 296 Tag <0x400A0000 0x1000> "OPENTITAN_EARLGREY_DEV_I2C2" 0 297 Tag <0x400E0000 0x1000> "OPENTITAN_EARLGREY_DEV_PATTGEN" 0 298 Tag <0x40100000 0x1000> "OPENTITAN_EARLGREY_DEV_RV_TIMER" 0 299 Tag <0x40130000 0x1000> "OPENTITAN_EARLGREY_DEV_OTP_CTRL" 0 300 Tag <0x40140000 0x1000> "OPENTITAN_EARLGREY_DEV_LC_CTRL" 0 301 Tag <0x40150000 0x1000> "OPENTITAN_EARLGREY_DEV_ALERT_HANDLER" 0 302 Tag <0x40300000 0x1000> "OPENTITAN_EARLGREY_DEV_SPI_HOST0" 0 303 Tag <0x40310000 0x1000> "OPENTITAN_EARLGREY_DEV_SPI_HOST1" 0 304 Tag <0x40320000 0x1000> "OPENTITAN_EARLGREY_DEV_USBDEV" 0 305 Tag <0x40400000 0x1000> "OPENTITAN_EARLGREY_DEV_PWRMGR_AON" 0 306 Tag <0x40410000 0x1000> "OPENTITAN_EARLGREY_DEV_RSTMGR_AON" 0 307 Tag <0x40420000 0x1000> "OPENTITAN_EARLGREY_DEV_CLKMGR_AON" 0 308 Tag <0x40440000 0x1000> "OPENTITAN_EARLGREY_DEV_ADC_CTRL_AON" 0 309 Tag <0x40450000 0x1000> "OPENTITAN_EARLGREY_DEV_PWM_AON" 0 310 Tag <0x40460000 0x1000> "OPENTITAN_EARLGREY_DEV_PINMUX_AON" 1 311 Tag <0x40470000 0x1000> "OPENTITAN_EARLGREY_DEV_AON_TIMER_AON" 0 312 Tag <0x40480000 0x1000> "OPENTITAN_EARLGREY_DEV_AST" 0 313 Tag <0x40490000 0x1000> "OPENTITAN_EARLGREY_DEV_SENSOR_CTRL" 0 314 Tag <0x40500000 0x1000> "OPENTITAN_EARLGREY_DEV_SRAM_CTRL_RET_AON" 0 315 Tag <0x41000000 0x1000> "OPENTITAN_EARLGREY_DEV_FLASH_CTRL" 0 316 Tag <0x00010000 0x1000> "OPENTITAN_EARLGREY_DEV_RV_DM" 0 317 Tag <0x48000000 0x8000000> "OPENTITAN_EARLGREY_DEV_RV_PLIC" 0 318 Tag <0x41100000 0x1000> "OPENTITAN_EARLGREY_DEV_AES" 0 319 Tag <0x41110000 0x1000> "OPENTITAN_EARLGREY_DEV_HMAC" 0 320 Tag <0x41120000 0x1000> "OPENTITAN_EARLGREY_DEV_KMAC" 0 321 Tag <0x41140000 0x1000> "OPENTITAN_EARLGREY_DEV_KEYMGR" 0 322 Tag <0x41150000 0x1000> "OPENTITAN_EARLGREY_DEV_CSRNG" 0 323 Tag <0x41160000 0x1000> "OPENTITAN_EARLGREY_DEV_ENTROPY_SRC" 0 324 Tag <0x41170000 0x1000> "OPENTITAN_EARLGREY_DEV_EDN0" 0 325 Tag <0x41180000 0x1000> "OPENTITAN_EARLGREY_DEV_EDN1" 0 326 Tag <0x411C0000 0x1000> "OPENTITAN_EARLGREY_DEV_SRAM_CTRL_MAIN" 0 327 Tag <0x00008000 0x1000> "OPENTITAN_EARLGREY_DEV_ROM_CTRL" 0 328 Tag <0x411F0000 0x1000> "OPENTITAN_EARLGREY_DEV_RV_CORE_IBEX" 0 329 Tag <0x411F005C 0x4> "OPENTITAN_EARLGREY_DEV_RV_CORE_IBEX_RND_STATUS" 1 330 331