1 /*
2 * Arm SCP/MCP Software
3 * Copyright (c) 2021, Arm Limited and Contributors. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8 #include <mod_mock_psu.h>
9 #include <mod_psu.h>
10
11 #include <fwk_element.h>
12 #include <fwk_id.h>
13 #include <fwk_module.h>
14 #include <fwk_module_idx.h>
15
16 #define PSU_ELEMENT_IDX(n) \
17 [n] = { .name = "PSU_GROUP" #n, \
18 .data = &(const struct mod_psu_element_cfg){ \
19 .driver_id = FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_MOCK_PSU, n), \
20 .driver_api_id = FWK_ID_API_INIT( \
21 FWK_MODULE_IDX_MOCK_PSU, MOD_MOCK_PSU_API_IDX_DRIVER) } }
22
23 static const struct fwk_element element_table[] = {
24 PSU_ELEMENT_IDX(0),
25 PSU_ELEMENT_IDX(1),
26 PSU_ELEMENT_IDX(2),
27 PSU_ELEMENT_IDX(3),
28 PSU_ELEMENT_IDX(4),
29 PSU_ELEMENT_IDX(5),
30 PSU_ELEMENT_IDX(6),
31 PSU_ELEMENT_IDX(7),
32 PSU_ELEMENT_IDX(8),
33 PSU_ELEMENT_IDX(9),
34 PSU_ELEMENT_IDX(10),
35 PSU_ELEMENT_IDX(11),
36 PSU_ELEMENT_IDX(12),
37 PSU_ELEMENT_IDX(13),
38 PSU_ELEMENT_IDX(14),
39 PSU_ELEMENT_IDX(15),
40 { 0 },
41 };
42
psu_get_element_table(fwk_id_t module_id)43 static const struct fwk_element *psu_get_element_table(fwk_id_t module_id)
44 {
45 return element_table;
46 }
47
48 const struct fwk_module_config config_psu = {
49 .elements = FWK_MODULE_DYNAMIC_ELEMENTS(psu_get_element_table),
50 };
51