1 /*
2 * Arm SCP/MCP Software
3 * Copyright (c) 2019-2021, Arm Limited and Contributors. All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8 #include <mod_n1sdp_remote_pd.h>
9 #include <mod_power_domain.h>
10
11 #include <fwk_element.h>
12 #include <fwk_id.h>
13 #include <fwk_module.h>
14
15 static const struct fwk_element remote_pd_element_table[] = {
16 [0] = {
17 .name = "SLV-CLUS0CORE0",
18 .data = &((struct mod_n1sdp_remote_pd_config) {
19 .pd_type = MOD_PD_TYPE_CORE,
20 }),
21 },
22 [1] = {
23 .name = "SLV-CLUS0CORE1",
24 .data = &((struct mod_n1sdp_remote_pd_config) {
25 .pd_type = MOD_PD_TYPE_CORE,
26 }),
27 },
28 [2] = {
29 .name = "SLV-CLUS1CORE0",
30 .data = &((struct mod_n1sdp_remote_pd_config) {
31 .pd_type = MOD_PD_TYPE_CORE,
32 }),
33 },
34 [3] = {
35 .name = "SLV-CLUS1CORE1",
36 .data = &((struct mod_n1sdp_remote_pd_config) {
37 .pd_type = MOD_PD_TYPE_CORE,
38 }),
39 },
40 [4] = {
41 .name = "SLV-CLUS0",
42 .data = &((struct mod_n1sdp_remote_pd_config) {
43 .pd_type = MOD_PD_TYPE_CLUSTER,
44 }),
45 },
46 [5] = {
47 .name = "SLV-CLUS1",
48 .data = &((struct mod_n1sdp_remote_pd_config) {
49 .pd_type = MOD_PD_TYPE_CLUSTER,
50 }),
51 },
52 [6] = {
53 .name = "SLV-DBGTOP",
54 .data = &((struct mod_n1sdp_remote_pd_config) {
55 .pd_type = MOD_PD_TYPE_DEVICE_DEBUG,
56 }),
57 },
58 [7] = {
59 .name = "SLV-SYSTOP",
60 .data = &((struct mod_n1sdp_remote_pd_config) {
61 .pd_type = MOD_PD_TYPE_SYSTEM,
62 }),
63 },
64 [8] = {
65 .name = "SYSTOP-LOGICAL",
66 .data = &((struct mod_n1sdp_remote_pd_config) {
67 .pd_type = MOD_PD_TYPE_SYSTEM,
68 }),
69 },
70 [9] = { 0 },
71 };
72
remote_pd_get_element_table(fwk_id_t id)73 static const struct fwk_element *remote_pd_get_element_table(fwk_id_t id)
74 {
75 return remote_pd_element_table;
76 }
77
78 const struct fwk_module_config config_n1sdp_remote_pd = {
79 .elements = FWK_MODULE_DYNAMIC_ELEMENTS(remote_pd_get_element_table),
80 };
81