1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef CONFIG_POWER_DOMAIN_H
9 #define CONFIG_POWER_DOMAIN_H
10 
11 #include <stdint.h>
12 
13 /*
14  * Total supported chips in multichip use case
15  */
16 #define CHIP_COUNT 2
17 
18 /*
19  * Power domain indices in single chip use case
20  */
21 enum pd_single_chip_idx {
22     PD_SINGLE_CHIP_IDX_CLUS0CORE0,
23     PD_SINGLE_CHIP_IDX_CLUS0CORE1,
24     PD_SINGLE_CHIP_IDX_CLUS1CORE0,
25     PD_SINGLE_CHIP_IDX_CLUS1CORE1,
26     PD_SINGLE_CHIP_IDX_CLUSTER0,
27     PD_SINGLE_CHIP_IDX_CLUSTER1,
28     PD_SINGLE_CHIP_IDX_DBGTOP0,
29     PD_SINGLE_CHIP_IDX_SYSTOP0,
30     PD_SINGLE_CHIP_IDX_COUNT,
31     PD_SINGLE_CHIP_IDX_NONE = UINT32_MAX
32 };
33 
34 /*
35  * Power domain indices in multi chip use case
36  */
37 enum pd_multi_chip_idx {
38     /* PD Level 0 */
39     PD_MULTI_CHIP_IDX_CLUS0CORE0,
40     PD_MULTI_CHIP_IDX_CLUS0CORE1,
41     PD_MULTI_CHIP_IDX_CLUS1CORE0,
42     PD_MULTI_CHIP_IDX_CLUS1CORE1,
43     PD_MULTI_CHIP_IDX_CLUS2CORE0,
44     PD_MULTI_CHIP_IDX_CLUS2CORE1,
45     PD_MULTI_CHIP_IDX_CLUS3CORE0,
46     PD_MULTI_CHIP_IDX_CLUS3CORE1,
47     /* PD Level 1 */
48     PD_MULTI_CHIP_IDX_CLUSTER0,
49     PD_MULTI_CHIP_IDX_CLUSTER1,
50     PD_MULTI_CHIP_IDX_DBGTOP0,
51     PD_MULTI_CHIP_IDX_CLUSTER2,
52     PD_MULTI_CHIP_IDX_CLUSTER3,
53     PD_MULTI_CHIP_IDX_DBGTOP1,
54     /* PD Level 2 */
55     PD_MULTI_CHIP_IDX_SYSTOP0,
56     PD_MULTI_CHIP_IDX_SYSTOP1,
57     /* PD Level 3 */
58     PD_MULTI_CHIP_IDX_SYSTOP_LOGICAL,
59     PD_MULTI_CHIP_IDX_COUNT,
60     PD_MULTI_CHIP_IDX_NONE = UINT32_MAX
61 };
62 
63 #endif /* CONFIG_POWER_DOMAIN_H */
64