sencha/bancha: use OpenTitan uart With the addition of Sonata board support the OpenTitan uart is supported so switch sencha (uart5) + bancha (uart0). While here cleanup bancha a bit. Bypass-Presubmit-Reason: only relevant flow passes (shodan flows are broken by futures crate version issue) Change-Id: I82e4e3e34e80d32d465a3dfd243544a404e4731e
diff --git a/bancha.resc b/bancha.resc index c8c4255..53da385 100644 --- a/bancha.resc +++ b/bancha.resc
@@ -28,8 +28,6 @@ include @sim/config/shodan_infrastructure/KelvinCPU.cs EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.CPU.KelvinCPU" EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.CPU.MlTopControlBlock" -#include @sim/config/shodan_infrastructure/SmcCheriotCPU.cs -#include @sim/config/shodan_infrastructure/Mailbox.cs include @sim/config/shodan_infrastructure/AddressRangeStub.cs include @sim/config/shodan_infrastructure/MatchaI2S.cs EnsureTypeIsLoaded "Antmicro.Renode.Peripherals.Sound.MatchaI2S" @@ -40,14 +38,12 @@ $term_port?=3456 emulation CreateServerSocketTerminal $term_port "term" false -connector Connect uart5 term +connector Connect uart0 term showAnalyzer "uart0-analyzer" sysbus.uart0 Antmicro.Renode.Analyzers.LoggingUartAnalyzer -showAnalyzer "uart5-analyzer" sysbus.uart5 Antmicro.Renode.Analyzers.LoggingUartAnalyzer -# Set the uarts host/virt timestamp format. Options: None, Virtual, Host, Full. +# Set the uart host/virt timestamp format. Options: None, Virtual, Host, Full. uart0-analyzer TimestampFormat None -uart5-analyzer TimestampFormat None cpu0 IsHalted true $cheriotLibrary ?= @out/cheriot/sim/librenode_mpact_cheriot.so @@ -55,11 +51,11 @@ # Configure an I$ and a D$. # Each configuration is a string of the form: -# "size,block_size,associativity,write_allocate" -# for instance "8k,16,2,false". +# "size,block_size,associativity,write_allocate,[c|nc]:<start_address>:<size>*" +# where the last items optionally specify cacheable (c) and noncacheable (nc) +# address ranges. For instance "8k,16,2,false" or "1M,16,2,false,c0x100:0x3ff". # NB: Statistics are collected only when MemProfile is enabled (see below). #sysbus.cpu0 ICache "8k,16,2,false" -# NB: D$ can be configured but is not implemented yet #sysbus.cpu0 DCache "1k,8,1,false" # Load the boot rom into the 32k rom at 0x8000 (useVirtualAddress = false, allowLoadsOnlyToMemory = false) @@ -100,10 +96,6 @@ $vector_core_mips ?= 1000 sysbus.cpu2 PerformanceInMips $vector_core_mips -# NB: model is normally loaded from SPI -#$kelvin_bin?=@out/cheriot/sim/kelvin.bin -#sysbus LoadBinary $kelvin_bin 0x5A000000 - # Start GDB and halt both cores so we can connect GDB before the bootrom has # started. # cpu2 does not support GDB. Please follow docs/KelvinIssDebugging.md to debug
diff --git a/platforms/sencha_smc.repl b/platforms/sencha_smc.repl index f7bbac3..f8487ce 100644 --- a/platforms/sencha_smc.repl +++ b/platforms/sencha_smc.repl
@@ -24,4 +24,12 @@ cpu: cpu1 pc: 0x80000000 -uart5: Antmicro.Renode.Peripherals.UART.TrivialUart @ sysbus 0x54000000 +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