1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI__SOUND_EMU10K1_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI__SOUND_EMU10K1_H 9*8d67ca89SAndroid Build Coastguard Worker #ifdef __linux__ 10*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 11*8d67ca89SAndroid Build Coastguard Worker #endif 12*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_FX8010_PCM_COUNT 8 13*8d67ca89SAndroid Build Coastguard Worker #define __EMU10K1_DECLARE_BITMAP(name,bits) unsigned long name[(bits) / (sizeof(unsigned long) * 8)] 14*8d67ca89SAndroid Build Coastguard Worker #define iMAC0 0x00 15*8d67ca89SAndroid Build Coastguard Worker #define iMAC1 0x01 16*8d67ca89SAndroid Build Coastguard Worker #define iMAC2 0x02 17*8d67ca89SAndroid Build Coastguard Worker #define iMAC3 0x03 18*8d67ca89SAndroid Build Coastguard Worker #define iMACINT0 0x04 19*8d67ca89SAndroid Build Coastguard Worker #define iMACINT1 0x05 20*8d67ca89SAndroid Build Coastguard Worker #define iACC3 0x06 21*8d67ca89SAndroid Build Coastguard Worker #define iMACMV 0x07 22*8d67ca89SAndroid Build Coastguard Worker #define iANDXOR 0x08 23*8d67ca89SAndroid Build Coastguard Worker #define iTSTNEG 0x09 24*8d67ca89SAndroid Build Coastguard Worker #define iLIMITGE 0x0a 25*8d67ca89SAndroid Build Coastguard Worker #define iLIMITLT 0x0b 26*8d67ca89SAndroid Build Coastguard Worker #define iLOG 0x0c 27*8d67ca89SAndroid Build Coastguard Worker #define iEXP 0x0d 28*8d67ca89SAndroid Build Coastguard Worker #define iINTERP 0x0e 29*8d67ca89SAndroid Build Coastguard Worker #define iSKIP 0x0f 30*8d67ca89SAndroid Build Coastguard Worker #define LOWORD_OPX_MASK 0x000ffc00 31*8d67ca89SAndroid Build Coastguard Worker #define LOWORD_OPY_MASK 0x000003ff 32*8d67ca89SAndroid Build Coastguard Worker #define HIWORD_OPCODE_MASK 0x00f00000 33*8d67ca89SAndroid Build Coastguard Worker #define HIWORD_RESULT_MASK 0x000ffc00 34*8d67ca89SAndroid Build Coastguard Worker #define HIWORD_OPA_MASK 0x000003ff 35*8d67ca89SAndroid Build Coastguard Worker #define A_LOWORD_OPX_MASK 0x007ff000 36*8d67ca89SAndroid Build Coastguard Worker #define A_LOWORD_OPY_MASK 0x000007ff 37*8d67ca89SAndroid Build Coastguard Worker #define A_HIWORD_OPCODE_MASK 0x0f000000 38*8d67ca89SAndroid Build Coastguard Worker #define A_HIWORD_RESULT_MASK 0x007ff000 39*8d67ca89SAndroid Build Coastguard Worker #define A_HIWORD_OPA_MASK 0x000007ff 40*8d67ca89SAndroid Build Coastguard Worker #define FXBUS(x) (0x00 + (x)) 41*8d67ca89SAndroid Build Coastguard Worker #define EXTIN(x) (0x10 + (x)) 42*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT(x) (0x20 + (x)) 43*8d67ca89SAndroid Build Coastguard Worker #define FXBUS2(x) (0x30 + (x)) 44*8d67ca89SAndroid Build Coastguard Worker #define A_FXBUS(x) (0x00 + (x)) 45*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN(x) (0x40 + (x)) 46*8d67ca89SAndroid Build Coastguard Worker #define A_P16VIN(x) (0x50 + (x)) 47*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT(x) (0x60 + (x)) 48*8d67ca89SAndroid Build Coastguard Worker #define A_FXBUS2(x) (0x80 + (x)) 49*8d67ca89SAndroid Build Coastguard Worker #define A_EMU32OUTH(x) (0xa0 + (x)) 50*8d67ca89SAndroid Build Coastguard Worker #define A_EMU32OUTL(x) (0xb0 + (x)) 51*8d67ca89SAndroid Build Coastguard Worker #define A3_EMU32IN(x) (0x160 + (x)) 52*8d67ca89SAndroid Build Coastguard Worker #define A3_EMU32OUT(x) (0x1E0 + (x)) 53*8d67ca89SAndroid Build Coastguard Worker #define C_00000000 0x40 54*8d67ca89SAndroid Build Coastguard Worker #define C_00000001 0x41 55*8d67ca89SAndroid Build Coastguard Worker #define C_00000002 0x42 56*8d67ca89SAndroid Build Coastguard Worker #define C_00000003 0x43 57*8d67ca89SAndroid Build Coastguard Worker #define C_00000004 0x44 58*8d67ca89SAndroid Build Coastguard Worker #define C_00000008 0x45 59*8d67ca89SAndroid Build Coastguard Worker #define C_00000010 0x46 60*8d67ca89SAndroid Build Coastguard Worker #define C_00000020 0x47 61*8d67ca89SAndroid Build Coastguard Worker #define C_00000100 0x48 62*8d67ca89SAndroid Build Coastguard Worker #define C_00010000 0x49 63*8d67ca89SAndroid Build Coastguard Worker #define C_00080000 0x4a 64*8d67ca89SAndroid Build Coastguard Worker #define C_10000000 0x4b 65*8d67ca89SAndroid Build Coastguard Worker #define C_20000000 0x4c 66*8d67ca89SAndroid Build Coastguard Worker #define C_40000000 0x4d 67*8d67ca89SAndroid Build Coastguard Worker #define C_80000000 0x4e 68*8d67ca89SAndroid Build Coastguard Worker #define C_7fffffff 0x4f 69*8d67ca89SAndroid Build Coastguard Worker #define C_ffffffff 0x50 70*8d67ca89SAndroid Build Coastguard Worker #define C_fffffffe 0x51 71*8d67ca89SAndroid Build Coastguard Worker #define C_c0000000 0x52 72*8d67ca89SAndroid Build Coastguard Worker #define C_4f1bbcdc 0x53 73*8d67ca89SAndroid Build Coastguard Worker #define C_5a7ef9db 0x54 74*8d67ca89SAndroid Build Coastguard Worker #define C_00100000 0x55 75*8d67ca89SAndroid Build Coastguard Worker #define GPR_ACCU 0x56 76*8d67ca89SAndroid Build Coastguard Worker #define GPR_COND 0x57 77*8d67ca89SAndroid Build Coastguard Worker #define GPR_NOISE0 0x58 78*8d67ca89SAndroid Build Coastguard Worker #define GPR_NOISE1 0x59 79*8d67ca89SAndroid Build Coastguard Worker #define GPR_IRQ 0x5a 80*8d67ca89SAndroid Build Coastguard Worker #define GPR_DBAC 0x5b 81*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000000 0xc0 82*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000001 0xc1 83*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000002 0xc2 84*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000003 0xc3 85*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000004 0xc4 86*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000008 0xc5 87*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000010 0xc6 88*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000020 0xc7 89*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000100 0xc8 90*8d67ca89SAndroid Build Coastguard Worker #define A_C_00010000 0xc9 91*8d67ca89SAndroid Build Coastguard Worker #define A_C_00000800 0xca 92*8d67ca89SAndroid Build Coastguard Worker #define A_C_10000000 0xcb 93*8d67ca89SAndroid Build Coastguard Worker #define A_C_20000000 0xcc 94*8d67ca89SAndroid Build Coastguard Worker #define A_C_40000000 0xcd 95*8d67ca89SAndroid Build Coastguard Worker #define A_C_80000000 0xce 96*8d67ca89SAndroid Build Coastguard Worker #define A_C_7fffffff 0xcf 97*8d67ca89SAndroid Build Coastguard Worker #define A_C_ffffffff 0xd0 98*8d67ca89SAndroid Build Coastguard Worker #define A_C_fffffffe 0xd1 99*8d67ca89SAndroid Build Coastguard Worker #define A_C_c0000000 0xd2 100*8d67ca89SAndroid Build Coastguard Worker #define A_C_4f1bbcdc 0xd3 101*8d67ca89SAndroid Build Coastguard Worker #define A_C_5a7ef9db 0xd4 102*8d67ca89SAndroid Build Coastguard Worker #define A_C_00100000 0xd5 103*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_ACCU 0xd6 104*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_COND 0xd7 105*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_NOISE0 0xd8 106*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_NOISE1 0xd9 107*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_IRQ 0xda 108*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_DBAC 0xdb 109*8d67ca89SAndroid Build Coastguard Worker #define A_GPR_DBACE 0xde 110*8d67ca89SAndroid Build Coastguard Worker #define FXGPREGBASE 0x100 111*8d67ca89SAndroid Build Coastguard Worker #define A_FXGPREGBASE 0x400 112*8d67ca89SAndroid Build Coastguard Worker #define A_TANKMEMCTLREGBASE 0x100 113*8d67ca89SAndroid Build Coastguard Worker #define A_TANKMEMCTLREG_MASK 0x1f 114*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMDATAREGBASE 0x200 115*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMDATAREG_MASK 0x000fffff 116*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMADDRREGBASE 0x300 117*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMADDRREG_ADDR_MASK 0x000fffff 118*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMADDRREG_CLEAR 0x00800000 119*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMADDRREG_ALIGN 0x00400000 120*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMADDRREG_WRITE 0x00200000 121*8d67ca89SAndroid Build Coastguard Worker #define TANKMEMADDRREG_READ 0x00100000 122*8d67ca89SAndroid Build Coastguard Worker #define GPR(x) (FXGPREGBASE + (x)) 123*8d67ca89SAndroid Build Coastguard Worker #define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) 124*8d67ca89SAndroid Build Coastguard Worker #define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x)) 125*8d67ca89SAndroid Build Coastguard Worker #define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) 126*8d67ca89SAndroid Build Coastguard Worker #define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x)) 127*8d67ca89SAndroid Build Coastguard Worker #define A_GPR(x) (A_FXGPREGBASE + (x)) 128*8d67ca89SAndroid Build Coastguard Worker #define A_ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) 129*8d67ca89SAndroid Build Coastguard Worker #define A_ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0xc0 + (x)) 130*8d67ca89SAndroid Build Coastguard Worker #define A_ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) 131*8d67ca89SAndroid Build Coastguard Worker #define A_ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0xc0 + (x)) 132*8d67ca89SAndroid Build Coastguard Worker #define A_ITRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0x00 + (x)) 133*8d67ca89SAndroid Build Coastguard Worker #define A_ETRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0xc0 + (x)) 134*8d67ca89SAndroid Build Coastguard Worker #define CC_REG_NORMALIZED C_00000001 135*8d67ca89SAndroid Build Coastguard Worker #define CC_REG_BORROW C_00000002 136*8d67ca89SAndroid Build Coastguard Worker #define CC_REG_MINUS C_00000004 137*8d67ca89SAndroid Build Coastguard Worker #define CC_REG_ZERO C_00000008 138*8d67ca89SAndroid Build Coastguard Worker #define CC_REG_SATURATE C_00000010 139*8d67ca89SAndroid Build Coastguard Worker #define CC_REG_NONZERO C_00000100 140*8d67ca89SAndroid Build Coastguard Worker #define A_CC_REG_NORMALIZED A_C_00000001 141*8d67ca89SAndroid Build Coastguard Worker #define A_CC_REG_BORROW A_C_00000002 142*8d67ca89SAndroid Build Coastguard Worker #define A_CC_REG_MINUS A_C_00000004 143*8d67ca89SAndroid Build Coastguard Worker #define A_CC_REG_ZERO A_C_00000008 144*8d67ca89SAndroid Build Coastguard Worker #define A_CC_REG_SATURATE A_C_00000010 145*8d67ca89SAndroid Build Coastguard Worker #define A_CC_REG_NONZERO A_C_00000100 146*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_LEFT 0x00 147*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_RIGHT 0x01 148*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_LEFT_REAR 0x02 149*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_RIGHT_REAR 0x03 150*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_MIDI_LEFT 0x04 151*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_MIDI_RIGHT 0x05 152*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_CENTER 0x06 153*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_LFE 0x07 154*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_LEFT_FRONT 0x08 155*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_RIGHT_FRONT 0x09 156*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_MIDI_REVERB 0x0c 157*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_MIDI_CHORUS 0x0d 158*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_LEFT_SIDE 0x0e 159*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PCM_RIGHT_SIDE 0x0f 160*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PT_LEFT 0x14 161*8d67ca89SAndroid Build Coastguard Worker #define FXBUS_PT_RIGHT 0x15 162*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_AC97_L 0x00 163*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_AC97_R 0x01 164*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_SPDIF_CD_L 0x02 165*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_SPDIF_CD_R 0x03 166*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_ZOOM_L 0x04 167*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_ZOOM_R 0x05 168*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_TOSLINK_L 0x06 169*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_TOSLINK_R 0x07 170*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_LINE1_L 0x08 171*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_LINE1_R 0x09 172*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_COAX_SPDIF_L 0x0a 173*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_COAX_SPDIF_R 0x0b 174*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_LINE2_L 0x0c 175*8d67ca89SAndroid Build Coastguard Worker #define EXTIN_LINE2_R 0x0d 176*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_AC97_L 0x00 177*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_AC97_R 0x01 178*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_TOSLINK_L 0x02 179*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_TOSLINK_R 0x03 180*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_AC97_CENTER 0x04 181*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_AC97_LFE 0x05 182*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_HEADPHONE_L 0x06 183*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_HEADPHONE_R 0x07 184*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_REAR_L 0x08 185*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_REAR_R 0x09 186*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_ADC_CAP_L 0x0a 187*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_ADC_CAP_R 0x0b 188*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_MIC_CAP 0x0c 189*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_AC97_REAR_L 0x0d 190*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_AC97_REAR_R 0x0e 191*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_ACENTER 0x11 192*8d67ca89SAndroid Build Coastguard Worker #define EXTOUT_ALFE 0x12 193*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_AC97_L 0x00 194*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_AC97_R 0x01 195*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_SPDIF_CD_L 0x02 196*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_SPDIF_CD_R 0x03 197*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_OPT_SPDIF_L 0x04 198*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_OPT_SPDIF_R 0x05 199*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_LINE2_L 0x08 200*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_LINE2_R 0x09 201*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_ADC_L 0x0a 202*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_ADC_R 0x0b 203*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_AUX2_L 0x0c 204*8d67ca89SAndroid Build Coastguard Worker #define A_EXTIN_AUX2_R 0x0d 205*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_FRONT_L 0x00 206*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_FRONT_R 0x01 207*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_CENTER 0x02 208*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_LFE 0x03 209*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_HEADPHONE_L 0x04 210*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_HEADPHONE_R 0x05 211*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_REAR_L 0x06 212*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_REAR_R 0x07 213*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_AFRONT_L 0x08 214*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_AFRONT_R 0x09 215*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_ACENTER 0x0a 216*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_ALFE 0x0b 217*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_ASIDE_L 0x0c 218*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_ASIDE_R 0x0d 219*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_AREAR_L 0x0e 220*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_AREAR_R 0x0f 221*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_AC97_L 0x10 222*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_AC97_R 0x11 223*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_ADC_CAP_L 0x16 224*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_ADC_CAP_R 0x17 225*8d67ca89SAndroid Build Coastguard Worker #define A_EXTOUT_MIC_CAP 0x18 226*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_ZC 0x80000000 227*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_SATURATION_OCCURED 0x02000000 228*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_SATURATION_ADDR 0x01ff0000 229*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_SINGLE_STEP 0x00008000 230*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_STEP 0x00004000 231*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_CONDITION_CODE 0x00003e00 232*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff 233*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_ZC 0x40000000 234*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_SATURATION_OCCURED 0x20000000 235*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_SATURATION_ADDR 0x0ffc0000 236*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_SINGLE_STEP 0x00020000 237*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_STEP 0x00010000 238*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_CONDITION_CODE 0x0000f800 239*8d67ca89SAndroid Build Coastguard Worker #define A_DBG_STEP_ADDR 0x000003ff 240*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_info { 241*8d67ca89SAndroid Build Coastguard Worker unsigned int internal_tram_size; 242*8d67ca89SAndroid Build Coastguard Worker unsigned int external_tram_size; 243*8d67ca89SAndroid Build Coastguard Worker char fxbus_names[16][32]; 244*8d67ca89SAndroid Build Coastguard Worker char extin_names[16][32]; 245*8d67ca89SAndroid Build Coastguard Worker char extout_names[32][32]; 246*8d67ca89SAndroid Build Coastguard Worker unsigned int gpr_controls; 247*8d67ca89SAndroid Build Coastguard Worker }; 248*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_NONE 0 249*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_TABLE100 1 250*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_BASS 2 251*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_TREBLE 3 252*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_ONOFF 4 253*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_NEGATE 5 254*8d67ca89SAndroid Build Coastguard Worker #define EMU10K1_GPR_TRANSLATION_NEG_TABLE100 6 255*8d67ca89SAndroid Build Coastguard Worker enum emu10k1_ctl_elem_iface { 256*8d67ca89SAndroid Build Coastguard Worker EMU10K1_CTL_ELEM_IFACE_MIXER = 2, 257*8d67ca89SAndroid Build Coastguard Worker EMU10K1_CTL_ELEM_IFACE_PCM = 3, 258*8d67ca89SAndroid Build Coastguard Worker }; 259*8d67ca89SAndroid Build Coastguard Worker struct emu10k1_ctl_elem_id { 260*8d67ca89SAndroid Build Coastguard Worker unsigned int pad; 261*8d67ca89SAndroid Build Coastguard Worker int iface; 262*8d67ca89SAndroid Build Coastguard Worker unsigned int device; 263*8d67ca89SAndroid Build Coastguard Worker unsigned int subdevice; 264*8d67ca89SAndroid Build Coastguard Worker unsigned char name[44]; 265*8d67ca89SAndroid Build Coastguard Worker unsigned int index; 266*8d67ca89SAndroid Build Coastguard Worker }; 267*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_control_gpr { 268*8d67ca89SAndroid Build Coastguard Worker struct emu10k1_ctl_elem_id id; 269*8d67ca89SAndroid Build Coastguard Worker unsigned int vcount; 270*8d67ca89SAndroid Build Coastguard Worker unsigned int count; 271*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr[32]; 272*8d67ca89SAndroid Build Coastguard Worker int value[32]; 273*8d67ca89SAndroid Build Coastguard Worker int min; 274*8d67ca89SAndroid Build Coastguard Worker int max; 275*8d67ca89SAndroid Build Coastguard Worker unsigned int translation; 276*8d67ca89SAndroid Build Coastguard Worker const unsigned int * tlv; 277*8d67ca89SAndroid Build Coastguard Worker }; 278*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_control_old_gpr { 279*8d67ca89SAndroid Build Coastguard Worker struct emu10k1_ctl_elem_id id; 280*8d67ca89SAndroid Build Coastguard Worker unsigned int vcount; 281*8d67ca89SAndroid Build Coastguard Worker unsigned int count; 282*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr[32]; 283*8d67ca89SAndroid Build Coastguard Worker unsigned int value[32]; 284*8d67ca89SAndroid Build Coastguard Worker unsigned int min; 285*8d67ca89SAndroid Build Coastguard Worker unsigned int max; 286*8d67ca89SAndroid Build Coastguard Worker unsigned int translation; 287*8d67ca89SAndroid Build Coastguard Worker }; 288*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_code { 289*8d67ca89SAndroid Build Coastguard Worker char name[128]; 290*8d67ca89SAndroid Build Coastguard Worker __EMU10K1_DECLARE_BITMAP(gpr_valid, 0x200); 291*8d67ca89SAndroid Build Coastguard Worker __u32 * gpr_map; 292*8d67ca89SAndroid Build Coastguard Worker unsigned int gpr_add_control_count; 293*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_control_gpr * gpr_add_controls; 294*8d67ca89SAndroid Build Coastguard Worker unsigned int gpr_del_control_count; 295*8d67ca89SAndroid Build Coastguard Worker struct emu10k1_ctl_elem_id * gpr_del_controls; 296*8d67ca89SAndroid Build Coastguard Worker unsigned int gpr_list_control_count; 297*8d67ca89SAndroid Build Coastguard Worker unsigned int gpr_list_control_total; 298*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_control_gpr * gpr_list_controls; 299*8d67ca89SAndroid Build Coastguard Worker __EMU10K1_DECLARE_BITMAP(tram_valid, 0x100); 300*8d67ca89SAndroid Build Coastguard Worker __u32 * tram_data_map; 301*8d67ca89SAndroid Build Coastguard Worker __u32 * tram_addr_map; 302*8d67ca89SAndroid Build Coastguard Worker __EMU10K1_DECLARE_BITMAP(code_valid, 1024); 303*8d67ca89SAndroid Build Coastguard Worker __u32 * code; 304*8d67ca89SAndroid Build Coastguard Worker }; 305*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_tram { 306*8d67ca89SAndroid Build Coastguard Worker unsigned int address; 307*8d67ca89SAndroid Build Coastguard Worker unsigned int size; 308*8d67ca89SAndroid Build Coastguard Worker unsigned int * samples; 309*8d67ca89SAndroid Build Coastguard Worker }; 310*8d67ca89SAndroid Build Coastguard Worker struct snd_emu10k1_fx8010_pcm_rec { 311*8d67ca89SAndroid Build Coastguard Worker unsigned int substream; 312*8d67ca89SAndroid Build Coastguard Worker unsigned int res1; 313*8d67ca89SAndroid Build Coastguard Worker unsigned int channels; 314*8d67ca89SAndroid Build Coastguard Worker unsigned int tram_start; 315*8d67ca89SAndroid Build Coastguard Worker unsigned int buffer_size; 316*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr_size; 317*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr_ptr; 318*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr_count; 319*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr_tmpcount; 320*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr_trigger; 321*8d67ca89SAndroid Build Coastguard Worker unsigned short gpr_running; 322*8d67ca89SAndroid Build Coastguard Worker unsigned char pad; 323*8d67ca89SAndroid Build Coastguard Worker unsigned char etram[32]; 324*8d67ca89SAndroid Build Coastguard Worker unsigned int res2; 325*8d67ca89SAndroid Build Coastguard Worker }; 326*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1) 327*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_INFO _IOR('H', 0x10, struct snd_emu10k1_fx8010_info) 328*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_CODE_POKE _IOW('H', 0x11, struct snd_emu10k1_fx8010_code) 329*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_CODE_PEEK _IOWR('H', 0x12, struct snd_emu10k1_fx8010_code) 330*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_TRAM_SETUP _IOW('H', 0x20, int) 331*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_TRAM_POKE _IOW('H', 0x21, struct snd_emu10k1_fx8010_tram) 332*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_TRAM_PEEK _IOWR('H', 0x22, struct snd_emu10k1_fx8010_tram) 333*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_PCM_POKE _IOW('H', 0x30, struct snd_emu10k1_fx8010_pcm_rec) 334*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_PCM_PEEK _IOWR('H', 0x31, struct snd_emu10k1_fx8010_pcm_rec) 335*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_PVERSION _IOR('H', 0x40, int) 336*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_STOP _IO('H', 0x80) 337*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_CONTINUE _IO('H', 0x81) 338*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER _IO('H', 0x82) 339*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW('H', 0x83, int) 340*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR('H', 0x84, int) 341*8d67ca89SAndroid Build Coastguard Worker #endif 342