blob: afa102d870b9843a88e013f27d55e812ea213167 [file] [log] [blame]
Soren Brinkmannc8284402016-03-06 20:16:27 -08001/*
Michal Simek619bc132023-04-14 08:43:51 +02002 * Copyright (c) 2014-2020, Arm Limited and Contributors. All rights reserved.
Prasad Kummarie8d61f72023-05-11 14:58:13 +05303 * Copyright (c) 2023, Advanced Micro Devices, Inc. All rights reserved.
Soren Brinkmannc8284402016-03-06 20:16:27 -08004 *
dp-arm82cb2c12017-05-03 09:38:09 +01005 * SPDX-License-Identifier: BSD-3-Clause
Soren Brinkmannc8284402016-03-06 20:16:27 -08006 */
7
Jolly Shah31c38422019-01-08 11:10:47 -08008#ifndef PLAT_PRIVATE_H
9#define PLAT_PRIVATE_H
Soren Brinkmannc8284402016-03-06 20:16:27 -080010
Antonio Nino Diazbde25ae2018-10-17 16:46:41 +010011#include <stdint.h>
Soren Brinkmannc8284402016-03-06 20:16:27 -080012
Antonio Nino Diaz09d40e02018-12-14 00:18:21 +000013#include <bl31/interrupt_mgmt.h>
14#include <common/bl_common.h>
Ambroise Vincent55a08b32019-05-29 11:46:08 +010015#include <drivers/cadence/cdns_uart.h>
Prasad Kummari51564352023-10-26 16:32:26 +053016#include <lib/xlat_tables/xlat_tables.h>
Antonio Nino Diaz09d40e02018-12-14 00:18:21 +000017
Soren Brinkmannc8284402016-03-06 20:16:27 -080018void zynqmp_config_setup(void);
19
Prasad Kummari51564352023-10-26 16:32:26 +053020const mmap_region_t *plat_get_mmap(void);
21
Venkatesh Yadav Abbarapuffa91032022-05-19 14:49:49 +053022uint32_t zynqmp_calc_core_pos(u_register_t mpidr);
Antonio Nino Diazbde25ae2018-10-17 16:46:41 +010023
Soren Brinkmannc8284402016-03-06 20:16:27 -080024/* ZynqMP specific functions */
Michal Simek04a48332023-09-27 13:58:06 +020025uint32_t get_uart_clk(void);
Venkatesh Yadav Abbarapuffa91032022-05-19 14:49:49 +053026uint32_t zynqmp_get_bootmode(void);
Soren Brinkmannc8284402016-03-06 20:16:27 -080027
Siva Durga Prasad Paladugu29657d02018-04-30 20:12:12 +053028#if ZYNQMP_WDT_RESTART
Prasad Kummarie8d61f72023-05-11 14:58:13 +053029typedef 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 Paladugu29657d02018-04-30 20:12:12 +053034/*
35 * Register handler to specific GIC entrance
36 * for INTR_TYPE_EL3 type of interrupt
37 */
38int request_intr_type_el3(uint32_t, interrupt_type_handler_t);
39#endif
40
Jolly Shah31c38422019-01-08 11:10:47 -080041#endif /* PLAT_PRIVATE_H */