Home | History | Annotate | Download | only in aarch64
      1 /*
      2  * Copyright (c) 2014-2017, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 #include <assert.h>
      7 #include <console.h>
      8 #include <platform.h>
      9 #include <xlat_mmu_helpers.h>
     10 
     11 /*
     12  * The following platform setup functions are weakly defined. They
     13  * provide typical implementations that may be re-used by multiple
     14  * platforms but may also be overridden by a platform if required.
     15  */
     16 #pragma weak bl31_plat_enable_mmu
     17 #pragma weak bl32_plat_enable_mmu
     18 #pragma weak bl31_plat_runtime_setup
     19 #if !ERROR_DEPRECATED
     20 #pragma weak plat_get_syscnt_freq2
     21 #endif /* ERROR_DEPRECATED */
     22 
     23 void bl31_plat_enable_mmu(uint32_t flags)
     24 {
     25 	enable_mmu_el3(flags);
     26 }
     27 
     28 void bl32_plat_enable_mmu(uint32_t flags)
     29 {
     30 	enable_mmu_el1(flags);
     31 }
     32 
     33 void bl31_plat_runtime_setup(void)
     34 {
     35 	/*
     36 	 * Finish the use of console driver in BL31 so that any runtime logs
     37 	 * from BL31 will be suppressed.
     38 	 */
     39 	console_uninit();
     40 }
     41 
     42 #if !ENABLE_PLAT_COMPAT
     43 /*
     44  * Helper function for platform_get_pos() when platform compatibility is
     45  * disabled. This is to enable SPDs using the older platform API to continue
     46  * to work.
     47  */
     48 unsigned int platform_core_pos_helper(unsigned long mpidr)
     49 {
     50 	int idx = plat_core_pos_by_mpidr(mpidr);
     51 	assert(idx >= 0);
     52 	return idx;
     53 }
     54 #endif
     55 
     56 
     57 #if !ERROR_DEPRECATED
     58 unsigned int plat_get_syscnt_freq2(void)
     59 {
     60 	unsigned long long freq = plat_get_syscnt_freq();
     61 
     62 	assert(freq >> 32 == 0);
     63 
     64 	return (unsigned int)freq;
     65 }
     66 #endif /* ERROR_DEPRECATED */
     67