blob: 4007b91dc158820d0999ce49f7decf4a53dc59be [file] [log] [blame]
Wendy Liang3aebacf2017-09-13 11:02:42 -07001/*
Michal Simek2a47faa2023-04-14 08:43:51 +02002 * Copyright (c) 2017-2018, Arm Limited and Contributors. All rights reserved.
Michal Simek9a8da502023-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 Liang3aebacf2017-09-13 11:02:42 -07005 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9/* ZynqMP IPI management enums and defines */
10
Jolly Shah4c172372019-01-08 11:21:29 -080011#ifndef PLAT_IPI_H
12#define PLAT_IPI_H
Wendy Liang3aebacf2017-09-13 11:02:42 -070013
14#include <stdint.h>
Jolly Shah2f952be2019-01-08 11:27:36 -080015#include <ipi.h>
Wendy Liang3aebacf2017-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 Shah259afe52019-01-09 12:37:57 -080033 * IPI message buffers
34 ********************************************************************/
35#define IPI_BUFFER_BASEADDR 0xFF990000U
36
Michal Simek3a63f052023-04-25 14:21:20 +020037#define IPI_LOCAL_ID IPI_ID_APU
38#define IPI_REMOTE_ID IPI_ID_PMU0
39
Michal Simek9a8da502023-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 Shah259afe52019-01-09 12:37:57 -080042
43#define IPI_BUFFER_TARGET_LOCAL_OFFSET 0x80U
44#define IPI_BUFFER_TARGET_REMOTE_OFFSET 0x1C0U
45
HariBabu Gattemaa811712022-10-07 00:07:49 -070046#define IPI_BUFFER_MAX_WORDS 8U
Jolly Shah259afe52019-01-09 12:37:57 -080047
48#define IPI_BUFFER_REQ_OFFSET 0x0U
49#define IPI_BUFFER_RESP_OFFSET 0x20U
50
51/*********************************************************************
Jolly Shahc2583ab2019-01-08 11:31:49 -080052 * Platform specific IPI API declarations
Wendy Liang3aebacf2017-09-13 11:02:42 -070053 ********************************************************************/
Wendy Liang3aebacf2017-09-13 11:02:42 -070054
Jolly Shah2f952be2019-01-08 11:27:36 -080055/* Configure IPI table for zynqmp */
56void zynqmp_ipi_config_table_init(void);
57
Jolly Shah4c172372019-01-08 11:21:29 -080058#endif /* PLAT_IPI_H */