134ed5a33SOhad Ben-Cohen /* 234ed5a33SOhad Ben-Cohen * Remote processor messaging 334ed5a33SOhad Ben-Cohen * 49077ac1aSSuman Anna * Copyright (C) 2011-2020 Texas Instruments, Inc. 534ed5a33SOhad Ben-Cohen * Copyright (C) 2011 Google, Inc. 634ed5a33SOhad Ben-Cohen * All rights reserved. 734ed5a33SOhad Ben-Cohen * 834ed5a33SOhad Ben-Cohen * Redistribution and use in source and binary forms, with or without 934ed5a33SOhad Ben-Cohen * modification, are permitted provided that the following conditions 1034ed5a33SOhad Ben-Cohen * are met: 1134ed5a33SOhad Ben-Cohen * 1234ed5a33SOhad Ben-Cohen * * Redistributions of source code must retain the above copyright 1334ed5a33SOhad Ben-Cohen * notice, this list of conditions and the following disclaimer. 1434ed5a33SOhad Ben-Cohen * * Redistributions in binary form must reproduce the above copyright 1534ed5a33SOhad Ben-Cohen * notice, this list of conditions and the following disclaimer in 1634ed5a33SOhad Ben-Cohen * the documentation and/or other materials provided with the 1734ed5a33SOhad Ben-Cohen * distribution. 1834ed5a33SOhad Ben-Cohen * * Neither the name Texas Instruments nor the names of its 1934ed5a33SOhad Ben-Cohen * contributors may be used to endorse or promote products derived 2034ed5a33SOhad Ben-Cohen * from this software without specific prior written permission. 2134ed5a33SOhad Ben-Cohen * 2234ed5a33SOhad Ben-Cohen * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 2334ed5a33SOhad Ben-Cohen * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 2434ed5a33SOhad Ben-Cohen * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2534ed5a33SOhad Ben-Cohen * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2634ed5a33SOhad Ben-Cohen * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2734ed5a33SOhad Ben-Cohen * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2834ed5a33SOhad Ben-Cohen * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2934ed5a33SOhad Ben-Cohen * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 3034ed5a33SOhad Ben-Cohen * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 3134ed5a33SOhad Ben-Cohen * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 3234ed5a33SOhad Ben-Cohen * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3334ed5a33SOhad Ben-Cohen */ 3434ed5a33SOhad Ben-Cohen 3534ed5a33SOhad Ben-Cohen #ifndef _OMAP_RPMSG_H 3634ed5a33SOhad Ben-Cohen #define _OMAP_RPMSG_H 3734ed5a33SOhad Ben-Cohen 3834ed5a33SOhad Ben-Cohen /* 3934ed5a33SOhad Ben-Cohen * enum - Predefined Mailbox Messages 4034ed5a33SOhad Ben-Cohen * 4134ed5a33SOhad Ben-Cohen * @RP_MBOX_READY: informs the M3's that we're up and running. this is 4234ed5a33SOhad Ben-Cohen * part of the init sequence sent that the M3 expects to see immediately 4334ed5a33SOhad Ben-Cohen * after it is booted. 4434ed5a33SOhad Ben-Cohen * 4534ed5a33SOhad Ben-Cohen * @RP_MBOX_PENDING_MSG: informs the receiver that there is an inbound 4634ed5a33SOhad Ben-Cohen * message waiting in its own receive-side vring. please note that currently 4734ed5a33SOhad Ben-Cohen * this message is optional: alternatively, one can explicitly send the index 4834ed5a33SOhad Ben-Cohen * of the triggered virtqueue itself. the preferred approach will be decided 4934ed5a33SOhad Ben-Cohen * as we progress and experiment with those two different approaches. 5034ed5a33SOhad Ben-Cohen * 5134ed5a33SOhad Ben-Cohen * @RP_MBOX_CRASH: this message is sent if BIOS crashes 5234ed5a33SOhad Ben-Cohen * 5334ed5a33SOhad Ben-Cohen * @RP_MBOX_ECHO_REQUEST: a mailbox-level "ping" message. 5434ed5a33SOhad Ben-Cohen * 5534ed5a33SOhad Ben-Cohen * @RP_MBOX_ECHO_REPLY: a mailbox-level reply to a "ping" 5634ed5a33SOhad Ben-Cohen * 5734ed5a33SOhad Ben-Cohen * @RP_MBOX_ABORT_REQUEST: a "please crash" request, used for testing the 5834ed5a33SOhad Ben-Cohen * recovery mechanism (to some extent). 598135d1d2SSuman Anna * 609077ac1aSSuman Anna * @RP_MBOX_SUSPEND_AUTO: auto suspend request for the remote processor 619077ac1aSSuman Anna * 629077ac1aSSuman Anna * @RP_MBOX_SUSPEND_SYSTEM: system suspend request for the remote processor 639077ac1aSSuman Anna * 649077ac1aSSuman Anna * @RP_MBOX_SUSPEND_ACK: successful response from remote processor for a 659077ac1aSSuman Anna * suspend request 669077ac1aSSuman Anna * 679077ac1aSSuman Anna * @RP_MBOX_SUSPEND_CANCEL: a cancel suspend response from a remote processor 689077ac1aSSuman Anna * on a suspend request 699077ac1aSSuman Anna * 708135d1d2SSuman Anna * Introduce new message definitions if any here. 718135d1d2SSuman Anna * 728135d1d2SSuman Anna * @RP_MBOX_END_MSG: Indicates end of known/defined messages from remote core 738135d1d2SSuman Anna * This should be the last definition. 748135d1d2SSuman Anna * 7534ed5a33SOhad Ben-Cohen */ 7634ed5a33SOhad Ben-Cohen enum omap_rp_mbox_messages { 7734ed5a33SOhad Ben-Cohen RP_MBOX_READY = 0xFFFFFF00, 7834ed5a33SOhad Ben-Cohen RP_MBOX_PENDING_MSG = 0xFFFFFF01, 7934ed5a33SOhad Ben-Cohen RP_MBOX_CRASH = 0xFFFFFF02, 8034ed5a33SOhad Ben-Cohen RP_MBOX_ECHO_REQUEST = 0xFFFFFF03, 8134ed5a33SOhad Ben-Cohen RP_MBOX_ECHO_REPLY = 0xFFFFFF04, 8234ed5a33SOhad Ben-Cohen RP_MBOX_ABORT_REQUEST = 0xFFFFFF05, 839077ac1aSSuman Anna RP_MBOX_SUSPEND_AUTO = 0xFFFFFF10, 849077ac1aSSuman Anna RP_MBOX_SUSPEND_SYSTEM = 0xFFFFFF11, 859077ac1aSSuman Anna RP_MBOX_SUSPEND_ACK = 0xFFFFFF12, 869077ac1aSSuman Anna RP_MBOX_SUSPEND_CANCEL = 0xFFFFFF13, 879077ac1aSSuman Anna RP_MBOX_END_MSG = 0xFFFFFF14, 8834ed5a33SOhad Ben-Cohen }; 8934ed5a33SOhad Ben-Cohen 9034ed5a33SOhad Ben-Cohen #endif /* _OMAP_RPMSG_H */ 91