Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 1 | /* |
Antonio Nino Diaz | bde25ae | 2018-10-17 16:46:41 +0100 | [diff] [blame] | 2 | * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 3 | * |
dp-arm | 82cb2c1 | 2017-05-03 09:38:09 +0100 | [diff] [blame] | 4 | * SPDX-License-Identifier: BSD-3-Clause |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 5 | */ |
6 | |||||
Jolly Shah | 31c3842 | 2019-01-08 11:10:47 -0800 | [diff] [blame] | 7 | #include <plat_private.h> |
Antonio Nino Diaz | 09d40e0 | 2018-12-14 00:18:21 +0000 | [diff] [blame] | 8 | #include <plat/common/platform.h> |
9 | |||||
Venkatesh Yadav Abbarapu | ffa9103 | 2022-05-19 14:49:49 +0530 | [diff] [blame] | 10 | int32_t plat_core_pos_by_mpidr(u_register_t mpidr) |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 11 | { |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 12 | if (mpidr & MPIDR_CLUSTER_MASK) { |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 13 | return -1; |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 14 | } |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 15 | |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 16 | if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT) { |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 17 | return -1; |
Venkatesh Yadav Abbarapu | e43258f | 2021-01-10 20:40:16 -0700 | [diff] [blame] | 18 | } |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 19 | |
Antonio Nino Diaz | bde25ae | 2018-10-17 16:46:41 +0100 | [diff] [blame] | 20 | return zynqmp_calc_core_pos(mpidr); |
Soren Brinkmann | c828440 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 21 | } |