[#59873] Cortex-R52: Test Zephyr SMP sample
diff --git a/platforms/cpus/cortex-r52_smp_4.repl b/platforms/cpus/cortex-r52_smp_4.repl
new file mode 100644
index 0000000..29fbdfb
--- /dev/null
+++ b/platforms/cpus/cortex-r52_smp_4.repl
@@ -0,0 +1,39 @@
+using "./cortex-r52_smp.repl"
+
+cpu2: CPU.ARMv8R @ sysbus
+    cpuType: "cortex-r52"
+    genericInterruptController: gic
+    cpuId: 2
+
+cpu3: CPU.ARMv8R @ sysbus
+    cpuType: "cortex-r52"
+    genericInterruptController: gic
+    cpuId: 3
+
+gic: @ {
+        sysbus new Bus.BusMultiRegistration { address: 0xAF000000; size: 0x10000; region: "distributor" };
+        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu;  address: 0xAF100000 };
+        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu1; address: 0xAF120000 };
+        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu2; address: 0xAF140000 };
+        sysbus new IRQControllers.ArmGicRedistributorRegistration { attachedCPU: cpu3; address: 0xAF160000 }
+    }
+    [8-11]  -> cpu2@[0-3]
+    [12-15] -> cpu3@[0-3]
+
+timer2: Timers.ARM_GenericTimer @ cpu2
+    frequency: 100000000
+    EL1PhysicalTimerIRQ -> gic#2@30
+    EL1VirtualTimerIRQ -> gic#2@27
+    NonSecureEL2PhysicalTimerIRQ -> gic#2@26
+
+timer3: Timers.ARM_GenericTimer @ cpu3
+    frequency: 100000000
+    EL1PhysicalTimerIRQ -> gic#3@30
+    EL1VirtualTimerIRQ -> gic#3@27
+    NonSecureEL2PhysicalTimerIRQ -> gic#3@26
+
+uart2: UART.PL011 @ sysbus 0x9c0b0000
+    -> gic@7
+
+uart3: UART.PL011 @ sysbus 0x9c0c0000
+    -> gic@8
\ No newline at end of file
diff --git a/tests/platforms/ARMv8R.robot b/tests/platforms/ARMv8R.robot
index 13fc1a2..5669883 100644
--- a/tests/platforms/ARMv8R.robot
+++ b/tests/platforms/ARMv8R.robot
@@ -1027,3 +1027,18 @@
     # See dump_fault in arch/arm/core/aarch32/cortex_a_r/fault.c.
     Wait For Line On Uart              DATA ABORT
     Wait For Line On Uart              Unknown (4)
+
+Run Zephyr SMP Pi Sample On 4 Cores
+    [Tags]                             Demos
+
+    Execute Command                    i @platforms/cpus/cortex-r52_smp_4.repl
+    Execute Command                    sysbus LoadELF ${URI}/fvp_baser_aemv8r_aarch32--zephyr-arch-smp-pi.elf-s_610540-6034d4eb76ea1b158f34bdd92ffcff2365f2c2e6
+
+    # These parameters ensure the determinism of execution for this demo
+    Execute Command                    emulation SetGlobalSerialExecution True
+    Execute Command                    emulation SetGlobalQuantum "0.01"
+
+    Execute Command                    showAnalyzer ${UART}
+    Create Terminal Tester             ${UART}
+
+    Wait For Line On Uart              All 16 threads executed by 4 cores
\ No newline at end of file