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