1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #include <Mockfwk_module.h>
9 
10 #include <mod_perf_controller.h>
11 
12 #include <fwk_element.h>
13 #include <fwk_module_idx.h>
14 
15 #define MAX_CORE_PER_CLUSTER 4U
16 
17 enum test_perf_controller_cluster_idx {
18     TEST_BIG_CLUSTER,
19     TEST_LITTLE_CLUSTER,
20     TEST_CLUSTER_COUNT,
21 };
22 
23 struct fwk_element cluster_config[TEST_CLUSTER_COUNT] = {
24     [TEST_BIG_CLUSTER] = {
25         .sub_element_count = MAX_CORE_PER_CLUSTER,
26         .data = &(struct mod_perf_controller_cluster_config) {
27             .performance_driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TEST_PERF_CONT_DRVR,TEST_BIG_CLUSTER),
28             .performance_driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_TEST_PERF_CONT_DRVR,TEST_BIG_CLUSTER),
29             .power_model_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TEST_PERF_MODEL_DRVR,TEST_BIG_CLUSTER),
30             .power_model_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_TEST_PERF_MODEL_DRVR,TEST_BIG_CLUSTER),
31         },
32     },
33     [TEST_LITTLE_CLUSTER] = {
34         .sub_element_count = 1U,
35         .data = &(struct mod_perf_controller_cluster_config) {
36             .performance_driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TEST_PERF_CONT_DRVR,TEST_LITTLE_CLUSTER),
37             .performance_driver_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_TEST_PERF_CONT_DRVR,TEST_LITTLE_CLUSTER),
38             .power_model_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_TEST_PERF_MODEL_DRVR,TEST_LITTLE_CLUSTER),
39             .power_model_api_id = FWK_ID_API_INIT(FWK_MODULE_IDX_TEST_PERF_MODEL_DRVR,TEST_LITTLE_CLUSTER),
40         },
41     },
42 };
43