Home | History | Annotate | Line # | Download | only in vr
      1 /*	$NetBSD: vraiureg.h,v 1.1 2002/03/23 09:02:02 hamajima Exp $	*/
      2 
      3 /*
      4  * Copyright (c) 2001 HAMAJIMA Katsuomi. All rights reserved.
      5  *
      6  * Redistribution and use in source and binary forms, with or without
      7  * modification, are permitted provided that the following conditions
      8  * are met:
      9  * 1. Redistributions of source code must retain the above copyright
     10  *    notice, this list of conditions and the following disclaimer.
     11  * 2. Redistributions in binary form must reproduce the above copyright
     12  *    notice, this list of conditions and the following disclaimer in the
     13  *    documentation and/or other materials provided with the distribution.
     14  *
     15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     19  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     21  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     22  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     23  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     24  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     25  * SUCH DAMAGE.
     26  */
     27 
     28 /*
     29  *	AIU (Audio Interface Unit) Registers definitions.
     30  */
     31 
     32 #define	MDMADAT_REG_W	0x000	/* Mic DMA Data Register (10bit) */
     33 
     34 #define	SDMADAT_REG_W	0x002	/* Speaker DMA Data Register (10bit) */
     35 
     36 #define	SODATA_REG_W	0x006	/* Speaker Output Data Register (10bit) */
     37 
     38 #define	SCNT_REG_W	0x008	/* Speaker Control Register */
     39 #define		DAENAIU		(1<<15)	/* D/A Enable */
     40 #define		SSTATE		(1<<3)	/* Speaker Status */
     41 #define		SSTOPEN		(1<<1)	/* Speaker Stop End
     42 					   (1: 1 page, 0: 2 page) */
     43 
     44 #define	SCNVR_REG_W	0x00a	/* Speaker Converter Rate Register */
     45 #define		SPS8000		(4)	/* 8k sps */
     46 #define		SPS44100	(2)	/* 44.1k sps */
     47 #define		SPS22050	(1)	/* 22.05k sps */
     48 #define		SPS11025	(0)	/* 11.025k sps */
     49 
     50 #define	MIDAT_REG_W	0x010	/* Mic Input Data Register (10bit) */
     51 
     52 #define	MCNT_REG_W	0x012	/* Mic Control Register */
     53 #define		ADENAIU		(1<<15)	/* A/D Enable */
     54 #define		MSTATE		(1<<3)	/* Mic Status */
     55 #define		MSTOPEN		(1<<1)	/* Mic Stop End
     56 					   (1: 1 page, 0: 2 page) */
     57 #define		ADREQAIU	(1)	/* A/D Request */
     58 
     59 #define	MCNVR_REG_W	0x014	/* Mic Converter Rate Register */
     60 /* same SCNVR_REG_W(0x00a)
     61 #define		SPS8000		(4)
     62 #define		SPS44100	(2)
     63 #define		SPS22050	(1)
     64 #define		SPS11025	(0)
     65 */
     66 
     67 #define	DVALID_REG_W	0x018	/* Data Valid Register */
     68 #define		SODATV		(1<<3)	/* SODATREG Valid */
     69 #define		SOMAV		(1<<2)	/* SDMADATREG Valid */
     70 #define		MIDATV		(1<<1)	/* MIDATREG Valid */
     71 #define		MDMAV		(1)	/* MDMADATREG Valid */
     72 
     73 #define	SEQ_REG_W	0x01a	/* Sequencer Register */
     74 #define		AIURST		(1<<15)	/* AIU Reset */
     75 #define		AIUMEN		(1<<4)	/* Mic Enable */
     76 #define		AIUSEN		(1)	/* Speaker Enable */
     77 
     78 #define	INT_REG_W	0x01c	/* Interrupt Register */
     79 #define		MENDINTR	(1<<11)	/* Mic End Interrupt */
     80 #define		MINTR		(1<<10)	/* Mic Interrupt */
     81 #define		MIDLEINTR	(1<<9)	/* Mic Idle Interrupt */
     82 #define		MSTINTR		(1<<8)	/* Mic Set Interrupt */
     83 #define		SENDINTR	(1<<3)	/* Speaker End Interrupt */
     84 #define		SINTR		(1<<2)	/* Speaker Interrupt */
     85 #define		SIDLEINTR	(1<<1)	/* Speaker Idle Interrupt */
     86