Simplify timing-adapter settings
The targets only have one NPU so simplify the timing adapters settings
by removing unnecessary nesting and complexity.
Corstone-310 does not have timing adapters in the NPU model, so remove
that dead timing adapter code completely.
Change-Id: Iabe95c5e6354f5168beefa3ddfff4a348c4a7021
Signed-off-by: Jonny Svärd <jonny.svaerd@arm.com>
diff --git a/targets/corstone-300/target.cpp b/targets/corstone-300/target.cpp
index f52a5db..46d6a77 100644
--- a/targets/corstone-300/target.cpp
+++ b/targets/corstone-300/target.cpp
@@ -1,6 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright 2020-2021, 2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
- *
+ * SPDX-FileCopyrightText: Copyright 2020-2021, 2023-2024 Arm Limited and/or its affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
@@ -45,8 +44,10 @@
#define ETHOSU_IRQ 56
#define ETHOSU_IRQ_PRIORITY 5
-#define ETHOSU0_TA0_BASE_ADDRESS 0x48103000
-#define ETHOSU0_TA1_BASE_ADDRESS 0x48103200
+#define ETHOSU_TA0_BASE_ADDRESS 0x48103000
+#define ETHOSU_TA1_BASE_ADDRESS 0x48103200
+
+#define ETHOSU_NUM_TA 2
/****************************************************************************
* Variables
@@ -173,37 +174,36 @@
#define ETHOSU_TA_HISTCNT_1 0
#endif
-static uintptr_t ethosu_ta_base_addrs[ETHOSU_NPU_COUNT][ETHOSU_NPU_TA_COUNT] = {
- {ETHOSU0_TA0_BASE_ADDRESS, ETHOSU0_TA1_BASE_ADDRESS}};
-struct timing_adapter ethosu_ta[ETHOSU_NPU_COUNT][ETHOSU_NPU_TA_COUNT];
-struct timing_adapter_settings ethosu_ta_settings[ETHOSU_NPU_TA_COUNT] = {{ETHOSU_TA_MAXR_0,
- ETHOSU_TA_MAXW_0,
- ETHOSU_TA_MAXRW_0,
- ETHOSU_TA_RLATENCY_0,
- ETHOSU_TA_WLATENCY_0,
- ETHOSU_TA_PULSE_ON_0,
- ETHOSU_TA_PULSE_OFF_0,
- ETHOSU_TA_BWCAP_0,
- ETHOSU_TA_PERFCTRL_0,
- ETHOSU_TA_PERFCNT_0,
- ETHOSU_TA_MODE_0,
- 0, // Read only register
- ETHOSU_TA_HISTBIN_0,
- ETHOSU_TA_HISTCNT_0},
- {ETHOSU_TA_MAXR_1,
- ETHOSU_TA_MAXW_1,
- ETHOSU_TA_MAXRW_1,
- ETHOSU_TA_RLATENCY_1,
- ETHOSU_TA_WLATENCY_1,
- ETHOSU_TA_PULSE_ON_1,
- ETHOSU_TA_PULSE_OFF_1,
- ETHOSU_TA_BWCAP_1,
- ETHOSU_TA_PERFCTRL_1,
- ETHOSU_TA_PERFCNT_1,
- ETHOSU_TA_MODE_1,
- 0, // Read only register
- ETHOSU_TA_HISTBIN_1,
- ETHOSU_TA_HISTCNT_1}};
+static uintptr_t ethosu_ta_base_addrs[ETHOSU_NUM_TA] = {ETHOSU_TA0_BASE_ADDRESS, ETHOSU_TA1_BASE_ADDRESS};
+struct timing_adapter ethosu_ta[ETHOSU_NUM_TA];
+struct timing_adapter_settings ethosu_ta_settings[ETHOSU_NUM_TA] = {{ETHOSU_TA_MAXR_0,
+ ETHOSU_TA_MAXW_0,
+ ETHOSU_TA_MAXRW_0,
+ ETHOSU_TA_RLATENCY_0,
+ ETHOSU_TA_WLATENCY_0,
+ ETHOSU_TA_PULSE_ON_0,
+ ETHOSU_TA_PULSE_OFF_0,
+ ETHOSU_TA_BWCAP_0,
+ ETHOSU_TA_PERFCTRL_0,
+ ETHOSU_TA_PERFCNT_0,
+ ETHOSU_TA_MODE_0,
+ 0, // Read only register
+ ETHOSU_TA_HISTBIN_0,
+ ETHOSU_TA_HISTCNT_0},
+ {ETHOSU_TA_MAXR_1,
+ ETHOSU_TA_MAXW_1,
+ ETHOSU_TA_MAXRW_1,
+ ETHOSU_TA_RLATENCY_1,
+ ETHOSU_TA_WLATENCY_1,
+ ETHOSU_TA_PULSE_ON_1,
+ ETHOSU_TA_PULSE_OFF_1,
+ ETHOSU_TA_BWCAP_1,
+ ETHOSU_TA_PERFCTRL_1,
+ ETHOSU_TA_PERFCNT_1,
+ ETHOSU_TA_MODE_1,
+ 0, // Read only register
+ ETHOSU_TA_HISTBIN_1,
+ ETHOSU_TA_HISTCNT_1}};
#endif
@@ -289,14 +289,12 @@
#ifdef ETHOSU
// Initialize timing adapter(s)
- for (int i = 0; i < ETHOSU_NPU_COUNT; i++) {
- for (int j = 0; j < ETHOSU_NPU_TA_COUNT; j++) {
- if (ta_init(ðosu_ta[i][j], ethosu_ta_base_addrs[i][j])) {
- printf("Failed to initialize timing-adapter %d for NPU %d\n", j, i);
- } else {
- // Set the updated configuration
- ta_set_all(ðosu_ta[i][j], ðosu_ta_settings[j]);
- }
+ for (int i = 0; i < ETHOSU_NUM_TA; i++) {
+ if (ta_init(ðosu_ta[i], ethosu_ta_base_addrs[i])) {
+ printf("Failed to initialize M%d timing-adapter\n", i);
+ } else {
+ // Set the updated configuration
+ ta_set_all(ðosu_ta[i], ðosu_ta_settings[i]);
}
}