From 6613dc9c761b6407e37580d4544f4936331ffc31 Mon Sep 17 00:00:00 2001 From: aottaviano Date: Thu, 16 Nov 2023 15:22:07 +0100 Subject: [PATCH] treewide: Add HMR software for carfield target --- include/archi/chips/carfield/memory_map.h | 9 ++++----- include/archi/chips/carfield/properties.h | 1 + include/archi/chips/carfield/pulp.h | 1 + include/hal/chips/carfield/pulp.h | 1 + rules/pulpos/targets/carfield.mk | 3 +++ 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/include/archi/chips/carfield/memory_map.h b/include/archi/chips/carfield/memory_map.h index 11d6ccf..83bb8c7 100644 --- a/include/archi/chips/carfield/memory_map.h +++ b/include/archi/chips/carfield/memory_map.h @@ -56,16 +56,15 @@ #define ARCHI_BOOT_ROM_OFFSET 0x00001000 #define ARCHI_GLOBAL_PREPEND_OFFSET 0x00002000 #define ARCHI_DEBUG_OFFSET 0x00003000 -#define ARCHI_CLIC_OFFSET 0x00010000 -#define ARCHI_HMR_OFFSET 0x00005000 +#define ARCHI_ECC_MGR_OFFSET 0x00004000 + #define ARCHI_STDOUT_OFFSET 0x00006000 #define ARCHI_FC_TIMER_OFFSET 0x00008000 +#define ARCHI_CLIC_OFFSET 0x00010000 +#define ARCHI_HMR_OFFSET 0x00005000 #define ARCHI_INSTR_ERR_OFFSET 0x00020000 #define ARCHI_DATA_ERR_OFFSET 0x00020010 #define ARCHI_SHADOW_ERR_OFFSET 0x00020020 -#define ARCHI_ECC_MGR_OFFSET 0x00004000 - - #define ARCHI_SOC_CTRL_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_SOC_CTRL_OFFSET ) #define ARCHI_BOOT_ROM_ADDR ( ARCHI_SAFETY_ISLAND_PERIPHERALS_ADDR + ARCHI_BOOT_ROM_OFFSET ) diff --git a/include/archi/chips/carfield/properties.h b/include/archi/chips/carfield/properties.h index 5e3f734..6698a04 100644 --- a/include/archi/chips/carfield/properties.h +++ b/include/archi/chips/carfield/properties.h @@ -62,6 +62,7 @@ * IP VERSIONS */ #define RISCV_VERSION 5 +#define HMR_VERSION 1 /* * FC diff --git a/include/archi/chips/carfield/pulp.h b/include/archi/chips/carfield/pulp.h index 648a1c2..705c0f9 100644 --- a/include/archi/chips/carfield/pulp.h +++ b/include/archi/chips/carfield/pulp.h @@ -28,5 +28,6 @@ #include "archi/chips/carfield/memory_map.h" #include "archi/stdout/stdout_v3.h" #include "archi/bus_err_unit/bus_err_unit_v1.h" +#include "archi/hmr/hmr_v1.h" #endif diff --git a/include/hal/chips/carfield/pulp.h b/include/hal/chips/carfield/pulp.h index db97c99..8e397b6 100644 --- a/include/hal/chips/carfield/pulp.h +++ b/include/hal/chips/carfield/pulp.h @@ -23,6 +23,7 @@ #include "hal/apb_soc/safety_soc_ctrl.h" #include "hal/timer/timer_v2.h" #include "hal/bus_err_unit/bus_err_unit_v1.h" +#include "hal/hmr/hmr_v1.h" //#include "hal/cluster_ctrl/cluster_ctrl_v2.h" // TODO Add me! #endif diff --git a/rules/pulpos/targets/carfield.mk b/rules/pulpos/targets/carfield.mk index 60a9ac9..d6254a9 100644 --- a/rules/pulpos/targets/carfield.mk +++ b/rules/pulpos/targets/carfield.mk @@ -24,6 +24,9 @@ pulp_chip_family=carfield PULP_SRCS += kernel/chips/carfield/soc.c +# HMR +PULP_CFLAGS += -DARCHI_HMR -DARCHI_HMR_FIXED +PULP_SRCS += kernel/hmr_synch.c include $(PULPRT_HOME)/rules/pulpos/configs/default.mk