blob: 78dd37279bd4570b8c238a94c6d33c47b6db4a10 [file] [log] [blame]
Kyle Swenson8d8f6542021-03-15 11:02:55 -06001/*
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
21#define UAC2_DEF_PCHMASK 0x3
22#define UAC2_DEF_PSRATE 48000
23#define UAC2_DEF_PSSIZE 2
24#define UAC2_DEF_CCHMASK 0x3
25#define UAC2_DEF_CSRATE 64000
26#define UAC2_DEF_CSSIZE 2
27
28struct 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;
37
38 struct mutex lock;
39 int refcnt;
40};
41
42#endif