1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2015-2018, Arm Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #include <plat/common/platform.h> 8*91f16700Schasinglulu 9*91f16700Schasinglulu #include <plat_private.h> 10*91f16700Schasinglulu 11*91f16700Schasinglulu int32_t plat_core_pos_by_mpidr(u_register_t mpidr) 12*91f16700Schasinglulu { 13*91f16700Schasinglulu if (mpidr & MPIDR_CLUSTER_MASK) { 14*91f16700Schasinglulu return -1; 15*91f16700Schasinglulu } 16*91f16700Schasinglulu 17*91f16700Schasinglulu if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT) { 18*91f16700Schasinglulu return -1; 19*91f16700Schasinglulu } 20*91f16700Schasinglulu 21*91f16700Schasinglulu return zynqmp_calc_core_pos(mpidr); 22*91f16700Schasinglulu } 23