blob: dbce0e4247138b46585fbed76bacdc77d53cfc3a [file] [log] [blame]
Madhukar Pappireddyae9677b2020-01-27 13:37:51 -06001/*
2 * Copyright (c) 2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef FCONF_HW_CONFIG_GETTER_H
8#define FCONF_HW_CONFIG_GETTER_H
9
10#include <lib/fconf/fconf.h>
11
12/* Hardware Config related getter */
13#define hw_config__gicv3_config_getter(prop) gicv3_config.prop
14
Madhukar Pappireddy26b945c2019-12-27 12:02:34 -060015#define hw_config__topology_getter(prop) soc_topology.prop
16
Madhukar Pappireddyae9677b2020-01-27 13:37:51 -060017struct gicv3_config_t {
laurenw-armdc5e9a22020-05-12 10:58:11 -050018 uint64_t gicd_base;
19 uint64_t gicr_base;
Madhukar Pappireddyae9677b2020-01-27 13:37:51 -060020};
21
Madhukar Pappireddy26b945c2019-12-27 12:02:34 -060022struct hw_topology_t {
23 uint32_t plat_cluster_count;
24 uint32_t cluster_cpu_count;
25 uint32_t plat_cpu_count;
26 uint32_t plat_max_pwr_level;
27};
28
Madhukar Pappireddyae9677b2020-01-27 13:37:51 -060029int fconf_populate_gicv3_config(uintptr_t config);
Madhukar Pappireddy26b945c2019-12-27 12:02:34 -060030int fconf_populate_topology(uintptr_t config);
Madhukar Pappireddyae9677b2020-01-27 13:37:51 -060031
32extern struct gicv3_config_t gicv3_config;
Madhukar Pappireddy26b945c2019-12-27 12:02:34 -060033extern struct hw_topology_t soc_topology;
Madhukar Pappireddyae9677b2020-01-27 13:37:51 -060034
35#endif /* FCONF_HW_CONFIG_GETTER_H */