xref: /rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c (revision 01a326abeb1726b7756ef21a3c7188ca79a30e2e)
1f91c3cb1SSiva Durga Prasad Paladugu /*
2619bc13eSMichal Simek  * Copyright (c) 2018-2021, Arm Limited and Contributors. All rights reserved.
3f91c3cb1SSiva Durga Prasad Paladugu  *
4f91c3cb1SSiva Durga Prasad Paladugu  * SPDX-License-Identifier: BSD-3-Clause
5f91c3cb1SSiva Durga Prasad Paladugu  */
609d40e0eSAntonio Nino Diaz 
709d40e0eSAntonio Nino Diaz #include <plat/common/platform.h>
809d40e0eSAntonio Nino Diaz 
9*01a326abSPrasad Kummari #include <plat_private.h>
10*01a326abSPrasad Kummari 
11912b7a6fSVenkatesh Yadav Abbarapu int32_t plat_core_pos_by_mpidr(u_register_t mpidr)
12f91c3cb1SSiva Durga Prasad Paladugu {
13a62c40d4SAbhyuday Godhasara 	if ((mpidr & MPIDR_CLUSTER_MASK) != 0U) {
14f91c3cb1SSiva Durga Prasad Paladugu 		return -1;
15e43258faSVenkatesh Yadav Abbarapu 	}
16f91c3cb1SSiva Durga Prasad Paladugu 
17e43258faSVenkatesh Yadav Abbarapu 	if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT) {
18f91c3cb1SSiva Durga Prasad Paladugu 		return -1;
19e43258faSVenkatesh Yadav Abbarapu 	}
20f91c3cb1SSiva Durga Prasad Paladugu 
21912b7a6fSVenkatesh Yadav Abbarapu 	return (int32_t)versal_calc_core_pos(mpidr);
22f91c3cb1SSiva Durga Prasad Paladugu }
23