blob: f7d2d441f9da751c688b7af275db89ec940ceb06 [file] [log] [blame]
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +02001/*
2 * u_uac2.h
3 *
4 * Utility definitions for UAC2 function
5 *
6 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * http://www.samsung.com
8 *
9 * Author: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
14 */
15
16#ifndef U_UAC2_H
17#define U_UAC2_H
18
19#include <linux/usb/composite.h>
20
Andrzej Pietrasiewicz065a1072014-07-22 19:58:34 +020021#define UAC2_DEF_PCHMASK 0x3
22#define UAC2_DEF_PSRATE 48000
23#define UAC2_DEF_PSSIZE 2
24#define UAC2_DEF_CCHMASK 0x3
Sriharsha Allenki9e659bf2017-10-25 14:39:06 +053025#define UAC2_DEF_CSRATE 44100
Andrzej Pietrasiewicz065a1072014-07-22 19:58:34 +020026#define UAC2_DEF_CSSIZE 2
27
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +020028struct f_uac2_opts {
29 struct usb_function_instance func_inst;
30 int p_chmask;
31 int p_srate;
32 int p_ssize;
33 int c_chmask;
34 int c_srate;
35 int c_ssize;
36 bool bound;
Andrzej Pietrasiewicz3aeea3c2014-07-22 19:58:35 +020037
38 struct mutex lock;
39 int refcnt;
Andrzej Pietrasiewiczf8f93d22014-07-22 19:58:30 +020040};
41
42#endif