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