mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 16:38:12 +00:00
9c1f2a5dc2
The TI K3 AM65x and J721E family of SoCs have a new Mailbox IP that is based on the existing Mailbox IP present in OMAP architecture based SoCs. Each instance of the legacy OMAP Mailbox IP is now a single cluster within the newer Mailbox IP instance on K3 architecture based SoCs. A single K3 Mailbox IP instance has multiple clusters with each cluster providing the same functionality as the existing OMAP Mailbox IP. Reuse the existing OMAP Mailbox driver to extend the support for this newer IP present within the Main NavSS block on K3 SoCs. The K3 family of SoCs use 64-bit ARMv8 processors for running Linux, so the driver is also enhanced to deal with the differences between the 32-bit message payloads and the 64-bit pointers used by the client drivers. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
26 lines
689 B
C
26 lines
689 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* omap-mailbox: interprocessor communication module for OMAP
|
|
*/
|
|
|
|
#ifndef OMAP_MAILBOX_H
|
|
#define OMAP_MAILBOX_H
|
|
|
|
typedef uintptr_t mbox_msg_t;
|
|
|
|
#define omap_mbox_message(data) (u32)(mbox_msg_t)(data)
|
|
|
|
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)
|
|
|
|
struct mbox_chan;
|
|
struct mbox_client;
|
|
|
|
struct mbox_chan *omap_mbox_request_channel(struct mbox_client *cl,
|
|
const char *chan_name);
|
|
|
|
void omap_mbox_enable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
|
|
void omap_mbox_disable_irq(struct mbox_chan *chan, omap_mbox_irq_t irq);
|
|
|
|
#endif /* OMAP_MAILBOX_H */
|