xref: /linux/drivers/remoteproc/omap_remoteproc.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 /*
2  * Remote processor messaging
3  *
4  * Copyright (C) 2011 Texas Instruments, Inc.
5  * Copyright (C) 2011 Google, Inc.
6  * All rights reserved.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  *
12  * * Redistributions of source code must retain the above copyright
13  *   notice, this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above copyright
15  *   notice, this list of conditions and the following disclaimer in
16  *   the documentation and/or other materials provided with the
17  *   distribution.
18  * * Neither the name Texas Instruments nor the names of its
19  *   contributors may be used to endorse or promote products derived
20  *   from this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33  */
34 
35 #ifndef _OMAP_RPMSG_H
36 #define _OMAP_RPMSG_H
37 
38 /*
39  * enum - Predefined Mailbox Messages
40  *
41  * @RP_MBOX_READY: informs the M3's that we're up and running. this is
42  * part of the init sequence sent that the M3 expects to see immediately
43  * after it is booted.
44  *
45  * @RP_MBOX_PENDING_MSG: informs the receiver that there is an inbound
46  * message waiting in its own receive-side vring. please note that currently
47  * this message is optional: alternatively, one can explicitly send the index
48  * of the triggered virtqueue itself. the preferred approach will be decided
49  * as we progress and experiment with those two different approaches.
50  *
51  * @RP_MBOX_CRASH: this message is sent if BIOS crashes
52  *
53  * @RP_MBOX_ECHO_REQUEST: a mailbox-level "ping" message.
54  *
55  * @RP_MBOX_ECHO_REPLY: a mailbox-level reply to a "ping"
56  *
57  * @RP_MBOX_ABORT_REQUEST: a "please crash" request, used for testing the
58  * recovery mechanism (to some extent).
59  */
60 enum omap_rp_mbox_messages {
61 	RP_MBOX_READY		= 0xFFFFFF00,
62 	RP_MBOX_PENDING_MSG	= 0xFFFFFF01,
63 	RP_MBOX_CRASH		= 0xFFFFFF02,
64 	RP_MBOX_ECHO_REQUEST	= 0xFFFFFF03,
65 	RP_MBOX_ECHO_REPLY	= 0xFFFFFF04,
66 	RP_MBOX_ABORT_REQUEST	= 0xFFFFFF05,
67 };
68 
69 #endif /* _OMAP_RPMSG_H */
70