xref: /rk3399_ARM-atf/plat/qemu/common/qemu_private.h (revision 36802e2c792f79ab630b53298dfd4f1e5a95d173)
1301d27d9SRadoslaw Biernacki /*
25e690269SRuchika Gupta  * Copyright (c) 2015-2022, ARM Limited and Contributors. All rights reserved.
3301d27d9SRadoslaw Biernacki  *
4301d27d9SRadoslaw Biernacki  * SPDX-License-Identifier: BSD-3-Clause
5301d27d9SRadoslaw Biernacki  */
6301d27d9SRadoslaw Biernacki 
7301d27d9SRadoslaw Biernacki #ifndef QEMU_PRIVATE_H
8301d27d9SRadoslaw Biernacki #define QEMU_PRIVATE_H
9301d27d9SRadoslaw Biernacki 
10301d27d9SRadoslaw Biernacki #include <stdint.h>
11301d27d9SRadoslaw Biernacki 
12301d27d9SRadoslaw Biernacki void qemu_configure_mmu_svc_mon(unsigned long total_base,
13301d27d9SRadoslaw Biernacki 			unsigned long total_size,
14301d27d9SRadoslaw Biernacki 			unsigned long code_start, unsigned long code_limit,
15301d27d9SRadoslaw Biernacki 			unsigned long ro_start, unsigned long ro_limit,
16301d27d9SRadoslaw Biernacki 			unsigned long coh_start, unsigned long coh_limit);
17301d27d9SRadoslaw Biernacki 
18301d27d9SRadoslaw Biernacki void qemu_configure_mmu_el1(unsigned long total_base, unsigned long total_size,
19301d27d9SRadoslaw Biernacki 			unsigned long code_start, unsigned long code_limit,
20301d27d9SRadoslaw Biernacki 			unsigned long ro_start, unsigned long ro_limit,
21301d27d9SRadoslaw Biernacki 			unsigned long coh_start, unsigned long coh_limit);
22301d27d9SRadoslaw Biernacki 
23301d27d9SRadoslaw Biernacki void qemu_configure_mmu_el3(unsigned long total_base, unsigned long total_size,
24301d27d9SRadoslaw Biernacki 			unsigned long code_start, unsigned long code_limit,
25301d27d9SRadoslaw Biernacki 			unsigned long ro_start, unsigned long ro_limit,
26301d27d9SRadoslaw Biernacki 			unsigned long coh_start, unsigned long coh_limit);
27301d27d9SRadoslaw Biernacki 
28301d27d9SRadoslaw Biernacki void plat_qemu_io_setup(void);
29*36802e2cSJens Wiklander int qemu_io_register_sp_pkg(const char *name, const char *uuid,
30*36802e2cSJens Wiklander 			    uintptr_t load_addr);
31301d27d9SRadoslaw Biernacki unsigned int plat_qemu_calc_core_pos(u_register_t mpidr);
32301d27d9SRadoslaw Biernacki 
33301d27d9SRadoslaw Biernacki void qemu_console_init(void);
34301d27d9SRadoslaw Biernacki 
35301d27d9SRadoslaw Biernacki void plat_qemu_gic_init(void);
36301d27d9SRadoslaw Biernacki void qemu_pwr_gic_on_finish(void);
3733e8c569SAndrew Walbran void qemu_pwr_gic_off(void);
38301d27d9SRadoslaw Biernacki 
395e690269SRuchika Gupta int qemu_set_tos_fw_info(uintptr_t config_base, uintptr_t log_addr,
405e690269SRuchika Gupta 			size_t log_size);
415e690269SRuchika Gupta 
425e690269SRuchika Gupta int qemu_set_nt_fw_info(
435e690269SRuchika Gupta /*
445e690269SRuchika Gupta  * Currently OP-TEE does not support reading DTBs from Secure memory
455e690269SRuchika Gupta  * and this option should be removed when feature is supported.
465e690269SRuchika Gupta  */
475e690269SRuchika Gupta #ifdef SPD_opteed
485e690269SRuchika Gupta 			uintptr_t log_addr,
495e690269SRuchika Gupta #endif
505e690269SRuchika Gupta 			size_t log_size,
515e690269SRuchika Gupta 			uintptr_t *ns_log_addr);
525e690269SRuchika Gupta 
53301d27d9SRadoslaw Biernacki #endif /* QEMU_PRIVATE_H */
54