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