blob: bccd2f1944868a4e2cfd2933a0eb573b6fd11d99 [file] [log] [blame]
Wendy Liang3aebacf2017-09-13 11:02:42 -07001/*
Jolly Shah4c172372019-01-08 11:21:29 -08002 * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
Wendy Liang3aebacf2017-09-13 11:02:42 -07003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/* ZynqMP IPI management enums and defines */
8
Jolly Shah4c172372019-01-08 11:21:29 -08009#ifndef PLAT_IPI_H
10#define PLAT_IPI_H
Wendy Liang3aebacf2017-09-13 11:02:42 -070011
12#include <stdint.h>
Jolly Shah2f952be2019-01-08 11:27:36 -080013#include <ipi.h>
Wendy Liang3aebacf2017-09-13 11:02:42 -070014
15/*********************************************************************
16 * IPI agent IDs macros
17 ********************************************************************/
18#define IPI_ID_APU 0U
19#define IPI_ID_RPU0 1U
20#define IPI_ID_RPU1 2U
21#define IPI_ID_PMU0 3U
22#define IPI_ID_PMU1 4U
23#define IPI_ID_PMU2 5U
24#define IPI_ID_PMU3 6U
25#define IPI_ID_PL0 7U
26#define IPI_ID_PL1 8U
27#define IPI_ID_PL2 9U
28#define IPI_ID_PL3 10U
29
30/*********************************************************************
Jolly Shah259afe52019-01-09 12:37:57 -080031 * IPI message buffers
32 ********************************************************************/
33#define IPI_BUFFER_BASEADDR 0xFF990000U
34
35#define IPI_BUFFER_APU_BASE (IPI_BUFFER_BASEADDR + 0x400U)
36#define IPI_BUFFER_PMU_BASE (IPI_BUFFER_BASEADDR + 0xE00U)
37
38#define IPI_BUFFER_LOCAL_BASE IPI_BUFFER_APU_BASE
39#define IPI_BUFFER_REMOTE_BASE IPI_BUFFER_PMU_BASE
40
41#define IPI_BUFFER_TARGET_LOCAL_OFFSET 0x80U
42#define IPI_BUFFER_TARGET_REMOTE_OFFSET 0x1C0U
43
44#define IPI_BUFFER_MAX_WORDS 8
45
46#define IPI_BUFFER_REQ_OFFSET 0x0U
47#define IPI_BUFFER_RESP_OFFSET 0x20U
48
49/*********************************************************************
Jolly Shahc2583ab2019-01-08 11:31:49 -080050 * Platform specific IPI API declarations
Wendy Liang3aebacf2017-09-13 11:02:42 -070051 ********************************************************************/
Wendy Liang3aebacf2017-09-13 11:02:42 -070052
Jolly Shah2f952be2019-01-08 11:27:36 -080053/* Configure IPI table for zynqmp */
54void zynqmp_ipi_config_table_init(void);
55
Jolly Shah4c172372019-01-08 11:21:29 -080056#endif /* PLAT_IPI_H */