xilinx_mb_manager.h 861 B

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (C) 2022 Xilinx, Inc.
  4. */
  5. #ifndef _XILINX_MB_MANAGER_H
  6. #define _XILINX_MB_MANAGER_H
  7. # ifndef __ASSEMBLER__
  8. #include <linux/of_address.h>
  9. /*
  10. * When the break vector gets asserted because of error injection, the break
  11. * signal must be blocked before exiting from the break handler, Below api
  12. * updates the manager address and control register and error counter callback
  13. * arguments, which will be used by the break handler to block the break and
  14. * call the callback function.
  15. */
  16. void xmb_manager_register(uintptr_t phys_baseaddr, u32 cr_val,
  17. void (*callback)(void *data),
  18. void *priv, void (*reset_callback)(void *data));
  19. asmlinkage void xmb_inject_err(void);
  20. # endif /* __ASSEMBLER__ */
  21. /* Error injection offset */
  22. #define XMB_INJECT_ERR_OFFSET 0x200
  23. #endif /* _XILINX_MB_MANAGER_H */