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