| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * u_uac2.h
- *
- * Utility definitions for UAC2 function
- *
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- * http://www.samsung.com
- *
- * Author: Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>
- */
- #ifndef U_UAC2_H
- #define U_UAC2_H
- #include <linux/usb/composite.h>
- #include "uac_common.h"
- #define UAC2_DEF_PCHMASK 0x3
- #define UAC2_DEF_PSRATE 48000
- #define UAC2_DEF_PSSIZE 2
- #define UAC2_DEF_PHSBINT 0
- #define UAC2_DEF_CCHMASK 0x3
- #define UAC2_DEF_CSRATE 64000
- #define UAC2_DEF_CSSIZE 2
- #define UAC2_DEF_CHSBINT 0
- #define UAC2_DEF_CSYNC USB_ENDPOINT_SYNC_ASYNC
- #define UAC2_DEF_MUTE_PRESENT 1
- #define UAC2_DEF_VOLUME_PRESENT 1
- #define UAC2_DEF_MIN_DB (-100*256) /* -100 dB */
- #define UAC2_DEF_MAX_DB 0 /* 0 dB */
- #define UAC2_DEF_RES_DB (1*256) /* 1 dB */
- #define UAC2_DEF_REQ_NUM 2
- #define UAC2_DEF_INT_REQ_NUM 10
- #define UAC2_DEF_P_TERM_TYPE 0x301
- /* UAC_OUTPUT_TERMINAL_SPEAKER */
- #define UAC2_DEF_C_TERM_TYPE 0x201
- /* UAC_INPUT_TERMINAL_MICROPHONE*/
- struct f_uac2_opts {
- struct usb_function_instance func_inst;
- int p_chmask;
- int p_srates[UAC_MAX_RATES];
- int p_ssize;
- u8 p_hs_bint;
- int c_chmask;
- int c_srates[UAC_MAX_RATES];
- int c_ssize;
- int c_sync;
- u8 c_hs_bint;
- bool p_mute_present;
- bool p_volume_present;
- s16 p_volume_min;
- s16 p_volume_max;
- s16 p_volume_res;
- bool c_mute_present;
- bool c_volume_present;
- s16 c_volume_min;
- s16 c_volume_max;
- s16 c_volume_res;
- int req_number;
- int fb_max;
- bool bound;
- char function_name[USB_MAX_STRING_LEN];
- char if_ctrl_name[USB_MAX_STRING_LEN];
- char clksrc_in_name[USB_MAX_STRING_LEN];
- char clksrc_out_name[USB_MAX_STRING_LEN];
- char p_it_name[USB_MAX_STRING_LEN];
- char p_it_ch_name[USB_MAX_STRING_LEN];
- char p_ot_name[USB_MAX_STRING_LEN];
- char p_fu_vol_name[USB_MAX_STRING_LEN];
- char c_it_name[USB_MAX_STRING_LEN];
- char c_it_ch_name[USB_MAX_STRING_LEN];
- char c_ot_name[USB_MAX_STRING_LEN];
- char c_fu_vol_name[USB_MAX_STRING_LEN];
- s16 p_terminal_type;
- s16 c_terminal_type;
- struct mutex lock;
- int refcnt;
- };
- #endif
|