Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 1 | /* |
Michal Simek | 2a47faa | 2023-04-14 08:43:51 +0200 | [diff] [blame] | 2 | * Copyright (c) 2014-2020, Arm Limited and Contributors. All rights reserved. |
Prasad Kummari | eeef80d | 2023-05-11 14:58:13 +0530 | [diff] [blame] | 3 | * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved. |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 4 | * |
dp-arm | fa3cf0b | 2017-05-03 09:38:09 +0100 | [diff] [blame] | 5 | * SPDX-License-Identifier: BSD-3-Clause |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 6 | */ |
| 7 | |
Jolly Shah | 0bfd700 | 2019-01-08 11:10:47 -0800 | [diff] [blame] | 8 | #ifndef PLAT_PRIVATE_H |
| 9 | #define PLAT_PRIVATE_H |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 10 | |
Antonio Nino Diaz | ea3c4de | 2018-10-17 16:46:41 +0100 | [diff] [blame] | 11 | #include <stdint.h> |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 12 | |
Antonio Nino Diaz | e0f9063 | 2018-12-14 00:18:21 +0000 | [diff] [blame] | 13 | #include <bl31/interrupt_mgmt.h> |
| 14 | #include <common/bl_common.h> |
Ambroise Vincent | 53f193f | 2019-05-29 11:46:08 +0100 | [diff] [blame] | 15 | #include <drivers/cadence/cdns_uart.h> |
Prasad Kummari | 0b37714 | 2023-10-26 16:32:26 +0530 | [diff] [blame] | 16 | #include <lib/xlat_tables/xlat_tables.h> |
Antonio Nino Diaz | e0f9063 | 2018-12-14 00:18:21 +0000 | [diff] [blame] | 17 | |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 18 | void zynqmp_config_setup(void); |
| 19 | |
Prasad Kummari | 0b37714 | 2023-10-26 16:32:26 +0530 | [diff] [blame] | 20 | const mmap_region_t *plat_get_mmap(void); |
| 21 | |
Venkatesh Yadav Abbarapu | e7c4538 | 2022-05-19 14:49:49 +0530 | [diff] [blame] | 22 | uint32_t zynqmp_calc_core_pos(u_register_t mpidr); |
Antonio Nino Diaz | ea3c4de | 2018-10-17 16:46:41 +0100 | [diff] [blame] | 23 | |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 24 | /* ZynqMP specific functions */ |
Michal Simek | c56e548 | 2023-09-27 13:58:06 +0200 | [diff] [blame] | 25 | uint32_t get_uart_clk(void); |
Venkatesh Yadav Abbarapu | e7c4538 | 2022-05-19 14:49:49 +0530 | [diff] [blame] | 26 | uint32_t zynqmp_get_bootmode(void); |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 27 | |
Siva Durga Prasad Paladugu | efd431b | 2018-04-30 20:12:12 +0530 | [diff] [blame] | 28 | #if ZYNQMP_WDT_RESTART |
Prasad Kummari | eeef80d | 2023-05-11 14:58:13 +0530 | [diff] [blame] | 29 | typedef struct zynqmp_intr_info_type_el3 { |
| 30 | uint32_t id; |
| 31 | interrupt_type_handler_t handler; |
| 32 | } zynmp_intr_info_type_el3_t; |
| 33 | |
Siva Durga Prasad Paladugu | efd431b | 2018-04-30 20:12:12 +0530 | [diff] [blame] | 34 | /* |
| 35 | * Register handler to specific GIC entrance |
| 36 | * for INTR_TYPE_EL3 type of interrupt |
| 37 | */ |
| 38 | int request_intr_type_el3(uint32_t, interrupt_type_handler_t); |
| 39 | #endif |
| 40 | |
Jolly Shah | 0bfd700 | 2019-01-08 11:10:47 -0800 | [diff] [blame] | 41 | #endif /* PLAT_PRIVATE_H */ |