1 /* 2 * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef RPI_SHARED_H 8 #define RPI_SHARED_H 9 10 #include <stdint.h> 11 12 /******************************************************************************* 13 * Function and variable prototypes 14 ******************************************************************************/ 15 16 /* Utility functions */ 17 void rpi3_console_init(void); 18 void rpi3_setup_page_tables(uintptr_t total_base, size_t total_size, 19 uintptr_t code_start, uintptr_t code_limit, 20 uintptr_t rodata_start, uintptr_t rodata_limit 21 #if USE_COHERENT_MEM 22 , uintptr_t coh_start, uintptr_t coh_limit 23 #endif 24 ); 25 26 /* Optional functions required in the Raspberry Pi 3 port */ 27 unsigned int plat_rpi3_calc_core_pos(u_register_t mpidr); 28 29 /* BL2 utility functions */ 30 uint32_t rpi3_get_spsr_for_bl32_entry(void); 31 uint32_t rpi3_get_spsr_for_bl33_entry(void); 32 33 /* IO storage utility functions */ 34 void plat_rpi3_io_setup(void); 35 36 /* VideoCore firmware commands */ 37 int rpi3_vc_hardware_get_board_revision(uint32_t *revision); 38 39 int plat_rpi_get_model(void); 40 41 #endif /* RPI3_PRIVATE_H */ 42