blob: 8a8d38abfe12e9e42284a61cc02bdd0b3a74548a [file] [log] [blame]
Soren Brinkmann76fcae32016-03-06 20:16:27 -08001/*
Antonio Nino Diazea3c4de2018-10-17 16:46:41 +01002 * Copyright (c) 2014-2018, ARM Limited and Contributors. All rights reserved.
Soren Brinkmann76fcae32016-03-06 20:16:27 -08003 *
dp-armfa3cf0b2017-05-03 09:38:09 +01004 * SPDX-License-Identifier: BSD-3-Clause
Soren Brinkmann76fcae32016-03-06 20:16:27 -08005 */
6
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +00007#ifndef ZYNQMP_PRIVATE_H
8#define ZYNQMP_PRIVATE_H
Soren Brinkmann76fcae32016-03-06 20:16:27 -08009
Wendy Liang36703e22017-11-10 15:55:16 -080010#include <bl_common.h>
Soren Brinkmann76fcae32016-03-06 20:16:27 -080011#include <interrupt_mgmt.h>
Antonio Nino Diazea3c4de2018-10-17 16:46:41 +010012#include <stdint.h>
Soren Brinkmann76fcae32016-03-06 20:16:27 -080013
14void zynqmp_config_setup(void);
15
Antonio Nino Diazea3c4de2018-10-17 16:46:41 +010016unsigned int zynqmp_calc_core_pos(u_register_t mpidr);
17
Soren Brinkmann76fcae32016-03-06 20:16:27 -080018/* ZynqMP specific functions */
19unsigned int zynqmp_get_uart_clk(void);
Soren Brinkmannb43d9432016-04-18 11:49:42 -070020unsigned int zynqmp_get_bootmode(void);
Soren Brinkmann76fcae32016-03-06 20:16:27 -080021
Michal Simekef8f5592015-06-15 14:22:50 +020022/* For FSBL handover */
Siva Durga Prasad Paladugu8f499722018-05-17 15:17:46 +053023enum fsbl_handoff {
24 FSBL_HANDOFF_SUCCESS = 0,
25 FSBL_HANDOFF_NO_STRUCT,
26 FSBL_HANDOFF_INVAL_STRUCT,
27 FSBL_HANDOFF_TOO_MANY_PARTS,
28};
29
Siva Durga Prasad Paladuguefd431b2018-04-30 20:12:12 +053030#if ZYNQMP_WDT_RESTART
31/*
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
Siva Durga Prasad Paladugu8f499722018-05-17 15:17:46 +053038enum fsbl_handoff fsbl_atf_handover(entry_point_info_t *bl32_image_ep_info,
Michal Simekef8f5592015-06-15 14:22:50 +020039 entry_point_info_t *bl33_image_ep_info);
40
Antonio Nino Diaz5eb88372018-11-08 10:20:19 +000041#endif /* ZYNQMP_PRIVATE_H */