1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright 2011 Broadcom Corporation. All rights reserved. */
4 #ifndef _VC_AUDIO_DEFS_H_
5 #define _VC_AUDIO_DEFS_H_
7 #define VC_AUDIOSERV_MIN_VER 1
8 #define VC_AUDIOSERV_VER 2
10 /* FourCC codes used for VCHI communication */
11 #define VC_AUDIO_SERVER_NAME MAKE_FOURCC("AUDS")
12 #define VC_AUDIO_WRITE_COOKIE1 MAKE_FOURCC("BCMA")
13 #define VC_AUDIO_WRITE_COOKIE2 MAKE_FOURCC("DATA")
16 * List of screens that are currently supported
17 * All message types supported for HOST->VC direction
20 enum vc_audio_msg_type {
21 VC_AUDIO_MSG_TYPE_RESULT, // Generic result
22 VC_AUDIO_MSG_TYPE_COMPLETE, // Generic result
23 VC_AUDIO_MSG_TYPE_CONFIG, // Configure audio
24 VC_AUDIO_MSG_TYPE_CONTROL, // Configure audio
25 VC_AUDIO_MSG_TYPE_OPEN, // Configure audio
26 VC_AUDIO_MSG_TYPE_CLOSE, // Configure audio
27 VC_AUDIO_MSG_TYPE_START, // Configure audio
28 VC_AUDIO_MSG_TYPE_STOP, // Configure audio
29 VC_AUDIO_MSG_TYPE_WRITE, // Configure audio
33 /* configure the audio */
35 struct vc_audio_config {
41 struct vc_audio_control {
46 struct vc_audio_open {
50 struct vc_audio_close {
54 struct vc_audio_start {
58 struct vc_audio_stop {
62 /* configure the write audio samples */
63 struct vc_audio_write {
64 u32 count; // in bytes
71 /* Generic result for a request (VC->HOST) */
72 struct vc_audio_result {
73 s32 success; // Success value
76 /* Generic result for a request (VC->HOST) */
77 struct vc_audio_complete {
78 s32 count; // Success value
83 /* Message header for all messages in HOST->VC direction */
85 s32 type; /* Message type (VC_AUDIO_MSG_TYPE) */
87 struct vc_audio_config config;
88 struct vc_audio_control control;
89 struct vc_audio_open open;
90 struct vc_audio_close close;
91 struct vc_audio_start start;
92 struct vc_audio_stop stop;
93 struct vc_audio_write write;
94 struct vc_audio_result result;
95 struct vc_audio_complete complete;
99 #endif /* _VC_AUDIO_DEFS_H_ */