1 /*
2 * Arm SCP/MCP Software
3 * Copyright (c) 2021-2022, Arm Limited and Contributors. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8 #include <tc1_mock_psu.h>
9 #include <tc1_psu.h>
10
11 #include <mod_mock_psu.h>
12 #include <mod_psu.h>
13
14 #include <fwk_element.h>
15 #include <fwk_module.h>
16 #include <fwk_module_idx.h>
17
18 static const struct fwk_element element_table[PSU_ELEMENT_IDX_COUNT + 1] = {
19 [PSU_ELEMENT_IDX_CORTEX_A510] = {
20 .name = "PSU_GROUP_CORTEX_A510",
21 .data =
22 &(const struct mod_psu_element_cfg){
23 .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_MOCK_PSU,
24 MOCK_PSU_ELEMENT_IDX_CORTEX_A510),
25 .driver_api_id = FWK_ID_API_INIT(
26 FWK_MODULE_IDX_MOCK_PSU,
27 MOD_MOCK_PSU_API_IDX_DRIVER) },
28 },
29 [PSU_ELEMENT_IDX_CORTEX_A715] = {
30 .name = "PSU_GROUP_CORTEX_A715",
31 .data =
32 &(const struct mod_psu_element_cfg){
33 .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_MOCK_PSU,
34 MOCK_PSU_ELEMENT_IDX_CORTEX_A715),
35 .driver_api_id = FWK_ID_API_INIT(
36 FWK_MODULE_IDX_MOCK_PSU,
37 MOD_MOCK_PSU_API_IDX_DRIVER) },
38 },
39 [PSU_ELEMENT_IDX_CORTEX_X3] = {
40 .name = "PSU_GROUP_CORTEX_X3",
41 .data =
42 &(const struct mod_psu_element_cfg){
43 .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_MOCK_PSU,
44 MOCK_PSU_ELEMENT_IDX_CORTEX_X3),
45 .driver_api_id = FWK_ID_API_INIT(
46 FWK_MODULE_IDX_MOCK_PSU,
47 MOD_MOCK_PSU_API_IDX_DRIVER) },
48 },
49
50 { 0 }
51 };
52
psu_get_element_table(fwk_id_t module_id)53 static const struct fwk_element *psu_get_element_table(fwk_id_t module_id)
54 {
55 return element_table;
56 }
57
58 const struct fwk_module_config config_psu = {
59 .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table),
60 };
61