mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 12:43:55 +08:00
c869c75c16
The mailbox hardware (in OMAP) uses a queued mailbox interrupt mechanism that provides a communication channel between processors through a set of registers and their associated interrupt signals by sending and receiving messages. The OMAP mailbox framework/driver code is moved to be under drivers/mailbox, in preparation for adapting to a common mailbox driver framework. This allows the build for OMAP mailbox to be enabled (it was disabled during the multi-platform support). As part of the migration from plat and mach code: - Kconfig symbols have been renamed to build OMAP1 or OMAP2+ drivers. - mailbox.h under plat-omap/plat/include has been split into a public and private header files. The public header has only the API related functions and types. - The module name mailbox.ko from plat-omap is changed to omap-mailbox.ko - The module name mailbox_mach.ko from mach-omapX is changed as mailbox_omap1.ko for OMAP1 mailbox_omap2.ko for OMAP2+ Cc: Tony Lindgren <tony@atomide.com> [gregkh@linuxfoundation.org: ack for staging part] Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Omar Ramirez Luna <omar.ramirez@copitl.com> Signed-off-by: Suman Anna <s-anna@ti.com>
30 lines
962 B
C
30 lines
962 B
C
/*
|
|
* omap-mailbox: interprocessor communication module for OMAP
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef OMAP_MAILBOX_H
|
|
#define OMAP_MAILBOX_H
|
|
|
|
typedef u32 mbox_msg_t;
|
|
struct omap_mbox;
|
|
|
|
typedef int __bitwise omap_mbox_irq_t;
|
|
#define IRQ_TX ((__force omap_mbox_irq_t) 1)
|
|
#define IRQ_RX ((__force omap_mbox_irq_t) 2)
|
|
|
|
int omap_mbox_msg_send(struct omap_mbox *, mbox_msg_t msg);
|
|
|
|
struct omap_mbox *omap_mbox_get(const char *, struct notifier_block *nb);
|
|
void omap_mbox_put(struct omap_mbox *mbox, struct notifier_block *nb);
|
|
|
|
void omap_mbox_save_ctx(struct omap_mbox *mbox);
|
|
void omap_mbox_restore_ctx(struct omap_mbox *mbox);
|
|
void omap_mbox_enable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq);
|
|
void omap_mbox_disable_irq(struct omap_mbox *mbox, omap_mbox_irq_t irq);
|
|
|
|
#endif /* OMAP_MAILBOX_H */
|