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 #ifndef CPU_PIK_H
9 #define CPU_PIK_H
10 
11 #include "scp_css_mmap.h"
12 
13 #include <fwk_macros.h>
14 
15 #include <stdint.h>
16 
17 /*!
18  * \brief PE Static Configuration register definitions
19  */
20 struct static_config_reg {
21     FWK_RW uint32_t STATIC_CONFIG;
22     FWK_RW uint32_t RVBARADDR_LW;
23     FWK_RW uint32_t RVBARADDR_UP;
24     uint32_t RESERVED;
25 };
26 
27 /*!
28  * \brief AP cores clock control register definitions
29  */
30 struct coreclk_reg {
31     FWK_RW uint32_t DIV;
32     FWK_RW uint32_t CTRL;
33     FWK_RW uint32_t MOD;
34     uint32_t RESERVED;
35 };
36 /*!
37  * \brief CPU PIK register definitions
38  */
39 struct pik_cpu_reg {
40     FWK_RW uint32_t CLUSTER_CONFIG;
41     uint8_t RESERVED0[0x100 - 0x4];
42     struct static_config_reg STATIC_CONFIG[10];
43     uint8_t RESERVED1[0x900 - 0x1a0];
44     struct coreclk_reg CORECLK[10];
45 };
46 
47 #define CLUSTER_PIK_PTR(IDX) ((struct pik_cpu_reg *)SCP_PIK_CLUSTER_BASE(IDX))
48 
49 #endif /* CPU_PIK_H */
50