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