Madhukar Pappireddy | ae9677b | 2020-01-27 13:37:51 -0600 | [diff] [blame] | 1 | /* |
| 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 |
Madhukar Pappireddy | 26b945c | 2019-12-27 12:02:34 -0600 | [diff] [blame] | 14 | #define hw_config__topology_getter(prop) soc_topology.prop |
Madhukar Pappireddy | 361c1b3 | 2020-03-24 10:03:34 -0500 | [diff] [blame] | 15 | #define hw_config__uart_serial_config_getter(prop) uart_serial_config.prop |
laurenw-arm | fc3e7a2 | 2020-02-06 11:42:18 -0600 | [diff] [blame] | 16 | #define hw_config__cpu_timer_getter(prop) cpu_timer.prop |
Madhukar Pappireddy | 361c1b3 | 2020-03-24 10:03:34 -0500 | [diff] [blame] | 17 | |
Madhukar Pappireddy | ae9677b | 2020-01-27 13:37:51 -0600 | [diff] [blame] | 18 | struct gicv3_config_t { |
laurenw-arm | dc5e9a2 | 2020-05-12 10:58:11 -0500 | [diff] [blame] | 19 | uint64_t gicd_base; |
| 20 | uint64_t gicr_base; |
Madhukar Pappireddy | ae9677b | 2020-01-27 13:37:51 -0600 | [diff] [blame] | 21 | }; |
| 22 | |
Madhukar Pappireddy | 26b945c | 2019-12-27 12:02:34 -0600 | [diff] [blame] | 23 | struct hw_topology_t { |
| 24 | uint32_t plat_cluster_count; |
| 25 | uint32_t cluster_cpu_count; |
| 26 | uint32_t plat_cpu_count; |
| 27 | uint32_t plat_max_pwr_level; |
| 28 | }; |
| 29 | |
Madhukar Pappireddy | 361c1b3 | 2020-03-24 10:03:34 -0500 | [diff] [blame] | 30 | struct uart_serial_config_t { |
| 31 | uint64_t uart_base; |
| 32 | uint32_t uart_clk; |
| 33 | }; |
| 34 | |
laurenw-arm | fc3e7a2 | 2020-02-06 11:42:18 -0600 | [diff] [blame] | 35 | struct cpu_timer_t { |
| 36 | uint32_t clock_freq; |
| 37 | }; |
| 38 | |
Madhukar Pappireddy | ae9677b | 2020-01-27 13:37:51 -0600 | [diff] [blame] | 39 | int fconf_populate_gicv3_config(uintptr_t config); |
Madhukar Pappireddy | 26b945c | 2019-12-27 12:02:34 -0600 | [diff] [blame] | 40 | int fconf_populate_topology(uintptr_t config); |
Madhukar Pappireddy | 361c1b3 | 2020-03-24 10:03:34 -0500 | [diff] [blame] | 41 | int fconf_populate_uart_config(uintptr_t config); |
laurenw-arm | fc3e7a2 | 2020-02-06 11:42:18 -0600 | [diff] [blame] | 42 | int fconf_populate_cpu_timer(uintptr_t config); |
Madhukar Pappireddy | ae9677b | 2020-01-27 13:37:51 -0600 | [diff] [blame] | 43 | |
| 44 | extern struct gicv3_config_t gicv3_config; |
Madhukar Pappireddy | 26b945c | 2019-12-27 12:02:34 -0600 | [diff] [blame] | 45 | extern struct hw_topology_t soc_topology; |
Madhukar Pappireddy | 361c1b3 | 2020-03-24 10:03:34 -0500 | [diff] [blame] | 46 | extern struct uart_serial_config_t uart_serial_config; |
laurenw-arm | fc3e7a2 | 2020-02-06 11:42:18 -0600 | [diff] [blame] | 47 | extern struct cpu_timer_t cpu_timer; |
Madhukar Pappireddy | ae9677b | 2020-01-27 13:37:51 -0600 | [diff] [blame] | 48 | #endif /* FCONF_HW_CONFIG_GETTER_H */ |