1/* SPDX-License-Identifier: BSD-2-Clause */
2/*
3 * Copyright (c) 2014, STMicroelectronics International N.V.
4 */
5
6#include <asm.S>
7#include <arm.h>
8#include <arm32_macros.S>
9
10/* For Juno number the two A57s as 4 to 5 and A53s as 0 to 3 */
11FUNC get_core_pos_mpidr , :
12	/* Calculate CorePos = ((ClusterId ^ 1) * 4) + CoreId */
13	and	r1, r0, #MPIDR_CPU_MASK
14	and	r0, r0, #MPIDR_CLUSTER_MASK
15	eor	r0, r0, #(1 << MPIDR_CLUSTER_SHIFT)
16	add	r0, r1, r0, LSR #6
17	bx	lr
18END_FUNC get_core_pos_mpidr
19
20