blob: 3a4c1720ad146bf580a31278b8b9e78216677cc2 [file] [log] [blame]
Soren Brinkmannc8284402016-03-06 20:16:27 -08001/*
Michal Simek619bc132023-04-14 08:43:51 +02002 * Copyright (c) 2015-2018, Arm Limited and Contributors. All rights reserved.
Soren Brinkmannc8284402016-03-06 20:16:27 -08003 *
dp-arm82cb2c12017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Soren Brinkmannc8284402016-03-06 20:16:27 -08005 */
6
Antonio Nino Diaz09d40e02018-12-14 00:18:21 +00007#include <plat/common/platform.h>
8
Prasad Kummari01a326a2023-06-22 10:50:02 +05309#include <plat_private.h>
10
Venkatesh Yadav Abbarapuffa91032022-05-19 14:49:49 +053011int32_t plat_core_pos_by_mpidr(u_register_t mpidr)
Soren Brinkmannc8284402016-03-06 20:16:27 -080012{
Maheedhar Bollapalli3f6d4792024-11-04 08:44:54 +000013 int32_t core_pos = -1;
14
15 if (((mpidr & MPIDR_CLUSTER_MASK) == 0U) &&
16 ((mpidr & MPIDR_CPU_MASK) < PLATFORM_CORE_COUNT)) {
17 core_pos = (int32_t)zynqmp_calc_core_pos(mpidr);
Venkatesh Yadav Abbarapue43258f2021-01-10 20:40:16 -070018 }
Soren Brinkmannc8284402016-03-06 20:16:27 -080019
Maheedhar Bollapalli3f6d4792024-11-04 08:44:54 +000020 return core_pos;
Soren Brinkmannc8284402016-03-06 20:16:27 -080021}