1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #include <fwk_id.h>
9 #include <fwk_macros.h>
10 #include <fwk_module.h>
11 #include <fwk_module_idx.h>
12 
13 #include <juno_scmi.h>
14 #include <mod_scmi_reset_domain.h>
15 #include <mod_juno_reset_domain.h>
16 #include <mod_reset_domain.h>
17 
18 static const struct mod_scmi_reset_domain_device agent_device_table_ospm[] = {
19    [JUNO_RESET_DOMAIN_IDX_UART] = {
20         .element_id =
21             FWK_ID_ELEMENT_INIT(FWK_MODULE_IDX_RESET_DOMAIN,
22                                 JUNO_RESET_DOMAIN_IDX_UART),
23         .permissions = MOD_SCMI_RESET_DOMAIN_PERM_ATTRIBUTES |
24                        MOD_SCMI_RESET_DOMAIN_PERM_RESET,
25     },
26 };
27 
28 static const struct mod_scmi_reset_domain_agent agent_table[] = {
29     [JUNO_SCMI_AGENT_IDX_PSCI] = { 0 /* No access */ },
30     [JUNO_SCMI_AGENT_IDX_OSPM] = {
31         .device_table = agent_device_table_ospm,
32         .agent_domain_count = FWK_ARRAY_SIZE(agent_device_table_ospm),
33     },
34 };
35 
36 struct fwk_module_config config_scmi_reset_domain = {
37     .data = &((struct mod_scmi_reset_domain_config) {
38         .agent_table = agent_table,
39         .agent_count = FWK_ARRAY_SIZE(agent_table),
40     }),
41 };
42