1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2017-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  *
7  * Description:
8  *     RDN1E1 System Support
9  */
10 
11 #ifndef RDN1E1_POWER_DOMAIN_H
12 #define RDN1E1_POWER_DOMAIN_H
13 
14 #include <mod_power_domain.h>
15 
16 /*! Additional RDN1E1 power domain states */
17 enum rdn1e1_power_domain_states {
18     RDN1E1_POWER_DOMAIN_STATE_FUNC_RET = MOD_PD_STATE_COUNT,
19     RDN1E1_POWER_DOMAIN_STATE_FULL_RET,
20     RDN1E1_POWER_DOMAIN_STATE_MEM_RET,
21     RDN1E1_POWER_DOMAIN_STATE_COUNT
22 };
23 
24 /*! Power domain state masks */
25 enum rdn1e1_power_domain_state_masks {
26     RDN1E1_POWER_DOMAIN_STATE_FUNC_RET_MASK =
27         (1 << RDN1E1_POWER_DOMAIN_STATE_FUNC_RET),
28     RDN1E1_POWER_DOMAIN_STATE_FULL_RET_MASK =
29         (1 << RDN1E1_POWER_DOMAIN_STATE_FULL_RET),
30     RDN1E1_POWER_DOMAIN_STATE_MEM_RET_MASK =
31         (1 << RDN1E1_POWER_DOMAIN_STATE_MEM_RET),
32 };
33 
34 /*! Mask for the cluster valid power states */
35 #define RDN1E1_CLUSTER_VALID_STATE_MASK ( \
36                                 MOD_PD_STATE_OFF_MASK | \
37                                 MOD_PD_STATE_ON_MASK | \
38                                 MOD_PD_STATE_SLEEP_MASK | \
39                                 RDN1E1_POWER_DOMAIN_STATE_MEM_RET_MASK | \
40                                 RDN1E1_POWER_DOMAIN_STATE_FUNC_RET_MASK \
41                                 )
42 
43 /*! Mask for the core valid power states */
44 #define RDN1E1_CORE_VALID_STATE_MASK ( \
45                                 MOD_PD_STATE_OFF_MASK | \
46                                 MOD_PD_STATE_ON_MASK | \
47                                 MOD_PD_STATE_SLEEP_MASK | \
48                                 RDN1E1_POWER_DOMAIN_STATE_FULL_RET_MASK \
49                                 )
50 
51 #endif /* RDN1E1_POWER_DOMAIN_H */
52