xref: /rk3399_ARM-atf/plat/nvidia/tegra/include/drivers/bpmp_ipc.h (revision 6e756f6d6d6a71a6ec51d40bef00ec8be12b98b5)
126e2b93aSVarun Wadekar /*
2ff605ba2Ssteven kao  * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
326e2b93aSVarun Wadekar  *
426e2b93aSVarun Wadekar  * SPDX-License-Identifier: BSD-3-Clause
526e2b93aSVarun Wadekar  */
626e2b93aSVarun Wadekar 
726e2b93aSVarun Wadekar #ifndef __BPMP_IPC_H__
826e2b93aSVarun Wadekar #define __BPMP_IPC_H__
926e2b93aSVarun Wadekar 
10*6e756f6dSAmbroise Vincent #include <lib/utils_def.h>
1126e2b93aSVarun Wadekar #include <stdbool.h>
1226e2b93aSVarun Wadekar #include <stdint.h>
1326e2b93aSVarun Wadekar 
1426e2b93aSVarun Wadekar /**
1526e2b93aSVarun Wadekar  * Currently supported reset identifiers
1626e2b93aSVarun Wadekar  */
1726e2b93aSVarun Wadekar #define TEGRA_RESET_ID_XUSB_PADCTL	U(114)
1826e2b93aSVarun Wadekar #define TEGRA_RESET_ID_GPCDMA		U(70)
1926e2b93aSVarun Wadekar 
2026e2b93aSVarun Wadekar /**
21ff605ba2Ssteven kao  * Clock identifier for the SE device
22ff605ba2Ssteven kao  */
23ff605ba2Ssteven kao #define TEGRA_CLK_SE        U(124)
24ff605ba2Ssteven kao 
25ff605ba2Ssteven kao /**
2626e2b93aSVarun Wadekar  * Function to initialise the IPC with the bpmp
2726e2b93aSVarun Wadekar  */
2826e2b93aSVarun Wadekar int32_t tegra_bpmp_ipc_init(void);
2926e2b93aSVarun Wadekar 
3026e2b93aSVarun Wadekar /**
3126e2b93aSVarun Wadekar  * Handler to reset a module
3226e2b93aSVarun Wadekar  */
3326e2b93aSVarun Wadekar int32_t tegra_bpmp_ipc_reset_module(uint32_t rst_id);
3426e2b93aSVarun Wadekar 
35ff605ba2Ssteven kao /**
36ff605ba2Ssteven kao  * Handler to enable clock to a module. Only SE device is
37ff605ba2Ssteven kao  * supported for now.
38ff605ba2Ssteven kao  */
39ff605ba2Ssteven kao int tegra_bpmp_ipc_enable_clock(uint32_t clk_id);
40ff605ba2Ssteven kao 
41ff605ba2Ssteven kao /**
42ff605ba2Ssteven kao  * Handler to disable clock to a module. Only SE device is
43ff605ba2Ssteven kao  * supported for now.
44ff605ba2Ssteven kao  */
45ff605ba2Ssteven kao int tegra_bpmp_ipc_disable_clock(uint32_t clk_id);
46ff605ba2Ssteven kao 
4726e2b93aSVarun Wadekar #endif /* __BPMP_IPC_H__ */
48