//
// Copyright (c) 2024 Google LLC
//
// 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
//
//     https://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.

// ***************************************************
// Sencha SMC is a CHERIoT RISC-V CPU
// ***************************************************

// XXX set sysbus address elsewhere
cpu1: MpactCPU.MpactCheriotCPU @ sysbus
    id: 1
    cpuType: "Mpact.Cheriot"
    endianness: Endianess.LittleEndian
    memoryBase: 0x80000000
    memorySize: 0x04000000
    revocationMemoryBase: 0x83000000 // Shadow bitmap
    clintMMRBase: 0 // NB: disables simulator built-in impl

ram_smc: MpactPeripheral.MpactCheriotPeripheral @ sysbus 0x80000000
    size: 0x04000000
    id: 1  // NB: must match MpactCheriotCPU.id

// Control block for the SMC, lets us pause/restart the core at an arbitrary PC.
smc_control: MpactCPU.SmcCheriot_ControlBlock @ sysbus 0x54020000
    cpu: cpu1
    pc: 0x80000000

smc_clint: IRQControllers.CoreLevelInterruptor @ sysbus 0x02000000
    frequency: 66000000
    [0, 1] ->cpu1@[3, 7]

smc_plic: IRQControllers.PlatformLevelInterruptController @ sysbus 0x60000000 // TOP_MATCHA_RV_PLIC_SMC_BASE_ADDR @ top_matcha.h
    // Numbers on the left (0 ->) index PLIC GetGPIOs.
    //
    // Numbers on the right reference bits in the target MIP.
    // Bit 11 corresponds MEIP and bit 9 to SEIP.
    0 -> cpu1@11
    numberOfSources: 42
    numberOfContexts: 1  // MEIP only
    prioritiesEnabled: false

// XXX use TrivialUart until cheriot-rtos has an OpenTitan_UART driver
uart5: Antmicro.Renode.Peripherals.UART.TrivialUart @ sysbus 0x54000000
