1 /* 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 28 struct 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 43