diff --git a/configs/pulp_cluster.sh b/configs/pulp_cluster.sh index f46f851..15bbdb1 100644 --- a/configs/pulp_cluster.sh +++ b/configs/pulp_cluster.sh @@ -3,6 +3,7 @@ export PULPRT_TARGET=pulp_cluster export PULPRUN_TARGET=pulp_cluster export CONFIG_NO_FC=1 +export ARCHI_HMR=1 if [ -n "${ZSH_VERSION:-}" ]; then DIR="$(readlink -f -- "${(%):-%x}")" diff --git a/include/archi/chips/pulp_cluster/memory_map.h b/include/archi/chips/pulp_cluster/memory_map.h index 9414dd3..3f6d717 100644 --- a/include/archi/chips/pulp_cluster/memory_map.h +++ b/include/archi/chips/pulp_cluster/memory_map.h @@ -78,7 +78,7 @@ * CLUSTER */ -#define ARCHI_CLUSTER_ADDR 0x00000000 +#define ARCHI_CLUSTER_ADDR 0x10000000 #define ARCHI_CLUSTER_SIZE 0x00400000 #define ARCHI_CLUSTER_GLOBAL_ADDR(cid) (0x10000000 + (cid)*ARCHI_CLUSTER_SIZE) @@ -98,6 +98,9 @@ #define ARCHI_HWCE_OFFSET 0x00001000 #define ARCHI_ICACHE_CTRL_OFFSET 0x00001400 #define ARCHI_MCHAN_EXT_OFFSET 0x00001800 +#define ARCHI_HMR_OFFSET 0x00002000 +#define ARCHI_TCDM_SCRUBBER_OFFSET 0x00002400 +#define ARCHI_HWPE_HCI_ECC_OFFSET 0x00002800 #define ARCHI_CLUSTER_PERIPHERALS_ADDR ( ARCHI_CLUSTER_ADDR + ARCHI_CLUSTER_PERIPHERALS_OFFSET ) #define ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_GLOBAL_ADDR(cid) + ARCHI_CLUSTER_PERIPHERALS_OFFSET ) @@ -107,8 +110,19 @@ #define ARCHI_EU_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_EU_OFFSET ) #define ARCHI_HWCE_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_HWCE_OFFSET ) #define ARCHI_MCHAN_EXT_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_MCHAN_EXT_OFFSET ) +#define ARCHI_HMR_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_HMR_OFFSET ) +#define ARCHI_TCDM_SCRUBBER_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_TCDM_SCRUBBER_OFFSET ) +#define ARCHI_HWPE_HCI_ECC_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_HWPE_HCI_ECC_OFFSET ) - +#define ARCHI_CLUSTER_CTRL_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_CLUSTER_CTRL_OFFSET ) +#define ARCHI_ICACHE_CTRL_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_ICACHE_CTRL_OFFSET ) +#define ARCHI_EU_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_EU_OFFSET ) +#define ARCHI_HWCE_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_HWCE_OFFSET ) +#define ARCHI_MCHAN_EXT_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_MCHAN_EXT_OFFSET ) +#define ARCHI_IDMA_EXT_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_IDMA_EXT_OFFSET ) +#define ARCHI_HMR_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_HMR_OFFSET ) +#define ARCHI_TCDM_SCRUBBER_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_TCDM_SCRUBBER_OFFSET ) +#define ARCHI_HWPE_HCI_ECC_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) + ARCHI_HWPE_HCI_ECC_OFFSET ) /* * CLUSTER DEMUX PERIPHERALS diff --git a/include/archi/chips/pulp_cluster/pulp.h b/include/archi/chips/pulp_cluster/pulp.h index d9f75fa..9cd94ff 100644 --- a/include/archi/chips/pulp_cluster/pulp.h +++ b/include/archi/chips/pulp_cluster/pulp.h @@ -45,5 +45,8 @@ #include "archi/udma/spim/udma_spim_v3.h" #include "archi/udma/uart/udma_uart_v1.h" #include "archi/udma/udma_v3.h" +#include "archi/hmr/hmr_v1.h" +#include "archi/tcdm_scrubber/tcdm_scrubber.h" +#include "archi/hwpe_hci_ecc/hwpe_hci_ecc.h" #endif diff --git a/include/hal/chips/pulp_cluster/pulp.h b/include/hal/chips/pulp_cluster/pulp.h index 2103f20..671dd44 100644 --- a/include/hal/chips/pulp_cluster/pulp.h +++ b/include/hal/chips/pulp_cluster/pulp.h @@ -41,5 +41,8 @@ #include "hal/udma/i2c/udma_i2c_v2.h" #include "hal/udma/spim/udma_spim_v3.h" #include "hal/udma/uart/udma_uart_v1.h" +#include "hal/hmr/hmr_v1.h" +#include "hal/tcdm_scrubber/tcdm_scrubber.h" +#include "hal/hwpe_hci_ecc/hwpe_hci_ecc.h" #endif