bpmp_ipc.h 1002 Bytes
Newer Older
1
/*
2
 * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
3
 * Copyright (c) 2020, NVIDIA Corporation. All rights reserved.
4
5
6
7
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

8
9
#ifndef BPMP_IPC_H
#define BPMP_IPC_H
10

11
#include <lib/utils_def.h>
12
13
14
15
16
17
18
19
20
#include <stdbool.h>
#include <stdint.h>

/**
 * Currently supported reset identifiers
 */
#define TEGRA_RESET_ID_XUSB_PADCTL	U(114)
#define TEGRA_RESET_ID_GPCDMA		U(70)

21
22
23
24
25
/**
 * Clock identifier for the SE device
 */
#define TEGRA_CLK_SE        U(124)

26
27
28
29
30
31
32
33
34
35
/**
 * Function to initialise the IPC with the bpmp
 */
int32_t tegra_bpmp_ipc_init(void);

/**
 * Handler to reset a module
 */
int32_t tegra_bpmp_ipc_reset_module(uint32_t rst_id);

36
37
38
39
40
41
42
43
44
45
46
47
/**
 * Handler to enable clock to a module. Only SE device is
 * supported for now.
 */
int tegra_bpmp_ipc_enable_clock(uint32_t clk_id);

/**
 * Handler to disable clock to a module. Only SE device is
 * supported for now.
 */
int tegra_bpmp_ipc_disable_clock(uint32_t clk_id);

48
#endif /* BPMP_IPC_H */