xref: /rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c (revision 619bc13eda5b69a8c1e76b5fc0c6ee1f5dbb8a8e)
1f91c3cb1SSiva Durga Prasad Paladugu /*
2*619bc13eSMichal 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 
7d4821739STejas Patel #include <plat_private.h>
809d40e0eSAntonio Nino Diaz #include <plat/common/platform.h>
909d40e0eSAntonio Nino Diaz 
10912b7a6fSVenkatesh Yadav Abbarapu int32_t plat_core_pos_by_mpidr(u_register_t mpidr)
11f91c3cb1SSiva Durga Prasad Paladugu {
12a62c40d4SAbhyuday Godhasara 	if ((mpidr & MPIDR_CLUSTER_MASK) != 0U) {
13f91c3cb1SSiva Durga Prasad Paladugu 		return -1;
14e43258faSVenkatesh Yadav Abbarapu 	}
15f91c3cb1SSiva Durga Prasad Paladugu 
16e43258faSVenkatesh Yadav Abbarapu 	if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT) {
17f91c3cb1SSiva Durga Prasad Paladugu 		return -1;
18e43258faSVenkatesh Yadav Abbarapu 	}
19f91c3cb1SSiva Durga Prasad Paladugu 
20912b7a6fSVenkatesh Yadav Abbarapu 	return (int32_t)versal_calc_core_pos(mpidr);
21f91c3cb1SSiva Durga Prasad Paladugu }
22