You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
kernel_samsung_sm7125/drivers/usb/gadget/function/u_uac1.h

58 lines
1.2 KiB

/*
* u_uac1.h - Utility definitions for UAC1 function
*
* Copyright (C) 2016 Ruslan Bilovol <ruslan.bilovol@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __U_UAC1_H
#define __U_UAC1_H
#include <linux/usb/composite.h>
#define UAC1_OUT_EP_MAX_PACKET_SIZE 200
#define UAC1_DEF_CCHMASK 0x3
#define UAC1_DEF_CSRATE 48000
#define UAC1_DEF_CSSIZE 2
#define UAC1_DEF_PCHMASK 0x3
#define UAC1_DEF_PSRATE 48000
#define UAC1_DEF_PSSIZE 2
#define UAC1_DEF_REQ_NUM 2
struct f_uac1_opts {
struct usb_function_instance func_inst;
struct f_uac1 *uac1;
int c_chmask;
int c_srate;
int c_ssize;
int p_chmask;
int p_srate;
int p_ssize;
int req_number;
unsigned bound:1;
struct mutex lock;
int refcnt;
};
#define UAC_DT_MIXER_UNIT_SIZE 13
/* 4.3.2.3 Mixer Unit Descriptor */
struct uac1_mixer_unit_descriptor {
__u8 bLength;
__u8 bDescriptorType;
__u8 bDescriptorSubtype;
__u8 bUnitID;
__u8 bNrInPins;
__u8 baSourceID[2];
__u8 bNrChannels;
__le16 wChannelConfig;
__u8 iChannelNames;
__u8 bmControls;
__u8 iMixer;
} __packed;
#endif /* __U_UAC1_H */