blob: 0d1e4059677f35db67f4d2345c796a5134a78ce0 [file] [log] [blame]
Varun Wadekarb3741032017-09-25 13:27:45 -07001/*
steven kao05ee5822018-01-02 19:07:00 -08002 * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
Varun Wadekarb3741032017-09-25 13:27:45 -07003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __BPMP_IPC_H__
8#define __BPMP_IPC_H__
9
Ambroise Vincentffbf32a2019-03-28 09:01:18 +000010#include <lib/utils_def.h>
Varun Wadekarb3741032017-09-25 13:27:45 -070011#include <stdbool.h>
12#include <stdint.h>
Varun Wadekarb3741032017-09-25 13:27:45 -070013
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/**
steven kao05ee5822018-01-02 19:07:00 -080021 * Clock identifier for the SE device
22 */
23#define TEGRA_CLK_SE U(124)
24
25/**
Varun Wadekarb3741032017-09-25 13:27:45 -070026 * Function to initialise the IPC with the bpmp
27 */
28int32_t tegra_bpmp_ipc_init(void);
29
30/**
31 * Handler to reset a module
32 */
33int32_t tegra_bpmp_ipc_reset_module(uint32_t rst_id);
34
steven kao05ee5822018-01-02 19:07:00 -080035/**
36 * Handler to enable clock to a module. Only SE device is
37 * supported for now.
38 */
39int 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 */
45int tegra_bpmp_ipc_disable_clock(uint32_t clk_id);
46
Varun Wadekarb3741032017-09-25 13:27:45 -070047#endif /* __BPMP_IPC_H__ */