18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: BSD-3-Clause */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Remote processor messaging
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2011-2020 Texas Instruments, Inc.
68c2ecf20Sopenharmony_ci * Copyright (C) 2011 Google, Inc.
78c2ecf20Sopenharmony_ci * All rights reserved.
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci#ifndef _OMAP_RPMSG_H
118c2ecf20Sopenharmony_ci#define _OMAP_RPMSG_H
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/*
148c2ecf20Sopenharmony_ci * enum - Predefined Mailbox Messages
158c2ecf20Sopenharmony_ci *
168c2ecf20Sopenharmony_ci * @RP_MBOX_READY: informs the M3's that we're up and running. this is
178c2ecf20Sopenharmony_ci * part of the init sequence sent that the M3 expects to see immediately
188c2ecf20Sopenharmony_ci * after it is booted.
198c2ecf20Sopenharmony_ci *
208c2ecf20Sopenharmony_ci * @RP_MBOX_PENDING_MSG: informs the receiver that there is an inbound
218c2ecf20Sopenharmony_ci * message waiting in its own receive-side vring. please note that currently
228c2ecf20Sopenharmony_ci * this message is optional: alternatively, one can explicitly send the index
238c2ecf20Sopenharmony_ci * of the triggered virtqueue itself. the preferred approach will be decided
248c2ecf20Sopenharmony_ci * as we progress and experiment with those two different approaches.
258c2ecf20Sopenharmony_ci *
268c2ecf20Sopenharmony_ci * @RP_MBOX_CRASH: this message is sent if BIOS crashes
278c2ecf20Sopenharmony_ci *
288c2ecf20Sopenharmony_ci * @RP_MBOX_ECHO_REQUEST: a mailbox-level "ping" message.
298c2ecf20Sopenharmony_ci *
308c2ecf20Sopenharmony_ci * @RP_MBOX_ECHO_REPLY: a mailbox-level reply to a "ping"
318c2ecf20Sopenharmony_ci *
328c2ecf20Sopenharmony_ci * @RP_MBOX_ABORT_REQUEST: a "please crash" request, used for testing the
338c2ecf20Sopenharmony_ci * recovery mechanism (to some extent).
348c2ecf20Sopenharmony_ci *
358c2ecf20Sopenharmony_ci * @RP_MBOX_SUSPEND_AUTO: auto suspend request for the remote processor
368c2ecf20Sopenharmony_ci *
378c2ecf20Sopenharmony_ci * @RP_MBOX_SUSPEND_SYSTEM: system suspend request for the remote processor
388c2ecf20Sopenharmony_ci *
398c2ecf20Sopenharmony_ci * @RP_MBOX_SUSPEND_ACK: successful response from remote processor for a
408c2ecf20Sopenharmony_ci * suspend request
418c2ecf20Sopenharmony_ci *
428c2ecf20Sopenharmony_ci * @RP_MBOX_SUSPEND_CANCEL: a cancel suspend response from a remote processor
438c2ecf20Sopenharmony_ci * on a suspend request
448c2ecf20Sopenharmony_ci *
458c2ecf20Sopenharmony_ci * Introduce new message definitions if any here.
468c2ecf20Sopenharmony_ci *
478c2ecf20Sopenharmony_ci * @RP_MBOX_END_MSG: Indicates end of known/defined messages from remote core
488c2ecf20Sopenharmony_ci * This should be the last definition.
498c2ecf20Sopenharmony_ci *
508c2ecf20Sopenharmony_ci */
518c2ecf20Sopenharmony_cienum omap_rp_mbox_messages {
528c2ecf20Sopenharmony_ci	RP_MBOX_READY		= 0xFFFFFF00,
538c2ecf20Sopenharmony_ci	RP_MBOX_PENDING_MSG	= 0xFFFFFF01,
548c2ecf20Sopenharmony_ci	RP_MBOX_CRASH		= 0xFFFFFF02,
558c2ecf20Sopenharmony_ci	RP_MBOX_ECHO_REQUEST	= 0xFFFFFF03,
568c2ecf20Sopenharmony_ci	RP_MBOX_ECHO_REPLY	= 0xFFFFFF04,
578c2ecf20Sopenharmony_ci	RP_MBOX_ABORT_REQUEST	= 0xFFFFFF05,
588c2ecf20Sopenharmony_ci	RP_MBOX_SUSPEND_AUTO	= 0xFFFFFF10,
598c2ecf20Sopenharmony_ci	RP_MBOX_SUSPEND_SYSTEM	= 0xFFFFFF11,
608c2ecf20Sopenharmony_ci	RP_MBOX_SUSPEND_ACK	= 0xFFFFFF12,
618c2ecf20Sopenharmony_ci	RP_MBOX_SUSPEND_CANCEL	= 0xFFFFFF13,
628c2ecf20Sopenharmony_ci	RP_MBOX_END_MSG		= 0xFFFFFF14,
638c2ecf20Sopenharmony_ci};
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci#endif /* _OMAP_RPMSG_H */
66