xref: /rk3399_ARM-atf/plat/xilinx/zynqmp/plat_zynqmp.c (revision fffde230ba23ae55c1f8a83310f4d7972088c0d2)
1c8284409SSoren Brinkmann /*
2619bc13eSMichal Simek  * Copyright (c) 2015-2018, Arm Limited and Contributors. All rights reserved.
3c8284409SSoren Brinkmann  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
5c8284409SSoren Brinkmann  */
6c8284409SSoren Brinkmann 
709d40e0eSAntonio Nino Diaz #include <plat/common/platform.h>
809d40e0eSAntonio Nino Diaz 
901a326abSPrasad Kummari #include <plat_private.h>
1001a326abSPrasad Kummari 
plat_core_pos_by_mpidr(u_register_t mpidr)11ffa91031SVenkatesh Yadav Abbarapu int32_t plat_core_pos_by_mpidr(u_register_t mpidr)
12c8284409SSoren Brinkmann {
13*3f6d4794SMaheedhar Bollapalli 	int32_t core_pos = -1;
14*3f6d4794SMaheedhar Bollapalli 
15*3f6d4794SMaheedhar Bollapalli 	if (((mpidr & MPIDR_CLUSTER_MASK) == 0U) &&
16*3f6d4794SMaheedhar Bollapalli 		((mpidr & MPIDR_CPU_MASK) < PLATFORM_CORE_COUNT)) {
17*3f6d4794SMaheedhar Bollapalli 		core_pos = (int32_t)zynqmp_calc_core_pos(mpidr);
18e43258faSVenkatesh Yadav Abbarapu 	}
19c8284409SSoren Brinkmann 
20*3f6d4794SMaheedhar Bollapalli 	return core_pos;
21c8284409SSoren Brinkmann }
22