1 /*****************************************************************************
2 * Copyright 2011 Broadcom Corporation. All rights reserved.
4 * Unless you and Broadcom execute a separate written software license
5 * agreement governing use of this software, this software is licensed to you
6 * under the terms of the GNU General Public License version 2, available at
7 * http://www.broadcom.com/licenses/GPLv2.php (the "GPL").
9 * Notwithstanding the above, under no circumstances may you combine this
10 * software in any way with any other Broadcom software provided under a
11 * license other than the GPL, without Broadcom's express prior written
13 *****************************************************************************/
15 #ifndef _VC_AUDIO_DEFS_H_
16 #define _VC_AUDIO_DEFS_H_
18 #define VC_AUDIOSERV_MIN_VER 1
19 #define VC_AUDIOSERV_VER 2
21 /* FourCC code used for VCHI connection */
22 #define VC_AUDIO_SERVER_NAME MAKE_FOURCC("AUDS")
25 * List of screens that are currently supported
26 * All message types supported for HOST->VC direction
29 enum vc_audio_msg_type {
30 VC_AUDIO_MSG_TYPE_RESULT, // Generic result
31 VC_AUDIO_MSG_TYPE_COMPLETE, // Generic result
32 VC_AUDIO_MSG_TYPE_CONFIG, // Configure audio
33 VC_AUDIO_MSG_TYPE_CONTROL, // Configure audio
34 VC_AUDIO_MSG_TYPE_OPEN, // Configure audio
35 VC_AUDIO_MSG_TYPE_CLOSE, // Configure audio
36 VC_AUDIO_MSG_TYPE_START, // Configure audio
37 VC_AUDIO_MSG_TYPE_STOP, // Configure audio
38 VC_AUDIO_MSG_TYPE_WRITE, // Configure audio
42 /* configure the audio */
44 struct vc_audio_config {
50 struct vc_audio_control {
55 struct vc_audio_open {
59 struct vc_audio_close {
63 struct vc_audio_start {
67 struct vc_audio_stop {
71 /* configure the write audio samples */
72 struct vc_audio_write {
73 u32 count; // in bytes
80 /* Generic result for a request (VC->HOST) */
81 struct vc_audio_result {
82 s32 success; // Success value
85 /* Generic result for a request (VC->HOST) */
86 struct vc_audio_complete {
87 s32 count; // Success value
92 /* Message header for all messages in HOST->VC direction */
94 s32 type; /* Message type (VC_AUDIO_MSG_TYPE) */
96 struct vc_audio_config config;
97 struct vc_audio_control control;
98 struct vc_audio_open open;
99 struct vc_audio_close close;
100 struct vc_audio_start start;
101 struct vc_audio_stop stop;
102 struct vc_audio_write write;
103 struct vc_audio_result result;
104 struct vc_audio_complete complete;
108 #endif /* _VC_AUDIO_DEFS_H_ */