blob: 6183b78225bfc2b7b5a0184af5cb14dcda9f9232 [file] [log] [blame]
Tejas Patel354fe572018-12-14 00:55:37 -08001/*
2 * Copyright (c) 2019, Xilinx, Inc. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7/*
8 * APU specific definition of processors in the subsystem as well as functions
9 * for getting information about and changing state of the APU.
10 */
11
12#include <plat_ipi.h>
13#include <platform_def.h>
14#include <versal_def.h>
15#include <lib/bakery_lock.h>
16#include "pm_client.h"
17
18DEFINE_BAKERY_LOCK(pm_client_secure_lock);
19
20static const struct pm_ipi apu_ipi = {
21 .local_ipi_id = IPI_ID_APU,
22 .remote_ipi_id = IPI_ID_PMC,
23 .buffer_base = IPI_BUFFER_APU_BASE,
24};
25
26/* Order in pm_procs_all array must match cpu ids */
27static const struct pm_proc pm_procs_all[] = {
28 {
29 .node_id = XPM_DEVID_ACPU_0,
30 .ipi = &apu_ipi,
31 },
32 {
33 .node_id = XPM_DEVID_ACPU_1,
34 .ipi = &apu_ipi,
35 }
36};
37
38const struct pm_proc *primary_proc = &pm_procs_all[0];