⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emu10k1.h

📁 linux 内核源代码
💻 H
📖 第 1 页 / 共 5 页
字号:
#define SPCS_CHANNELNUM_LEFT	0x00100000	/* Left channel					*/#define SPCS_CHANNELNUM_RIGHT	0x00200000	/* Right channel				*/#define SPCS_SOURCENUMMASK	0x000f0000	/* Source number				*/#define SPCS_SOURCENUM_UNSPEC	0x00000000	/* Unspecified source number			*/#define SPCS_GENERATIONSTATUS	0x00008000	/* Originality flag (see IEC-958 spec)		*/#define SPCS_CATEGORYCODEMASK	0x00007f00	/* Category code (see IEC-958 spec)		*/#define SPCS_MODEMASK		0x000000c0	/* Mode (see IEC-958 spec)			*/#define SPCS_EMPHASISMASK	0x00000038	/* Emphasis					*/#define SPCS_EMPHASIS_NONE	0x00000000	/* No emphasis					*/#define SPCS_EMPHASIS_50_15	0x00000008	/* 50/15 usec 2 channel				*/#define SPCS_COPYRIGHT		0x00000004	/* Copyright asserted flag -- do not modify	*/#define SPCS_NOTAUDIODATA	0x00000002	/* 0 = Digital audio, 1 = not audio		*/#define SPCS_PROFESSIONAL	0x00000001	/* 0 = Consumer (IEC-958), 1 = pro (AES3-1992)	*//* 0x57: Not used *//* The 32-bit CLIx and SOLx registers all have one bit per channel control/status      		*/#define CLIEL			0x58		/* Channel loop interrupt enable low register	*/#define CLIEH			0x59		/* Channel loop interrupt enable high register	*/#define CLIPL			0x5a		/* Channel loop interrupt pending low register	*/#define CLIPH			0x5b		/* Channel loop interrupt pending high register	*/#define SOLEL			0x5c		/* Stop on loop enable low register		*/#define SOLEH			0x5d		/* Stop on loop enable high register		*/#define SPBYPASS		0x5e		/* SPDIF BYPASS mode register			*/#define SPBYPASS_SPDIF0_MASK	0x00000003	/* SPDIF 0 bypass mode				*/#define SPBYPASS_SPDIF1_MASK	0x0000000c	/* SPDIF 1 bypass mode				*//* bypass mode: 0 - DSP; 1 - SPDIF A, 2 - SPDIF B, 3 - SPDIF C					*/#define SPBYPASS_FORMAT		0x00000f00      /* If 1, SPDIF XX uses 24 bit, if 0 - 20 bit	*/#define AC97SLOT		0x5f            /* additional AC97 slots enable bits		*/#define AC97SLOT_REAR_RIGHT	0x01		/* Rear left */#define AC97SLOT_REAR_LEFT	0x02		/* Rear right */#define AC97SLOT_CNTR		0x10            /* Center enable */#define AC97SLOT_LFE		0x20            /* LFE enable *//* PCB Revision */#define A_PCB			0x5f// NOTE: 0x60,61,62: 64-bit#define CDSRCS			0x60		/* CD-ROM Sample Rate Converter status register	*/#define GPSRCS			0x61		/* General Purpose SPDIF sample rate cvt status */#define ZVSRCS			0x62		/* ZVideo sample rate converter status		*/						/* NOTE: This one has no SPDIFLOCKED field	*/						/* Assumes sample lock				*//* These three bitfields apply to CDSRCS, GPSRCS, and (except as noted) ZVSRCS.			*/#define SRCS_SPDIFVALID		0x04000000	/* SPDIF stream valid				*/#define SRCS_SPDIFLOCKED	0x02000000	/* SPDIF stream locked				*/#define SRCS_RATELOCKED		0x01000000	/* Sample rate locked				*/#define SRCS_ESTSAMPLERATE	0x0007ffff	/* Do not modify this field.			*//* Note that these values can vary +/- by a small amount                                        */#define SRCS_SPDIFRATE_44	0x0003acd9#define SRCS_SPDIFRATE_48	0x00040000#define SRCS_SPDIFRATE_96	0x00080000#define MICIDX                  0x63            /* Microphone recording buffer index register   */#define MICIDX_MASK             0x0000ffff      /* 16-bit value                                 */#define MICIDX_IDX		0x10000063#define ADCIDX			0x64		/* ADC recording buffer index register		*/#define ADCIDX_MASK		0x0000ffff	/* 16 bit index field				*/#define ADCIDX_IDX		0x10000064#define A_ADCIDX		0x63#define A_ADCIDX_IDX		0x10000063#define A_MICIDX		0x64#define A_MICIDX_IDX		0x10000064#define FXIDX			0x65		/* FX recording buffer index register		*/#define FXIDX_MASK		0x0000ffff	/* 16-bit value					*/#define FXIDX_IDX		0x10000065/* The 32-bit HLIx and HLIPx registers all have one bit per channel control/status      		*/#define HLIEL			0x66		/* Channel half loop interrupt enable low register	*/#define HLIEH			0x67		/* Channel half loop interrupt enable high register	*/#define HLIPL			0x68		/* Channel half loop interrupt pending low register	*/#define HLIPH			0x69		/* Channel half loop interrupt pending high register	*//* S/PDIF Host Record Index (bypasses SRC) */#define A_SPRI			0x6a/* S/PDIF Host Record Address */#define A_SPRA			0x6b/* S/PDIF Host Record Control */#define A_SPRC			0x6c/* Delayed Interrupt Counter & Enable */#define A_DICE			0x6d/* Tank Table Base */#define A_TTB			0x6e/* Tank Delay Offset */#define A_TDOF			0x6f/* This is the MPU port on the card (via the game port)						*/#define A_MUDATA1		0x70#define A_MUCMD1		0x71#define A_MUSTAT1		A_MUCMD1/* This is the MPU port on the Audigy Drive 							*/#define A_MUDATA2		0x72#define A_MUCMD2		0x73#define A_MUSTAT2		A_MUCMD2	/* The next two are the Audigy equivalent of FXWC						*//* the Audigy can record any output (16bit, 48kHz, up to 64 channel simultaneously) 		*//* Each bit selects a channel for recording */#define A_FXWC1			0x74            /* Selects 0x7f-0x60 for FX recording           */#define A_FXWC2			0x75		/* Selects 0x9f-0x80 for FX recording           *//* Extended Hardware Control */#define A_SPDIF_SAMPLERATE	0x76		/* Set the sample rate of SPDIF output		*/#define A_SAMPLE_RATE		0x76		/* Various sample rate settings. */#define A_SAMPLE_RATE_NOT_USED  0x0ffc111e	/* Bits that are not used and cannot be set. 	*/#define A_SAMPLE_RATE_UNKNOWN	0xf0030001	/* Bits that can be set, but have unknown use. 	*/#define A_SPDIF_RATE_MASK	0x000000e0	/* Any other values for rates, just use 48000	*/#define A_SPDIF_48000		0x00000000#define A_SPDIF_192000		0x00000020#define A_SPDIF_96000		0x00000040#define A_SPDIF_44100		0x00000080#define A_I2S_CAPTURE_RATE_MASK	0x00000e00	/* This sets the capture PCM rate, but it is    */#define A_I2S_CAPTURE_48000	0x00000000	/* unclear if this sets the ADC rate as well.	*/#define A_I2S_CAPTURE_192000	0x00000200#define A_I2S_CAPTURE_96000	0x00000400#define A_I2S_CAPTURE_44100	0x00000800#define A_PCM_RATE_MASK		0x0000e000	/* This sets the playback PCM rate on the P16V	*/#define A_PCM_48000		0x00000000#define A_PCM_192000		0x00002000#define A_PCM_96000		0x00004000#define A_PCM_44100		0x00008000/* I2S0 Sample Rate Tracker Status */#define A_SRT3			0x77/* I2S1 Sample Rate Tracker Status */#define A_SRT4			0x78/* I2S2 Sample Rate Tracker Status */#define A_SRT5			0x79/* - default to 0x01080000 on my audigy 2 ZS --rlrevell	*//* Tank Table DMA Address */#define A_TTDA			0x7a/* Tank Table DMA Data */#define A_TTDD			0x7b#define A_FXRT2			0x7c#define A_FXRT_CHANNELE		0x0000003f	/* Effects send bus number for channel's effects send E	*/#define A_FXRT_CHANNELF		0x00003f00	/* Effects send bus number for channel's effects send F	*/#define A_FXRT_CHANNELG		0x003f0000	/* Effects send bus number for channel's effects send G	*/#define A_FXRT_CHANNELH		0x3f000000	/* Effects send bus number for channel's effects send H	*/#define A_SENDAMOUNTS		0x7d#define A_FXSENDAMOUNT_E_MASK	0xFF000000#define A_FXSENDAMOUNT_F_MASK	0x00FF0000#define A_FXSENDAMOUNT_G_MASK	0x0000FF00#define A_FXSENDAMOUNT_H_MASK	0x000000FF/* 0x7c, 0x7e "high bit is used for filtering" */ /* The send amounts for this one are the same as used with the emu10k1 */#define A_FXRT1			0x7e#define A_FXRT_CHANNELA		0x0000003f#define A_FXRT_CHANNELB		0x00003f00#define A_FXRT_CHANNELC		0x003f0000#define A_FXRT_CHANNELD		0x3f000000/* 0x7f: Not used *//* Each FX general purpose register is 32 bits in length, all bits are used			*/#define FXGPREGBASE		0x100		/* FX general purpose registers base       	*/#define A_FXGPREGBASE		0x400		/* Audigy GPRs, 0x400 to 0x5ff			*/#define A_TANKMEMCTLREGBASE	0x100		/* Tank memory control registers base - only for Audigy */#define A_TANKMEMCTLREG_MASK	0x1f		/* only 5 bits used - only for Audigy *//* Tank audio data is logarithmically compressed down to 16 bits before writing to TRAM and is	*//* decompressed back to 20 bits on a read.  There are a total of 160 locations, the last 32	*//* locations are for external TRAM. 								*/#define TANKMEMDATAREGBASE	0x200		/* Tank memory data registers base     		*/#define TANKMEMDATAREG_MASK	0x000fffff	/* 20 bit tank audio data field			*//* Combined address field and memory opcode or flag field.  160 locations, last 32 are external	*/#define TANKMEMADDRREGBASE	0x300		/* Tank memory address registers base		*/#define TANKMEMADDRREG_ADDR_MASK 0x000fffff	/* 20 bit tank address field			*/#define TANKMEMADDRREG_CLEAR	0x00800000	/* Clear tank memory				*/#define TANKMEMADDRREG_ALIGN	0x00400000	/* Align read or write relative to tank access	*/#define TANKMEMADDRREG_WRITE	0x00200000	/* Write to tank memory				*/#define TANKMEMADDRREG_READ	0x00100000	/* Read from tank memory			*/#define MICROCODEBASE		0x400		/* Microcode data base address			*//* Each DSP microcode instruction is mapped into 2 doublewords 					*//* NOTE: When writing, always write the LO doubleword first.  Reads can be in either order.	*/#define LOWORD_OPX_MASK		0x000ffc00	/* Instruction operand X			*/#define LOWORD_OPY_MASK		0x000003ff	/* Instruction operand Y			*/#define HIWORD_OPCODE_MASK	0x00f00000	/* Instruction opcode				*/#define HIWORD_RESULT_MASK	0x000ffc00	/* Instruction result				*/#define HIWORD_OPA_MASK		0x000003ff	/* Instruction operand A			*//* Audigy Soundcard have a different instruction format */#define A_MICROCODEBASE		0x600#define A_LOWORD_OPY_MASK	0x000007ff#define A_LOWORD_OPX_MASK	0x007ff000#define A_HIWORD_OPCODE_MASK	0x0f000000#define A_HIWORD_RESULT_MASK	0x007ff000#define A_HIWORD_OPA_MASK	0x000007ff/************************************************************************************************//* EMU1010m HANA FPGA registers									*//************************************************************************************************/#define EMU_HANA_DESTHI		0x00	/* 0000xxx  3 bits Link Destination */#define EMU_HANA_DESTLO		0x01	/* 00xxxxx  5 bits */#define EMU_HANA_SRCHI		0x02	/* 0000xxx  3 bits Link Source */#define EMU_HANA_SRCLO		0x03	/* 00xxxxx  5 bits */#define EMU_HANA_DOCK_PWR	0x04	/* 000000x  1 bits Audio Dock power */#define EMU_HANA_DOCK_PWR_ON		0x01 /* Audio Dock power on */#define EMU_HANA_WCLOCK		0x05	/* 0000xxx  3 bits Word Clock source select  */					/* Must be written after power on to reset DLL */					/* One is unable to detect the Audio dock without this */#define EMU_HANA_WCLOCK_SRC_MASK	0x07#define EMU_HANA_WCLOCK_INT_48K		0x00#define EMU_HANA_WCLOCK_INT_44_1K	0x01#define EMU_HANA_WCLOCK_HANA_SPDIF_IN	0x02#define EMU_HANA_WCLOCK_HANA_ADAT_IN	0x03#define EMU_HANA_WCLOCK_SYNC_BNCN	0x04#define EMU_HANA_WCLOCK_2ND_HANA	0x05#define EMU_HANA_WCLOCK_SRC_RESERVED	0x06#define EMU_HANA_WCLOCK_OFF		0x07 /* For testing, forces fallback to DEFCLOCK */#define EMU_HANA_WCLOCK_MULT_MASK	0x18#define EMU_HANA_WCLOCK_1X		0x00#define EMU_HANA_WCLOCK_2X		0x08#define EMU_HANA_WCLOCK_4X		0x10#define EMU_HANA_WCLOCK_MULT_RESERVED	0x18#define EMU_HANA_DEFCLOCK	0x06	/* 000000x  1 bits Default Word Clock  */#define EMU_HANA_DEFCLOCK_48K		0x00

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -