44 lines
972 B
C
44 lines
972 B
C
/*
|
|
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef SGM_PLAT_CONFIG_H
|
|
#define SGM_PLAT_CONFIG_H
|
|
|
|
#include <drivers/arm/ccn.h>
|
|
#include <drivers/arm/gicv3.h>
|
|
|
|
/* The type of interconnect */
|
|
typedef enum {
|
|
ARM_CCI = 0,
|
|
ARM_CCN,
|
|
ARM_CMN
|
|
} css_inteconn_type_t;
|
|
|
|
typedef ccn_desc_t inteconn_desc_t;
|
|
|
|
/* Interconnect configurations */
|
|
typedef struct css_inteconn_config {
|
|
css_inteconn_type_t ip_type;
|
|
const inteconn_desc_t *plat_inteconn_desc;
|
|
} css_inteconn_config_t;
|
|
|
|
/* Topology configurations */
|
|
typedef struct css_topology {
|
|
const unsigned char *power_tree;
|
|
unsigned int plat_cluster_core_count;
|
|
} css_topology_t;
|
|
|
|
typedef struct css_plat_config {
|
|
const gicv3_driver_data_t *gic_data;
|
|
const css_inteconn_config_t *inteconn;
|
|
const css_topology_t *topology;
|
|
} css_plat_config_t;
|
|
|
|
void plat_config_init(void);
|
|
css_plat_config_t *get_plat_config(void);
|
|
|
|
#endif /* SGM_PLAT_CONFIG_H */
|