1// Copyright 2018 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5library ddk.protocol.mailbox; 6 7using zx; 8 9// Mailboxes 10enum MailboxType : uint8 { 11 SCP_SECURE_MAILBOX = 0x0; 12 SCP_NS_LOW_PRIORITY_MAILBOX = 0x1; 13 SCP_NS_HIGH_PRIORITY_MAILBOX = 0x2; 14 AP_SECURE_MAILBOX = 0x3; 15 AP_NS_LOW_PRIORITY_MAILBOX = 0x4; 16 AP_NS_HIGH_PRIORITY_MAILBOX = 0x5; 17 INVALID_MAILBOX = 0x6; 18}; 19 20struct MailboxDataBuf { 21 uint32 cmd; 22 vector<voidptr> tx; 23}; 24 25struct MailboxChannel { 26 MailboxType mailbox; 27 vector<voidptr> rx; 28}; 29 30[Layout = "ddk-protocol"] 31interface Mailbox { 32 SendCommand(MailboxChannel channel, MailboxDataBuf mdata) -> (zx.status s); 33}; 34