1 /* SPDX-License-Identifier: BSD-2-Clause */
2 /*
3  * Copyright 2022 NXP
4  */
5 
6 #ifndef __IMX_MU_PLATFORM_H__
7 #define __IMX_MU_PLATFORM_H__
8 
9 /*
10  * Return the number of reception channels
11  */
12 unsigned int imx_mu_plat_get_rx_channel(void);
13 
14 /*
15  * Return the number of transmission channels
16  */
17 unsigned int imx_mu_plat_get_tx_channel(void);
18 
19 /*
20  * Send a 32bits word via the MU
21  *
22  * @base: virtual base address of the MU controller
23  * @index: MU channel index
24  * @[in]msg: word to send
25  */
26 TEE_Result imx_mu_plat_send(vaddr_t base, unsigned int index, uint32_t msg);
27 
28 /*
29  * Get the 32bits word received by the MU
30  *
31  * @base: virtual base address of the MU controller
32  * @index: MU channel index
33  * @[out]msg: word received
34  */
35 TEE_Result imx_mu_plat_receive(vaddr_t base, unsigned int index, uint32_t *msg);
36 
37 /*
38  * Initialize the MU interface
39  *
40  * @base: virtual base address of the MU controller
41  */
42 void imx_mu_plat_init(vaddr_t base);
43 #endif /* __IMX_MU_PLATFORM_H__ */
44