blob: abd90904d75a5788fb771da5303e918ec6b883d8 [file] [log] [blame]
Sumit Garg4d4df112018-06-15 14:43:35 +05301/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef SQ_COMMON_H
8#define SQ_COMMON_H
Sumit Garg4d4df112018-06-15 14:43:35 +05309
Antonio Nino Diaz4b32e622018-08-16 16:52:57 +010010#include <stdint.h>
Antonio Nino Diaze0f90632018-12-14 00:18:21 +000011
12#include <lib/xlat_tables/xlat_tables_v2.h>
Sumit Garg4d4df112018-06-15 14:43:35 +053013
Ard Biesheuvel6fc122f2018-06-15 15:25:42 +053014struct draminfo {
15 uint32_t num_regions;
16 uint32_t reserved;
17 uint64_t base1;
18 uint64_t size1;
19 uint64_t base2;
20 uint64_t size2;
21 uint64_t base3;
22 uint64_t size3;
23};
24
25uint32_t scpi_get_draminfo(struct draminfo *info);
26
Sumit Gargfe717612018-06-15 15:17:10 +053027void plat_sq_pwrc_setup(void);
28
Sumit Gargbda9d3c2018-06-15 14:50:19 +053029void plat_sq_interconnect_init(void);
30void plat_sq_interconnect_enter_coherency(void);
31void plat_sq_interconnect_exit_coherency(void);
32
Sumit Garg4d4df112018-06-15 14:43:35 +053033unsigned int sq_calc_core_pos(u_register_t mpidr);
34
Sumit Gargc412c2c2018-06-15 14:58:25 +053035void sq_gic_driver_init(void);
36void sq_gic_init(void);
37void sq_gic_cpuif_enable(void);
38void sq_gic_cpuif_disable(void);
39void sq_gic_pcpu_init(void);
40
Sumit Garg470255b2018-06-15 15:10:16 +053041void sq_mmap_setup(uintptr_t total_base, size_t total_size,
42 const struct mmap_region *mmap);
43
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000044#endif /* SQ_COMMON_H */