xref: /rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/bpmp_ipc.h (revision fd7b287cbe9147ca9e07dd9f30c49c58bbdd92a8)
1 /*
2  * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef __BPMP_IPC_H__
8 #define __BPMP_IPC_H__
9 
10 #include <lib/utils_def.h>
11 #include <stdbool.h>
12 #include <stdint.h>
13 
14 /**
15  * Currently supported reset identifiers
16  */
17 #define TEGRA_RESET_ID_XUSB_PADCTL	U(114)
18 #define TEGRA_RESET_ID_GPCDMA		U(70)
19 
20 /**
21  * Clock identifier for the SE device
22  */
23 #define TEGRA_CLK_SE        U(124)
24 
25 /**
26  * Function to initialise the IPC with the bpmp
27  */
28 int32_t tegra_bpmp_ipc_init(void);
29 
30 /**
31  * Handler to reset a module
32  */
33 int32_t tegra_bpmp_ipc_reset_module(uint32_t rst_id);
34 
35 /**
36  * Handler to enable clock to a module. Only SE device is
37  * supported for now.
38  */
39 int tegra_bpmp_ipc_enable_clock(uint32_t clk_id);
40 
41 /**
42  * Handler to disable clock to a module. Only SE device is
43  * supported for now.
44  */
45 int tegra_bpmp_ipc_disable_clock(uint32_t clk_id);
46 
47 #endif /* __BPMP_IPC_H__ */
48