plat_private.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved.
  3. * Copyright (c) 2021-2022, Xilinx, Inc. All rights reserved.
  4. * Copyright (c) 2022-2024, Advanced Micro Devices, Inc. All rights reserved.
  5. *
  6. * SPDX-License-Identifier: BSD-3-Clause
  7. */
  8. #ifndef PLAT_PRIVATE_H
  9. #define PLAT_PRIVATE_H
  10. #include <bl31/interrupt_mgmt.h>
  11. #include <lib/xlat_tables/xlat_tables_v2.h>
  12. #define SPP_PSXC_MMI_V2_0 U(6)
  13. #define SPP_PSXC_MMI_V3_0 U(8)
  14. /* MMD */
  15. #define SPP_PSXC_ISP_AIE_V2_0 U(3)
  16. #define SPP_PSXC_MMD_AIE_FRZ_EA U(4)
  17. #define SPP_PSXC_MMD_AIE_V3_0 U(5)
  18. typedef struct versal_intr_info_type_el3 {
  19. uint32_t id;
  20. interrupt_type_handler_t handler;
  21. } versal_intr_info_type_el3_t;
  22. void config_setup(void);
  23. uint32_t get_uart_clk(void);
  24. const mmap_region_t *plat_get_mmap(void);
  25. void plat_gic_driver_init(void);
  26. void plat_gic_init(void);
  27. void plat_gic_cpuif_enable(void);
  28. void plat_gic_cpuif_disable(void);
  29. void plat_gic_pcpu_init(void);
  30. void plat_gic_save(void);
  31. void plat_gic_resume(void);
  32. void plat_gic_redistif_on(void);
  33. void plat_gic_redistif_off(void);
  34. extern uint32_t cpu_clock, platform_id, platform_version;
  35. void board_detection(void);
  36. const char *board_name_decode(void);
  37. uint64_t smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, uint64_t x3,
  38. uint64_t x4, void *cookie, void *handle, uint64_t flags);
  39. int32_t sip_svc_setup_init(void);
  40. /*
  41. * Register handler to specific GIC entrance
  42. * for INTR_TYPE_EL3 type of interrupt
  43. */
  44. int request_intr_type_el3(uint32_t irq, interrupt_type_handler_t fiq_handler);
  45. #endif /* PLAT_PRIVATE_H */