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 SYNQUACER_CORE_H
9 #define SYNQUACER_CORE_H
10 
11 #include <stdint.h>
12 
13 /* Maximum number of clusters */
14 #define SYNQUACER_CSS_CPUS_CLUSTER UINT32_C(12)
15 
16 /* Maximum number of CPUs per cluster */
17 #define SYNQUACER_CSS_CPUS_PER_CLUSTER UINT32_C(2)
18 
19 /* Maximum number of CPUs */
20 #define SYNQUACER_CSS_CPUS \
21     (SYNQUACER_CSS_CPUS_CLUSTER * SYNQUACER_CSS_CPUS_PER_CLUSTER)
22 
synquacer_core_get_cluster_count(void)23 static inline uint32_t synquacer_core_get_cluster_count(void)
24 {
25     return SYNQUACER_CSS_CPUS_CLUSTER;
26 }
27 
synquacer_core_get_core_per_cluster_count(void)28 static inline uint32_t synquacer_core_get_core_per_cluster_count(void)
29 {
30     return SYNQUACER_CSS_CPUS_PER_CLUSTER;
31 }
32 
synquacer_core_get_core_count(void)33 static inline uint32_t synquacer_core_get_core_count(void)
34 {
35     return SYNQUACER_CSS_CPUS;
36 }
37 
38 #endif /* SYNQUACER_CORE_H */
39