xref: /openbmc/linux/include/linux/omap-mailbox.h (revision 9c1f2a5d)
12ad51576SSuman Anna /* SPDX-License-Identifier: GPL-2.0 */
2c869c75cSSuman Anna /*
3c869c75cSSuman Anna  * omap-mailbox: interprocessor communication module for OMAP
4c869c75cSSuman Anna  */
5c869c75cSSuman Anna 
6c869c75cSSuman Anna #ifndef OMAP_MAILBOX_H
7c869c75cSSuman Anna #define OMAP_MAILBOX_H
8c869c75cSSuman Anna 
99c1f2a5dSSuman Anna typedef uintptr_t mbox_msg_t;
109c1f2a5dSSuman Anna 
119c1f2a5dSSuman Anna #define omap_mbox_message(data) (u32)(mbox_msg_t)(data)
12c869c75cSSuman Anna 
13c869c75cSSuman Anna typedef int __bitwise omap_mbox_irq_t;
14c869c75cSSuman Anna #define IRQ_TX ((__force omap_mbox_irq_t) 1)
15c869c75cSSuman Anna #define IRQ_RX ((__force omap_mbox_irq_t) 2)
16c869c75cSSuman Anna 
178841a66aSSuman Anna struct mbox_chan;
188841a66aSSuman Anna struct mbox_client;
19c869c75cSSuman Anna 
208841a66aSSuman Anna struct mbox_chan *omap_mbox_request_channel(struct mbox_client *cl,
218841a66aSSuman Anna 					    const char *chan_name);
22c869c75cSSuman Anna 
238841a66aSSuman Anna void omap_mbox_enable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
248841a66aSSuman Anna void omap_mbox_disable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
25c869c75cSSuman Anna 
26c869c75cSSuman Anna #endif /* OMAP_MAILBOX_H */
27