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> |
Antonio Nino Diaz | e0f9063 | 2018-12-14 00:18:21 +0000 | [diff] [blame] | 16 | |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 17 | void zynqmp_config_setup(void); |
| 18 | |
Venkatesh Yadav Abbarapu | e7c4538 | 2022-05-19 14:49:49 +0530 | [diff] [blame] | 19 | uint32_t zynqmp_calc_core_pos(u_register_t mpidr); |
Antonio Nino Diaz | ea3c4de | 2018-10-17 16:46:41 +0100 | [diff] [blame] | 20 | |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 21 | /* ZynqMP specific functions */ |
Michal Simek | c56e548 | 2023-09-27 13:58:06 +0200 | [diff] [blame^] | 22 | uint32_t get_uart_clk(void); |
Venkatesh Yadav Abbarapu | e7c4538 | 2022-05-19 14:49:49 +0530 | [diff] [blame] | 23 | uint32_t zynqmp_get_bootmode(void); |
Soren Brinkmann | 76fcae3 | 2016-03-06 20:16:27 -0800 | [diff] [blame] | 24 | |
Siva Durga Prasad Paladugu | efd431b | 2018-04-30 20:12:12 +0530 | [diff] [blame] | 25 | #if ZYNQMP_WDT_RESTART |
Prasad Kummari | eeef80d | 2023-05-11 14:58:13 +0530 | [diff] [blame] | 26 | typedef struct zynqmp_intr_info_type_el3 { |
| 27 | uint32_t id; |
| 28 | interrupt_type_handler_t handler; |
| 29 | } zynmp_intr_info_type_el3_t; |
| 30 | |
Siva Durga Prasad Paladugu | efd431b | 2018-04-30 20:12:12 +0530 | [diff] [blame] | 31 | /* |
| 32 | * Register handler to specific GIC entrance |
| 33 | * for INTR_TYPE_EL3 type of interrupt |
| 34 | */ |
| 35 | int request_intr_type_el3(uint32_t, interrupt_type_handler_t); |
| 36 | #endif |
| 37 | |
Jolly Shah | 0bfd700 | 2019-01-08 11:10:47 -0800 | [diff] [blame] | 38 | #endif /* PLAT_PRIVATE_H */ |