161108Scg/* 261108Scg * ======================================================================= 361108Scg * title : define 461108Scg * company : YAMAHA 561108Scg * author : Taichi Sugiyama 661108Scg * create Data : 28/Sep/99 761108Scg * ======================================================================= 861108Scg * $FreeBSD$ 961108Scg */ 1061108Scg 1161108Scg 1261108Scg/* ----- YAMAHA DS-XG Devices -------------------------------------------- */ 1361108Scg#define YAMAHA 0x1073 1461108Scg#define YMF724 0x0004 1561108Scg#define YMF724F 0x000d 1661108Scg#define YMF734 0x0005 1761108Scg#define YMF737 0x0008 1861108Scg#define YMF738 0x0020 1961108Scg#define YMF740 0x000a 2061108Scg#define YMF740C 0x000c 2161108Scg#define YMF744 0x0010 2261108Scg#define YMF754 0x0012 2361108Scg#define YMF738_TEG 0x0006 2461108Scg#define DEVICE4CH(x) ((x == YMF738) || (x == YMF744) || (x == YMF754)) 2561108Scg 2661108Scg 2761108Scg#define PCIR_DSXGCTRL 0x48 2861108Scg/* ----- interrupt flag -------------------------------------------------- */ 2961108Scg#define YDSXG_DEFINT 0x01 3061108Scg#define YDSXG_TIMERINT 0x02 3161108Scg 3261108Scg 3361108Scg/* ----- AC97 ------------------------------------------------------------ */ 3461108Scg#define YDSXG_AC97TIMEOUT 1000 3561108Scg#define YDSXG_AC97READCMD 0x8000 3661108Scg#define YDSXG_AC97WRITECMD 0x0000 3761108Scg#define YDSXG_AC97READFALSE 0xFFFF 3861108Scg 3961108Scg 4061108Scg/* ----- AC97 register map _---------------------------------------------- */ 4161108Scg#define AC97R_GPIOSTATUS 0x54 4261108Scg 4361108Scg 4461108Scg/* ----- work buffer ----------------------------------------------------- */ 4561108Scg#define DEF_WORKBUFFLENGTH 0x0400 4661108Scg 4761108Scg 4861108Scg/* ----- register size --------------------------------------------------- */ 4961108Scg#define YDSXG_MAPLENGTH 0x8000 5061108Scg#define YDSXG_DSPLENGTH 0x0080 5161108Scg#define YDSXG_CTRLLENGTH 0x3000 5261108Scg 5361108Scg 5461108Scg/* ----- register map ---------------------------------------------------- */ 5561108Scg#define YDSXGR_INTFLAG 0x0004 5661108Scg#define YDSXGR_ACTIVITY 0x0006 5761108Scg#define YDSXGR_GLOBALCTRL 0x0008 5861108Scg#define YDSXGR_ZVCTRL 0x000A 5961108Scg#define YDSXGR_TIMERCTRL 0x0010 6061108Scg#define YDSXGR_TIMERCOUNT 0x0012 6161108Scg#define YDSXGR_SPDIFOUTCTRL 0x0018 6261108Scg#define YDSXGR_SPDIFOUTSTATUS 0x001C 6361108Scg#define YDSXGR_EEPROMCTRL 0x0020 6461108Scg#define YDSXGR_SPDIFINCTRL 0x0034 6561108Scg#define YDSXGR_SPDIFINSTATUS 0x0038 6661108Scg#define YDSXGR_DSPPROGRAMDL 0x0048 6761108Scg#define YDSXGR_DLCNTRL 0x004C 6861108Scg#define YDSXGR_GPIOININTFLAG 0x0050 6961108Scg#define YDSXGR_GPIOININTENABLE 0x0052 7061108Scg#define YDSXGR_GPIOINSTATUS 0x0054 7161108Scg#define YDSXGR_GPIOOUTCTRL 0x0056 7261108Scg#define YDSXGR_GPIOFUNCENABLE 0x0058 7361108Scg#define YDSXGR_GPIOTYPECONFIG 0x005A 7461108Scg#define YDSXGR_AC97CMDDATA 0x0060 7561108Scg#define YDSXGR_AC97CMDADR 0x0062 7661108Scg#define YDSXGR_PRISTATUSDATA 0x0064 7761108Scg#define YDSXGR_PRISTATUSADR 0x0066 7861108Scg#define YDSXGR_SECSTATUSDATA 0x0068 7961108Scg#define YDSXGR_SECSTATUSADR 0x006A 8061108Scg#define YDSXGR_SECCONFIG 0x0070 8161108Scg#define YDSXGR_LEGACYOUTVOL 0x0080 8261108Scg#define YDSXGR_LEGACYOUTVOLL 0x0080 8361108Scg#define YDSXGR_LEGACYOUTVOLR 0x0082 8461108Scg#define YDSXGR_NATIVEDACOUTVOL 0x0084 8561108Scg#define YDSXGR_NATIVEDACOUTVOLL 0x0084 8661108Scg#define YDSXGR_NATIVEDACOUTVOLR 0x0086 8761108Scg#define YDSXGR_SPDIFOUTVOL 0x0088 8861108Scg#define YDSXGR_SPDIFOUTVOLL 0x0088 8961108Scg#define YDSXGR_SPDIFOUTVOLR 0x008A 9061108Scg#define YDSXGR_AC3OUTVOL 0x008C 9161108Scg#define YDSXGR_AC3OUTVOLL 0x008C 9261108Scg#define YDSXGR_AC3OUTVOLR 0x008E 9361108Scg#define YDSXGR_PRIADCOUTVOL 0x0090 9461108Scg#define YDSXGR_PRIADCOUTVOLL 0x0090 9561108Scg#define YDSXGR_PRIADCOUTVOLR 0x0092 9661108Scg#define YDSXGR_LEGACYLOOPVOL 0x0094 9761108Scg#define YDSXGR_LEGACYLOOPVOLL 0x0094 9861108Scg#define YDSXGR_LEGACYLOOPVOLR 0x0096 9961108Scg#define YDSXGR_NATIVEDACLOOPVOL 0x0098 10061108Scg#define YDSXGR_NATIVEDACLOOPVOLL 0x0098 10161108Scg#define YDSXGR_NATIVEDACLOOPVOLR 0x009A 10261108Scg#define YDSXGR_SPDIFLOOPVOL 0x009C 10361108Scg#define YDSXGR_SPDIFLOOPVOLL 0x009E 10461108Scg#define YDSXGR_SPDIFLOOPVOLR 0x009E 10561108Scg#define YDSXGR_AC3LOOPVOL 0x00A0 10661108Scg#define YDSXGR_AC3LOOPVOLL 0x00A0 10761108Scg#define YDSXGR_AC3LOOPVOLR 0x00A2 10861108Scg#define YDSXGR_PRIADCLOOPVOL 0x00A4 10961108Scg#define YDSXGR_PRIADCLOOPVOLL 0x00A4 11061108Scg#define YDSXGR_PRIADCLOOPVOLR 0x00A6 11161108Scg#define YDSXGR_NATIVEADCINVOL 0x00A8 11261108Scg#define YDSXGR_NATIVEADCINVOLL 0x00A8 11361108Scg#define YDSXGR_NATIVEADCINVOLR 0x00AA 11461108Scg#define YDSXGR_NATIVEDACINVOL 0x00AC 11561108Scg#define YDSXGR_NATIVEDACINVOLL 0x00AC 11661108Scg#define YDSXGR_NATIVEDACINVOLR 0x00AE 11761108Scg#define YDSXGR_BUF441OUTVOL 0x00B0 11861108Scg#define YDSXGR_BUF441OUTVOLL 0x00B0 11961108Scg#define YDSXGR_BUF441OUTVOLR 0x00B2 12061108Scg#define YDSXGR_BUF441LOOPVOL 0x00B4 12161108Scg#define YDSXGR_BUF441LOOPVOLL 0x00B4 12261108Scg#define YDSXGR_BUF441LOOPVOLR 0x00B6 12361108Scg#define YDSXGR_SPDIFOUTVOL2 0x00B8 12461108Scg#define YDSXGR_SPDIFOUTVOL2L 0x00B8 12561108Scg#define YDSXGR_SPDIFOUTVOL2R 0x00BA 12661108Scg#define YDSXGR_SPDIFLOOPVOL2 0x00BC 12761108Scg#define YDSXGR_SPDIFLOOPVOL2L 0x00BC 12861108Scg#define YDSXGR_SPDIFLOOPVOL2R 0x00BE 12961108Scg#define YDSXGR_ADCSLOTSR 0x00C0 13061108Scg#define YDSXGR_RECSLOTSR 0x00C4 13161108Scg#define YDSXGR_ADCFORMAT 0x00C8 13261108Scg#define YDSXGR_RECFORMAT 0x00CC 13361108Scg#define YDSXGR_P44SLOTSR 0x00D0 13461108Scg#define YDSXGR_STATUS 0x0100 13561108Scg#define YDSXGR_CTRLSELECT 0x0104 13661108Scg#define YDSXGR_MODE 0x0108 13761108Scg#define YDSXGR_SAMPLECOUNT 0x010C 13861108Scg#define YDSXGR_NUMOFSAMPLES 0x0110 13961108Scg#define YDSXGR_CONFIG 0x0114 14061108Scg#define YDSXGR_PLAYCTRLSIZE 0x0140 14161108Scg#define YDSXGR_RECCTRLSIZE 0x0144 14261108Scg#define YDSXGR_EFFCTRLSIZE 0x0148 14361108Scg#define YDSXGR_WORKSIZE 0x014C 14461108Scg#define YDSXGR_MAPOFREC 0x0150 14561108Scg#define YDSXGR_MAPOFEFFECT 0x0154 14661108Scg#define YDSXGR_PLAYCTRLBASE 0x0158 14761108Scg#define YDSXGR_RECCTRLBASE 0x015C 14861108Scg#define YDSXGR_EFFCTRLBASE 0x0160 14961108Scg#define YDSXGR_WORKBASE 0x0164 15061108Scg#define YDSXGR_DSPINSTRAM 0x1000 15161108Scg#define YDSXGR_CTRLINSTRAM 0x4000 15261108Scg 15361108Scg 15461108Scg/* ----- time out -------------------------------------------------------- */ 15561108Scg#define YDSXG_WORKBITTIMEOUT 250000 15661108Scg 157