xref: /linux/include/linux/soc/ti/ti-msgmgr.h (revision 0a94608f0f7de9b1135ffea3546afe68eafef57f)
1 /*
2  * Texas Instruments' Message Manager
3  *
4  * Copyright (C) 2015-2022 Texas Instruments Incorporated - https://www.ti.com/
5  *	Nishanth Menon
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
12  * kind, whether express or implied; without even the implied warranty
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  */
16 
17 #ifndef TI_MSGMGR_H
18 #define TI_MSGMGR_H
19 
20 struct mbox_chan;
21 
22 /**
23  * struct ti_msgmgr_message - Message Manager structure
24  * @len: Length of data in the Buffer
25  * @buf: Buffer pointer
26  * @chan_rx: Expected channel for response, must be provided to use polled rx
27  * @timeout_rx_ms: Timeout value to use if polling for response
28  *
29  * This is the structure for data used in mbox_send_message
30  * the length of data buffer used depends on the SoC integration
31  * parameters - each message may be 64, 128 bytes long depending
32  * on SoC. Client is supposed to be aware of this.
33  */
34 struct ti_msgmgr_message {
35 	size_t len;
36 	u8 *buf;
37 	struct mbox_chan *chan_rx;
38 	int timeout_rx_ms;
39 };
40 
41 #endif /* TI_MSGMGR_H */
42