2 * Copyright (C) 2016 Broadcom
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
8 * Common header for Broadcom mailbox messages which is shared across
9 * Broadcom SoCs and Broadcom mailbox client drivers.
12 #ifndef _LINUX_BRCM_MESSAGE_H_
13 #define _LINUX_BRCM_MESSAGE_H_
15 #include <linux/scatterlist.h>
17 enum brcm_message_type
{
18 BRCM_MESSAGE_UNKNOWN
= 0,
25 struct brcm_sba_command
{
28 dma_addr_t cmd_dma_addr
;
29 #define BRCM_SBA_CMD_TYPE_A BIT(0)
30 #define BRCM_SBA_CMD_TYPE_B BIT(1)
31 #define BRCM_SBA_CMD_TYPE_C BIT(2)
32 #define BRCM_SBA_CMD_HAS_RESP BIT(3)
33 #define BRCM_SBA_CMD_HAS_OUTPUT BIT(4)
42 enum brcm_message_type type
;
45 struct brcm_message
*msgs
;
46 unsigned int msgs_queued
;
47 unsigned int msgs_count
;
50 struct scatterlist
*src
;
51 struct scatterlist
*dst
;
54 struct brcm_sba_command
*cmds
;
55 unsigned int cmds_count
;
62 #endif /* _LINUX_BRCM_MESSAGE_H_ */