arm/xilinx-zynqmp-rpu: Add split mode BSP variants

Rename xilinx_zynqmp_rpu BSP variant to zynqmp_rpu_lock_step to
emphasize that this BSP is for the lock-step mode RPU configuration.
Add BSP variants zynqmp_rpu_split_0 and zynqmp_rpu_split_1 for the split
mode RPU configuration for core 0 and 1 respectively.
This commit is contained in:
Sebastian Huber
2024-09-19 07:43:32 +02:00
parent 5f1a9d3346
commit dddbdf4d9a
36 changed files with 637 additions and 223 deletions

View File

@@ -38,11 +38,12 @@
*/
#include <bsp.h>
#include <bsp/irq.h>
#include <bsp/irq-generic.h>
#include <bsp/fatal.h>
#include <dev/clock/xttcps_hw.h>
#include <rtems/sysinit.h>
#include <rtems/timecounter.h>
#include <rtems/score/processormaskimpl.h>
#if XTTCPS_COUNT_VALUE_MASK != UINT32_MAX
#error "unexpected XTTCPS_COUNT_VALUE_MASK value"
@@ -184,6 +185,16 @@ static void xil_ttc_clock_driver_support_install_isr(
{
rtems_status_code sc;
#if !defined(ZYNQMP_RPU_LOCK_STEP_MODE) && ZYNQMP_RPU_SPLIT_INDEX != 0
Processor_mask affinity;
_Processor_mask_From_uint32_t(
&affinity,
UINT32_C(1) << ZYNQMP_RPU_SPLIT_INDEX,
0
);
(void) bsp_interrupt_set_affinity(XIL_CLOCK_TTC_IRQ, &affinity);
#endif
rtems_interrupt_entry_initialize(
&xil_ttc_interrupt_entry,
handler,