blob: 4007b91dc158820d0999ce49f7decf4a53dc59be [file] [log] [blame]
Wendy Liangdc1dfe82017-09-13 11:02:42 -07001/*
Michal Simek619bc132023-04-14 08:43:51 +02002 * Copyright (c) 2017-2018, Arm Limited and Contributors. All rights reserved.
Michal Simekbfd06262023-04-25 14:04:02 +02003 * Copyright (c) 2019-2022, Xilinx, Inc. All rights reserved.
4 * Copyright (c) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.
Wendy Liangdc1dfe82017-09-13 11:02:42 -07005 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9/* ZynqMP IPI management enums and defines */
10
Jolly Shah1611ef22019-01-08 11:21:29 -080011#ifndef PLAT_IPI_H
12#define PLAT_IPI_H
Wendy Liangdc1dfe82017-09-13 11:02:42 -070013
14#include <stdint.h>
Jolly Shahb8e39f42019-01-08 11:27:36 -080015#include <ipi.h>
Wendy Liangdc1dfe82017-09-13 11:02:42 -070016
17/*********************************************************************
18 * IPI agent IDs macros
19 ********************************************************************/
20#define IPI_ID_APU 0U
21#define IPI_ID_RPU0 1U
22#define IPI_ID_RPU1 2U
23#define IPI_ID_PMU0 3U
24#define IPI_ID_PMU1 4U
25#define IPI_ID_PMU2 5U
26#define IPI_ID_PMU3 6U
27#define IPI_ID_PL0 7U
28#define IPI_ID_PL1 8U
29#define IPI_ID_PL2 9U
30#define IPI_ID_PL3 10U
31
32/*********************************************************************
Jolly Shah65c80d62019-01-09 12:37:57 -080033 * IPI message buffers
34 ********************************************************************/
35#define IPI_BUFFER_BASEADDR 0xFF990000U
36
Michal Simek068b0bc2023-04-25 14:21:20 +020037#define IPI_LOCAL_ID IPI_ID_APU
38#define IPI_REMOTE_ID IPI_ID_PMU0
39
Michal Simekbfd06262023-04-25 14:04:02 +020040#define IPI_BUFFER_LOCAL_BASE (IPI_BUFFER_BASEADDR + 0x400U)
41#define IPI_BUFFER_REMOTE_BASE (IPI_BUFFER_BASEADDR + 0xE00U)
Jolly Shah65c80d62019-01-09 12:37:57 -080042
43#define IPI_BUFFER_TARGET_LOCAL_OFFSET 0x80U
44#define IPI_BUFFER_TARGET_REMOTE_OFFSET 0x1C0U
45
HariBabu Gattem590519a2022-10-07 00:07:49 -070046#define IPI_BUFFER_MAX_WORDS 8U
Jolly Shah65c80d62019-01-09 12:37:57 -080047
48#define IPI_BUFFER_REQ_OFFSET 0x0U
49#define IPI_BUFFER_RESP_OFFSET 0x20U
50
51/*********************************************************************
Jolly Shah63436bd2019-01-08 11:31:49 -080052 * Platform specific IPI API declarations
Wendy Liangdc1dfe82017-09-13 11:02:42 -070053 ********************************************************************/
Wendy Liangdc1dfe82017-09-13 11:02:42 -070054
Jolly Shahb8e39f42019-01-08 11:27:36 -080055/* Configure IPI table for zynqmp */
56void zynqmp_ipi_config_table_init(void);
57
Jolly Shah1611ef22019-01-08 11:21:29 -080058#endif /* PLAT_IPI_H */