blob: dda005a454fe943123a64c259d157e1459deb5a8 [file] [log] [blame]
Soren Brinkmann76fcae32016-03-06 20:16:27 -08001/*
Michal Simek2a47faa2023-04-14 08:43:51 +02002 * Copyright (c) 2014-2020, Arm Limited and Contributors. All rights reserved.
Prasad Kummarieeef80d2023-05-11 14:58:13 +05303 * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved.
Soren Brinkmann76fcae32016-03-06 20:16:27 -08004 *
dp-armfa3cf0b2017-05-03 09:38:09 +01005 * SPDX-License-Identifier: BSD-3-Clause
Soren Brinkmann76fcae32016-03-06 20:16:27 -08006 */
7
Jolly Shah0bfd7002019-01-08 11:10:47 -08008#ifndef PLAT_PRIVATE_H
9#define PLAT_PRIVATE_H
Soren Brinkmann76fcae32016-03-06 20:16:27 -080010
Antonio Nino Diazea3c4de2018-10-17 16:46:41 +010011#include <stdint.h>
Soren Brinkmann76fcae32016-03-06 20:16:27 -080012
Antonio Nino Diaze0f90632018-12-14 00:18:21 +000013#include <bl31/interrupt_mgmt.h>
14#include <common/bl_common.h>
Ambroise Vincent53f193f2019-05-29 11:46:08 +010015#include <drivers/cadence/cdns_uart.h>
Antonio Nino Diaze0f90632018-12-14 00:18:21 +000016
Soren Brinkmann76fcae32016-03-06 20:16:27 -080017void zynqmp_config_setup(void);
18
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +053019uint32_t zynqmp_calc_core_pos(u_register_t mpidr);
Antonio Nino Diazea3c4de2018-10-17 16:46:41 +010020
Soren Brinkmann76fcae32016-03-06 20:16:27 -080021/* ZynqMP specific functions */
Michal Simekc56e5482023-09-27 13:58:06 +020022uint32_t get_uart_clk(void);
Venkatesh Yadav Abbarapue7c45382022-05-19 14:49:49 +053023uint32_t zynqmp_get_bootmode(void);
Soren Brinkmann76fcae32016-03-06 20:16:27 -080024
Siva Durga Prasad Paladuguefd431b2018-04-30 20:12:12 +053025#if ZYNQMP_WDT_RESTART
Prasad Kummarieeef80d2023-05-11 14:58:13 +053026typedef 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 Paladuguefd431b2018-04-30 20:12:12 +053031/*
32 * Register handler to specific GIC entrance
33 * for INTR_TYPE_EL3 type of interrupt
34 */
35int request_intr_type_el3(uint32_t, interrupt_type_handler_t);
36#endif
37
Jolly Shah0bfd7002019-01-08 11:10:47 -080038#endif /* PLAT_PRIVATE_H */