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