xref: /linux/include/linux/soc/ti/ti-msgmgr.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1*5a729246SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2aace66b1SNishanth Menon /*
3aace66b1SNishanth Menon  * Texas Instruments' Message Manager
4aace66b1SNishanth Menon  *
5df227dc8SDave Gerlach  * Copyright (C) 2015-2022 Texas Instruments Incorporated - https://www.ti.com/
6aace66b1SNishanth Menon  *	Nishanth Menon
7aace66b1SNishanth Menon  */
8aace66b1SNishanth Menon 
9aace66b1SNishanth Menon #ifndef TI_MSGMGR_H
10aace66b1SNishanth Menon #define TI_MSGMGR_H
11aace66b1SNishanth Menon 
12df227dc8SDave Gerlach struct mbox_chan;
13df227dc8SDave Gerlach 
14aace66b1SNishanth Menon /**
15aace66b1SNishanth Menon  * struct ti_msgmgr_message - Message Manager structure
16aace66b1SNishanth Menon  * @len: Length of data in the Buffer
17aace66b1SNishanth Menon  * @buf: Buffer pointer
18df227dc8SDave Gerlach  * @chan_rx: Expected channel for response, must be provided to use polled rx
19df227dc8SDave Gerlach  * @timeout_rx_ms: Timeout value to use if polling for response
20aace66b1SNishanth Menon  *
21aace66b1SNishanth Menon  * This is the structure for data used in mbox_send_message
22aace66b1SNishanth Menon  * the length of data buffer used depends on the SoC integration
23aace66b1SNishanth Menon  * parameters - each message may be 64, 128 bytes long depending
24aace66b1SNishanth Menon  * on SoC. Client is supposed to be aware of this.
25aace66b1SNishanth Menon  */
26aace66b1SNishanth Menon struct ti_msgmgr_message {
27aace66b1SNishanth Menon 	size_t len;
28aace66b1SNishanth Menon 	u8 *buf;
29df227dc8SDave Gerlach 	struct mbox_chan *chan_rx;
30df227dc8SDave Gerlach 	int timeout_rx_ms;
31aace66b1SNishanth Menon };
32aace66b1SNishanth Menon 
33aace66b1SNishanth Menon #endif /* TI_MSGMGR_H */
34