blob: 75abeffb25d5d125f08fbf03c8623044f17a898b [file] [log] [blame]
Nariman Poushinc703f902018-03-07 10:29:57 +00001/*
2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __SGM_PLAT_CONFIG_H__
8#define __SGM_PLAT_CONFIG_H__
9
Nariman Poushinc703f902018-03-07 10:29:57 +000010#include <ccn.h>
11#include <gicv3.h>
12
13/* The type of interconnect */
14typedef enum {
15 ARM_CCI = 0,
16 ARM_CCN,
17 ARM_CMN
18} css_inteconn_type_t;
19
20typedef ccn_desc_t inteconn_desc_t;
21
22/* Interconnect configurations */
23typedef struct css_inteconn_config {
24 css_inteconn_type_t ip_type;
25 const inteconn_desc_t *plat_inteconn_desc;
26} css_inteconn_config_t;
27
28/* Topology configurations */
29typedef struct css_topology {
30 const unsigned char *power_tree;
31 unsigned int plat_cluster_core_count;
32} css_topology_t;
33
34typedef struct css_plat_config {
35 const gicv3_driver_data_t *gic_data;
36 const css_inteconn_config_t *inteconn;
37 const css_topology_t *topology;
38} css_plat_config_t;
39
40void plat_config_init(void);
41css_plat_config_t *get_plat_config(void);
42#endif /* __SGM_PLAT_CONFIG_H__ */