aboutsummaryrefslogtreecommitdiff
path: root/product/tc0/scp_ramfw/config_mpmm.c
diff options
context:
space:
mode:
Diffstat (limited to 'product/tc0/scp_ramfw/config_mpmm.c')
-rw-r--r--product/tc0/scp_ramfw/config_mpmm.c272
1 files changed, 0 insertions, 272 deletions
diff --git a/product/tc0/scp_ramfw/config_mpmm.c b/product/tc0/scp_ramfw/config_mpmm.c
deleted file mode 100644
index 3bfe99d39183..000000000000
--- a/product/tc0/scp_ramfw/config_mpmm.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Arm SCP/MCP Software
- * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include "scp_css_mmap.h"
-#include "tc0_core.h"
-#include "tc0_dvfs.h"
-#include "tc0_timer.h"
-
-#include <mod_mpmm.h>
-
-#include <fwk_macros.h>
-#include <fwk_module.h>
-#include <fwk_module_idx.h>
-
-enum core_pd_idx {
- CORE0_IDX,
- CORE1_IDX,
- CORE2_IDX,
- CORE3_IDX,
- CORE4_IDX,
- CORE5_IDX,
- CORE6_IDX,
- CORE7_IDX
-};
-
-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VARIANT_STD)
-static struct mod_mpmm_pct_table k_pct[] = {
- { .cores_online = 4,
- .default_perf_limit = 1153 * 1000000UL,
- .num_perf_limits = 3,
- .threshold_perf = { {
- .threshold_bitmap = 0x2222,
- .perf_limit = 1153 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x2211,
- .perf_limit = 1537 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x1111,
- .perf_limit = 1844 * 1000000UL,
- },
- } },
- { .cores_online = 3,
- .default_perf_limit = 1844 * 1000000UL,
- .num_perf_limits = 2,
- .threshold_perf = { {
- .threshold_bitmap = 0x222,
- .perf_limit = 1844 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x111,
- .perf_limit = 2152 * 1000000UL,
- },
- } },
- { .cores_online = 2,
- .default_perf_limit = 2152 * 1000000UL,
- .num_perf_limits = 1,
- .threshold_perf = { {
- .threshold_bitmap = 0x22,
- .perf_limit = 2152 * 1000000UL,
- },
- } },
-
- { .cores_online = 1,
- .default_perf_limit = 2152 * 1000000UL,
- .num_perf_limits = 1,
- .threshold_perf = { {
- .threshold_bitmap = 0x2,
- .perf_limit = 2152 * 1000000UL,
- },
- } },
-
-};
-
-static struct mod_mpmm_pct_table m_pct[] = {
- { .cores_online = 3,
- .default_perf_limit = 1419 * 1000000UL,
- .num_perf_limits = 3,
- .threshold_perf = { {
- .threshold_bitmap = 0x222,
- .perf_limit = 1419 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x211,
- .perf_limit = 1893 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x110,
- .perf_limit = 2271 * 1000000UL,
- },
- } },
- { .cores_online = 2,
- .default_perf_limit = 2271 * 1000000UL,
- .num_perf_limits = 2,
- .threshold_perf = { {
- .threshold_bitmap = 0x22,
- .perf_limit = 2271 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x11,
- .perf_limit = 2650 * 1000000UL,
- },
- } },
- { .cores_online = 1,
- .default_perf_limit = 2650 * 1000000UL,
- .num_perf_limits = 1,
- .threshold_perf = { {
- .threshold_bitmap = 0x2,
- .perf_limit = 2650 * 1000000UL,
- },
- } },
-};
-#endif
-
-static struct mod_mpmm_pct_table m_elp_pct[] = {
- { .cores_online = 1,
- .default_perf_limit = 2612 * 1000000UL,
- .num_perf_limits = 2,
- .threshold_perf = { {
- .threshold_bitmap = 0x2,
- .perf_limit = 2612 * 1000000UL,
- },
- {
- .threshold_bitmap = 0x1,
- .perf_limit = 3047 * 1000000UL,
- },
- } },
-};
-
-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VARIANT_STD)
-static const struct mod_mpmm_core_config k_core_config[] = {
- [0] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE0_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE0_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE0_IDX),
- .core_starts_online = true,
- },
- [1] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE1_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE1_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE1_IDX),
- .core_starts_online = false,
- },
- [2] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE2_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE2_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE2_IDX),
- .core_starts_online = false,
- },
- [3] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE3_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE3_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE3_IDX),
- .core_starts_online = false,
- },
-};
-
-static const struct mod_mpmm_core_config m_core_config[] = {
- [0] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE4_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE4_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE4_IDX),
- .core_starts_online = false,
- },
- [1] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE5_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE5_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE5_IDX),
- .core_starts_online = false,
- },
- [2] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE6_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE6_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE6_IDX),
- .core_starts_online = false,
- },
-};
-#endif
-
-static const struct mod_mpmm_core_config m_elp_core_config[] = {
- [0] = {
- .pd_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_POWER_DOMAIN, CORE7_IDX),
- .mpmm_reg_base = SCP_MPMM_CORE_BASE(CORE7_IDX),
- .amu_aux_reg_base = SCP_AMU_AMEVCNTR1X(CORE7_IDX),
- .core_starts_online = false,
- },
-};
-
-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VARIANT_STD)
-static const struct mod_mpmm_domain_config k_domain_conf[] = {
- [0] = {
- .perf_id = FWK_ID_ELEMENT_INIT(
- FWK_MODULE_IDX_DVFS,
- DVFS_ELEMENT_IDX_KLEIN),
- .pct = k_pct,
- .pct_size = FWK_ARRAY_SIZE(k_pct),
- .btc = 10,
- .num_threshold_counters = 3,
- .core_config = k_core_config,
- },
- [1] = {0},
-};
-
-static const struct mod_mpmm_domain_config m_domain_conf[] = {
- [0] = {
- .perf_id = FWK_ID_ELEMENT_INIT(
- FWK_MODULE_IDX_DVFS,
- DVFS_ELEMENT_IDX_MATTERHORN),
- .pct = m_pct,
- .pct_size = FWK_ARRAY_SIZE(m_pct),
- .btc = 10,
- .num_threshold_counters = 3,
- .core_config = m_core_config,
- },
- [1] = {0},
-};
-#endif
-
-static const struct mod_mpmm_domain_config m_elp_domain_conf[] = {
- [0] = {
- .perf_id = FWK_ID_ELEMENT_INIT(
- FWK_MODULE_IDX_DVFS,
- DVFS_ELEMENT_IDX_MATTERHORN_ELP_ARM),
- .pct = m_elp_pct,
- .pct_size = FWK_ARRAY_SIZE(m_elp_pct),
- .btc = 10,
- .num_threshold_counters = 3,
- .core_config = m_elp_core_config,
- },
- [1] = {0},
-};
-
-static const struct fwk_element element_table[] = {
-#if defined(PLATFORM_VARIANT) && (PLATFORM_VARIANT == TC0_VAR_EXPERIMENT_POWER)
- [0] = {
- .name = "MPMM_MATTERHORN_ELP_ARM_ELEM",
- .sub_element_count = 1,
- .data = m_elp_domain_conf,
- },
- [1] = { 0 },
-#else
- [0] = {
- .name = "MPMM_KLEIN_ELEM",
- .sub_element_count = 4,
- .data = k_domain_conf,
- },
- [1] = {
- .name = "MPMM_MATTERHORN_ELEM",
- .sub_element_count = 3,
- .data = m_domain_conf,
- },
- [2] = {
- .name = "MPMM_MATTERHORN_ELP_ARM_ELEM",
- .sub_element_count = 1,
- .data = m_elp_domain_conf,
- },
- [3] = { 0 },
-#endif
-};
-
-static const struct fwk_element *mpmm_get_element_table(fwk_id_t module_id)
-{
- return element_table;
-}
-const struct fwk_module_config config_mpmm = {
- .elements = FWK_MODULE_DYNAMIC_ELEMENTS(mpmm_get_element_table),
-};