xref: /rk3399_ARM-atf/plat/xilinx/versal/plat_versal.c (revision 09d40e0e08283a249e7dce0e106c07c5141f9b7e)
1f91c3cb1SSiva Durga Prasad Paladugu /*
2f91c3cb1SSiva Durga Prasad Paladugu  * Copyright (c) 2018, 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  */
6*09d40e0eSAntonio Nino Diaz 
7*09d40e0eSAntonio Nino Diaz #include <plat/common/platform.h>
8*09d40e0eSAntonio Nino Diaz 
9f91c3cb1SSiva Durga Prasad Paladugu #include "versal_private.h"
10f91c3cb1SSiva Durga Prasad Paladugu 
11f91c3cb1SSiva Durga Prasad Paladugu int plat_core_pos_by_mpidr(u_register_t mpidr)
12f91c3cb1SSiva Durga Prasad Paladugu {
13f91c3cb1SSiva Durga Prasad Paladugu 	if (mpidr & MPIDR_CLUSTER_MASK)
14f91c3cb1SSiva Durga Prasad Paladugu 		return -1;
15f91c3cb1SSiva Durga Prasad Paladugu 
16f91c3cb1SSiva Durga Prasad Paladugu 	if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT)
17f91c3cb1SSiva Durga Prasad Paladugu 		return -1;
18f91c3cb1SSiva Durga Prasad Paladugu 
19f91c3cb1SSiva Durga Prasad Paladugu 	return versal_calc_core_pos(mpidr);
20f91c3cb1SSiva Durga Prasad Paladugu }
21