16fba6e04STony Xie /* 26fba6e04STony Xie * Copyright (c) 2013-2016, ARM Limited and Contributors. All rights reserved. 36fba6e04STony Xie * 4*82cb2c1aSdp-arm * SPDX-License-Identifier: BSD-3-Clause 56fba6e04STony Xie */ 66fba6e04STony Xie 76fba6e04STony Xie #include <arch.h> 86fba6e04STony Xie #include <platform_def.h> 96fba6e04STony Xie #include <plat_private.h> 106fba6e04STony Xie #include <psci.h> 116fba6e04STony Xie 126fba6e04STony Xie /******************************************************************************* 136fba6e04STony Xie * This function returns the RockChip default topology tree information. 146fba6e04STony Xie ******************************************************************************/ 156fba6e04STony Xie const unsigned char *plat_get_power_domain_tree_desc(void) 166fba6e04STony Xie { 176fba6e04STony Xie return rockchip_power_domain_tree_desc; 186fba6e04STony Xie } 196fba6e04STony Xie 206fba6e04STony Xie int plat_core_pos_by_mpidr(u_register_t mpidr) 216fba6e04STony Xie { 226fba6e04STony Xie unsigned int cluster_id, cpu_id; 236fba6e04STony Xie 249ec78bdfSTony Xie cpu_id = mpidr & MPIDR_AFFLVL_MASK; 259ec78bdfSTony Xie cluster_id = mpidr & MPIDR_CLUSTER_MASK; 266fba6e04STony Xie 279ec78bdfSTony Xie cpu_id += (cluster_id >> PLAT_RK_CLST_TO_CPUID_SHIFT); 289ec78bdfSTony Xie 299ec78bdfSTony Xie if (cpu_id >= PLATFORM_CORE_COUNT) 306fba6e04STony Xie return -1; 316fba6e04STony Xie 329ec78bdfSTony Xie return cpu_id; 336fba6e04STony Xie } 34