Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 1 | /* |
Michal Simek | 619bc13 | 2023-04-14 08:43:51 +0200 | [diff] [blame] | 2 | * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved. |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | */ |
Antonio Nino Diaz | 09d40e0 | 2018-12-14 00:18:21 +0000 | [diff] [blame] | 6 | |
| 7 | #include <plat/common/platform.h> |
| 8 | |
Prasad Kummari | 01a326a | 2023-06-22 10:50:02 +0530 | [diff] [blame] | 9 | #include <plat_private.h> |
| 10 | |
Venkatesh Yadav Abbarapu | 912b7a6 | 2022-05-24 11:11:12 +0530 | [diff] [blame] | 11 | int32_t plat_core_pos_by_mpidr(u_register_t mpidr) |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 12 | { |
Abhyuday Godhasara | a62c40d | 2021-08-20 00:27:03 -0700 | [diff] [blame] | 13 | if ((mpidr & MPIDR_CLUSTER_MASK) != 0U) { |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 14 | return -1; |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 15 | } |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 16 | |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 17 | if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT) { |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 18 | return -1; |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 19 | } |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 20 | |
Venkatesh Yadav Abbarapu | 912b7a6 | 2022-05-24 11:11:12 +0530 | [diff] [blame] | 21 | return (int32_t)versal_calc_core_pos(mpidr); |
Siva Durga Prasad Paladugu | f91c3cb | 2018-09-25 18:44:58 +0530 | [diff] [blame] | 22 | } |