cheriot: use the mpact built-in clint

Have mpact emulate the clint. When renode handles this there is
significant latency in updating peripheral state. This is especially
noticeable when firmware reads from the hardware.

Change-Id: Ic82578bae6d00bb504596053f5916268a747fb83
diff --git a/platforms/bancha.repl b/platforms/bancha.repl
index bc5e5e3..9e9ece6 100644
--- a/platforms/bancha.repl
+++ b/platforms/bancha.repl
@@ -29,6 +29,11 @@
     memoryBase: 0x10000000
     memorySize: 0x400000
     revocationMemoryBase: 0x10370000
+    // 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
 
 // TODO(sleffler): trim memory config
 ram_smc : MpactCPU.MpactPeripheral @ sysbus 0x10000000
@@ -146,11 +151,6 @@
     IRQ -> cpu0@7
     FatalAlert -> alert_handler@10
 
-// XXX combine w/ timer or re-think
-clint: IRQControllers.CoreLevelInterruptor @ sysbus 0x02000000
-    frequency: 2000
-    [0, 1] ->cpu0@[3, 7]
-
 // USBDEV            [‘h4011_0000 - ‘h4011_0FFF)   4KB USBDEV
 // OTP_CTRL          [‘h4013_0000 - ‘h4013_3FFF)  16KB OTP Ctrl
 otp_ctrl: Miscellaneous.OpenTitan_OneTimeProgrammableMemoryController @ sysbus 0x40130000
diff --git a/platforms/cheriot.repl b/platforms/cheriot.repl
index 292731d..d71d00d 100644
--- a/platforms/cheriot.repl
+++ b/platforms/cheriot.repl
@@ -20,6 +20,11 @@
     memoryBase: 0x80000000
     memorySize: 0x10000000
     revocationMemoryBase: 0x83000000
+    // 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 0x80000000
     size: 0x10000000
diff --git a/platforms/sail.repl b/platforms/sail.repl
index 80ddf81..e723c38 100644
--- a/platforms/sail.repl
+++ b/platforms/sail.repl
@@ -17,10 +17,5 @@
 
 using "sim/config/platforms/cheriot.repl"
 
-// NB: match timer_hz in cheriot-rtos/sdk/boards/sail.json
-smc_clint: IRQControllers.CoreLevelInterruptor @ sysbus 0x02000000
-    frequency: 2000
-    [0, 1] ->cpu1@[3, 7]
-
 uart5: Antmicro.Renode.Peripherals.UART.TrivialUart @ sysbus 0x10000000
 
diff --git a/platforms/sencha_smc.repl b/platforms/sencha_smc.repl
index 86b3800..f7bbac3 100644
--- a/platforms/sencha_smc.repl
+++ b/platforms/sencha_smc.repl
@@ -19,11 +19,6 @@
 
 using "sim/config/platforms/cheriot.repl"
 
-// NB: match timer_hz in cheriot-rtos/sdk/boards/sencha.json
-smc_clint: IRQControllers.CoreLevelInterruptor @ sysbus 0x02000000
-    frequency: 2000
-    [0, 1] ->cpu1@[3, 7]
-
 // Control block for the SMC, lets us pause/restart the core at an arbitrary PC.
 smc_control: MpactCPU.SmcCheriot_ControlBlock @ sysbus 0x54020000
     cpu: cpu1