1252998Srpaulo#- 2252998Srpaulo# Copyright (c) 2013 Rui Paulo 3252998Srpaulo# All rights reserved. 4252998Srpaulo# 5252998Srpaulo# Redistribution and use in source and binary forms, with or without 6252998Srpaulo# modification, are permitted provided that the following conditions 7252998Srpaulo# are met: 8252998Srpaulo# 1. Redistributions of source code must retain the above copyright 9252998Srpaulo# notice, this list of conditions and the following disclaimer. 10252998Srpaulo# 2. Redistributions in binary form must reproduce the above copyright 11252998Srpaulo# notice, this list of conditions and the following disclaimer in the 12252998Srpaulo# documentation and/or other materials provided with the distribution. 13252998Srpaulo# 14252998Srpaulo# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15252998Srpaulo# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16252998Srpaulo# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17252998Srpaulo# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18252998Srpaulo# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19252998Srpaulo# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20252998Srpaulo# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21252998Srpaulo# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22252998Srpaulo# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23252998Srpaulo# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24252998Srpaulo# SUCH DAMAGE. 25252998Srpaulo# 26252998Srpaulo# $FreeBSD: releng/10.2/sys/dev/mbox/mbox_if.m 252998 2013-07-07 19:47:22Z rpaulo $ 27252998Srpaulo# 28252998Srpaulo# Mailboxes are used as an IPC mechanism that allows subsystems to 29252998Srpaulo# communicate with each other. 30252998Srpaulo# A system can have multiple mailboxes (e.g. OMAP4) but there's usually a 31252998Srpaulo# system wide mailbox. 32252998Srpaulo# 33252998Srpaulo 34252998SrpauloINTERFACE mbox; 35252998Srpaulo 36252998SrpauloMETHOD int read { 37252998Srpaulo device_t dev; 38252998Srpaulo int channel; 39252998Srpaulo uint32_t *data; 40252998Srpaulo}; 41252998Srpaulo 42252998SrpauloMETHOD int write { 43252998Srpaulo device_t dev; 44252998Srpaulo int channel; 45252998Srpaulo uint32_t data; 46252998Srpaulo}; 47