xref: /rk3399_ARM-atf/plat/xilinx/zynqmp/plat_zynqmp.c (revision e43258fa0055b3d9b22be63dbe7ea9dd9ffc794f)
1c8284409SSoren Brinkmann /*
2bde25ae2SAntonio Nino Diaz  * 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 
731c3842eSJolly Shah #include <plat_private.h>
809d40e0eSAntonio Nino Diaz #include <plat/common/platform.h>
909d40e0eSAntonio Nino Diaz 
10c8284409SSoren Brinkmann int plat_core_pos_by_mpidr(u_register_t mpidr)
11c8284409SSoren Brinkmann {
12*e43258faSVenkatesh Yadav Abbarapu 	if (mpidr & MPIDR_CLUSTER_MASK) {
13c8284409SSoren Brinkmann 		return -1;
14*e43258faSVenkatesh Yadav Abbarapu 	}
15c8284409SSoren Brinkmann 
16*e43258faSVenkatesh Yadav Abbarapu 	if ((mpidr & MPIDR_CPU_MASK) >= PLATFORM_CORE_COUNT) {
17c8284409SSoren Brinkmann 		return -1;
18*e43258faSVenkatesh Yadav Abbarapu 	}
19c8284409SSoren Brinkmann 
20bde25ae2SAntonio Nino Diaz 	return zynqmp_calc_core_pos(mpidr);
21c8284409SSoren Brinkmann }
22