blob: bf56d5e25633786b609c88bacf1bbb952fc53ffa [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
Jolly Shah259afe52019-01-09 12:37:57 -080038#define IPI_BUFFER_REMOTE_BASE IPI_BUFFER_PMU_BASE
39
40#define IPI_BUFFER_TARGET_LOCAL_OFFSET 0x80U
41#define IPI_BUFFER_TARGET_REMOTE_OFFSET 0x1C0U
42
HariBabu Gattemaa811712022-10-07 00:07:49 -070043#define IPI_BUFFER_MAX_WORDS 8U
Jolly Shah259afe52019-01-09 12:37:57 -080044
45#define IPI_BUFFER_REQ_OFFSET 0x0U
46#define IPI_BUFFER_RESP_OFFSET 0x20U
47
48/*********************************************************************
Jolly Shahc2583ab2019-01-08 11:31:49 -080049 * Platform specific IPI API declarations
Wendy Liang3aebacf2017-09-13 11:02:42 -070050 ********************************************************************/
Wendy Liang3aebacf2017-09-13 11:02:42 -070051
Jolly Shah2f952be2019-01-08 11:27:36 -080052/* Configure IPI table for zynqmp */
53void zynqmp_ipi_config_table_init(void);
54
Jolly Shah4c172372019-01-08 11:21:29 -080055#endif /* PLAT_IPI_H */