//
// 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
// ***************************************************

cpu1: MpactCPU.MpactCheriotCPU @ sysbus
    id: 1
    cpuType: "Mpact.Cheriot"
    endianness: Endianess.LittleEndian
    memoryBase: 0x50000000
    // Memory size includes 0x2000 for the shadow memory required for
    // the software revoker. This assumes a max of 128KB is configured
    // for the heap in the json board description.
    memorySize: 0x82000
    revocationMemoryBase: 0
    // Use the built-in clint to avoid update latency
    // NB: beware case, these are properties
    // NB: clint irq's are preset
    ClintMMRBase: 0x02000000
    ClintPeriod: 2000

ram_smc : MpactCPU.MpactPeripheral @ sysbus 0x50000000
    size: 0x80000
    baseAddress: 0x50000000
    mpactCpu: cpu1

smc_plic: IRQControllers.PlatformLevelInterruptController @sysbus 0x60000000
    0 -> cpu1@11
    numberOfSources: 42
    numberOfContexts: 1
    prioritiesEnabled: false

// 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: 0x50000000

uart5: UART.OpenTitan_UART @ sysbus 0x54000000
    TxWatermarkIRQ -> smc_plic@1
    RxWatermarkIRQ -> smc_plic@2
    TxEmptyIRQ -> smc_plic@3
    RxOverflowIRQ -> smc_plic@4
    RxFrameErrorIRQ -> smc_plic@5
    RxBreakErrorIRQ -> smc_plic@6
    RxTimeoutIRQ -> smc_plic@7
    RxParityErrorIRQ -> smc_plic@8
