1 /*
2  * Arm SCP/MCP Software
3  * Copyright (c) 2019-2021, Arm Limited and Contributors. All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef JUNO_UTILS_H
9 #define JUNO_UTILS_H
10 
11 #include <stdbool.h>
12 #include <stdint.h>
13 
14 void juno_utils_open_snoop_gate_and_wait(volatile uint32_t *snoop_ctrl);
15 void juno_utils_close_snoop_gate(volatile uint32_t *snoop_ctrl);
16 
17 void juno_utils_atclk_clock_div_set(uint32_t divider);
18 bool juno_utils_atclk_clock_div_set_check(uint32_t divider);
19 
20 void juno_utils_atclk_clock_sel_set(uint32_t source);
21 bool juno_utils_atclk_clock_sel_set_check(uint32_t source);
22 
23 void juno_utils_traceclk_clock_div_set(uint32_t divider);
24 bool juno_utils_traceclk_clock_div_set_check(uint32_t divider);
25 
26 void juno_utils_traceclk_clock_sel_set(uint32_t source);
27 bool juno_utils_traceclk_clock_sel_set_check(uint32_t source);
28 
29 void juno_utils_pclkdbg_clock_div_set(uint32_t divider);
30 bool juno_utils_pclkdbg_clock_div_set_check(uint32_t divider);
31 
32 void juno_utils_system_clock_enable(uint32_t mask);
33 
34 void juno_utils_smc_init(void);
35 
36 #endif /* JUNO_UTILS_H */
37