xref: /rk3399_ARM-atf/plat/qemu/common/qemu_private.h (revision 5e690269d579d9461be3c5f5e3f59d4c666863a0)
1301d27d9SRadoslaw Biernacki /*
2*5e690269SRuchika 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);
29301d27d9SRadoslaw Biernacki unsigned int plat_qemu_calc_core_pos(u_register_t mpidr);
30301d27d9SRadoslaw Biernacki 
31301d27d9SRadoslaw Biernacki void qemu_console_init(void);
32301d27d9SRadoslaw Biernacki 
33301d27d9SRadoslaw Biernacki void plat_qemu_gic_init(void);
34301d27d9SRadoslaw Biernacki void qemu_pwr_gic_on_finish(void);
3533e8c569SAndrew Walbran void qemu_pwr_gic_off(void);
36301d27d9SRadoslaw Biernacki 
37*5e690269SRuchika Gupta int qemu_set_tos_fw_info(uintptr_t config_base, uintptr_t log_addr,
38*5e690269SRuchika Gupta 			size_t log_size);
39*5e690269SRuchika Gupta 
40*5e690269SRuchika Gupta int qemu_set_nt_fw_info(
41*5e690269SRuchika Gupta /*
42*5e690269SRuchika Gupta  * Currently OP-TEE does not support reading DTBs from Secure memory
43*5e690269SRuchika Gupta  * and this option should be removed when feature is supported.
44*5e690269SRuchika Gupta  */
45*5e690269SRuchika Gupta #ifdef SPD_opteed
46*5e690269SRuchika Gupta 			uintptr_t log_addr,
47*5e690269SRuchika Gupta #endif
48*5e690269SRuchika Gupta 			size_t log_size,
49*5e690269SRuchika Gupta 			uintptr_t *ns_log_addr);
50*5e690269SRuchika Gupta 
51301d27d9SRadoslaw Biernacki #endif /* QEMU_PRIVATE_H */
52