1d8e919c7SMasahiro Yamada /* 2d8e919c7SMasahiro Yamada * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved. 3d8e919c7SMasahiro Yamada * 4d8e919c7SMasahiro Yamada * SPDX-License-Identifier: BSD-3-Clause 5d8e919c7SMasahiro Yamada */ 6d8e919c7SMasahiro Yamada 7d8e919c7SMasahiro Yamada #include <arch.h> 8*09d40e0eSAntonio Nino Diaz #include <plat/common/platform.h> 9d8e919c7SMasahiro Yamada 10d8e919c7SMasahiro Yamada #include "uniphier.h" 11d8e919c7SMasahiro Yamada 12d8e919c7SMasahiro Yamada static unsigned char uniphier_power_domain_tree_desc[UNIPHIER_CLUSTER_COUNT + 1]; 13d8e919c7SMasahiro Yamada plat_get_power_domain_tree_desc(void)14d8e919c7SMasahiro Yamadaconst unsigned char *plat_get_power_domain_tree_desc(void) 15d8e919c7SMasahiro Yamada { 16d8e919c7SMasahiro Yamada int i; 17d8e919c7SMasahiro Yamada 18d8e919c7SMasahiro Yamada uniphier_power_domain_tree_desc[0] = UNIPHIER_CLUSTER_COUNT; 19d8e919c7SMasahiro Yamada 20d8e919c7SMasahiro Yamada for (i = 0; i < UNIPHIER_CLUSTER_COUNT; i++) 21d8e919c7SMasahiro Yamada uniphier_power_domain_tree_desc[i + 1] = 22d8e919c7SMasahiro Yamada UNIPHIER_MAX_CPUS_PER_CLUSTER; 23d8e919c7SMasahiro Yamada 24d8e919c7SMasahiro Yamada return uniphier_power_domain_tree_desc; 25d8e919c7SMasahiro Yamada } 26d8e919c7SMasahiro Yamada plat_core_pos_by_mpidr(u_register_t mpidr)27d8e919c7SMasahiro Yamadaint plat_core_pos_by_mpidr(u_register_t mpidr) 28d8e919c7SMasahiro Yamada { 29d8e919c7SMasahiro Yamada unsigned int cluster_id, cpu_id; 30d8e919c7SMasahiro Yamada 31d8e919c7SMasahiro Yamada cluster_id = (mpidr >> MPIDR_AFF1_SHIFT) & MPIDR_AFFLVL_MASK; 32d8e919c7SMasahiro Yamada if (cluster_id >= UNIPHIER_CLUSTER_COUNT) 33d8e919c7SMasahiro Yamada return -1; 34d8e919c7SMasahiro Yamada 35d8e919c7SMasahiro Yamada cpu_id = (mpidr >> MPIDR_AFF0_SHIFT) & MPIDR_AFFLVL_MASK; 36d8e919c7SMasahiro Yamada if (cpu_id >= UNIPHIER_MAX_CPUS_PER_CLUSTER) 37d8e919c7SMasahiro Yamada return -1; 38d8e919c7SMasahiro Yamada 39d8e919c7SMasahiro Yamada return uniphier_calc_core_pos(mpidr); 40d8e919c7SMasahiro Yamada } 41