xref: /haiku/src/add-ons/kernel/drivers/audio/ac97/sis7018/Registers.h (revision 07910542fd067906c6028cfc48f5ad38b32181fd)
1 /*
2  *	SiS 7018, Trident 4D Wave DX/NX, Acer Lab M5451 Sound Driver.
3  *	Copyright (c) 2002, 2008-2011 S.Zharski <imker@gmx.li>
4  *	Distributed under the terms of the MIT license.
5  *
6  *	Copyright for ali5451 support:
7  *		(c) 2009, Krzysztof Ćwiertnia (krzysiek.bmkx_gmail_com).
8  */
9 #ifndef _SiS7018_REGISTERS_H_
10 #define _SiS7018_REGISTERS_H_
11 
12 
13 enum Registers {
14 	// shared registers
15 	RegCodecWrite	= 0x40,
16 	RegCodecRead	= 0x44,
17 	RegCodecStatus	= 0x48,
18 		CodecStatusSBCtrl	= 0x40,
19 		CodecStatusActive	= 0x20,
20 		CodecStatusReady	= 0x10,
21 		CodecStatusADCON	= 0x08,
22 		CodecStatusDACON	= 0x02,
23 		CodecStatusReset	= 0x01,
24 		CodecTimeout		= 0xffff,
25 
26 	RegRecChannel	= 0x70,
27 	RegStartA		= 0x80,
28 	RegStopA		= 0x84,
29 	RegCurSPFA		= 0x90,
30 	RegAddrINTA		= 0x98,
31 	RegChIndex		= 0xa0,
32 		ChIndexMask		= 0x0000003f,
33 		ChIndexEndEna	= 0x00001000,
34 		ChIndexMidEna	= 0x00002000,
35 	RegEnaINTA		= 0xa4,
36 	RegMiscINT		= 0xb0,
37 	RegStartB		= 0xb4,
38 	RegStopB		= 0xb8,
39 	RegCurSPFB		= 0xbc,
40 	RegAddrINTB		= 0xd8,
41 	RegEnaINTB		= 0xdc,
42 	RegCSOAlphaFMS	= 0xe0,
43 	RegLBA_PPTR		= 0xe4,
44 	RegDeltaESO		= 0xe8,
45 	RegRVolCVolFMC	= 0xec,
46 	RegGVSelVolCtrl	= 0xf0,
47 	RegEBuf1		= 0xf4,
48 	RegEBuf2		= 0xf8,
49 
50 
51 	// SiS7018 specific registers
52 	RegSiSCodecWrite	= RegCodecWrite,
53 	RegSiSCodecRead		= RegCodecRead,
54 	RegSiSCodecStatus	= RegCodecStatus,
55 		SiSCodecResetOff	= 0x000f0000,
56 	RegSiSCodecGPIO		= 0x4c,
57 		ChIndexSiSEnaB	= 0x00010000,
58 
59 	// ALi5451 registers
60 	RegALiVolumeA		= 0xa8,
61 	RegALiMPUR2			= 0x22,
62 	RegALiSTimer		= 0xc8,
63 	RegALiDigiMixer		= 0xd4,
64 		ALiDigiMixerPCMIn	= 0x80000000,
65 
66 	// Trident NX specific registers
67 	RegNXCodecStatus	= 0x40,
68 		NXCodecStatusReady2	= 0x40,
69 		NXCodecStatusADC2ON	= 0x20,
70 		NXCodecStatusDAC2ON	= 0x10,
71 		NXCodecStatusReady1	= 0x08,
72 		NXCodecStatusADC1ON	= 0x04,
73 		NXCodecStatusDAC1ON	= 0x02,
74 		NXCodecStatusReset	= 0x01,
75 	RegNXCodecWrite	= 0x44,
76 	RegNXCodecRead	= 0x48,
77 	RegNXCodecRead2	= 0x4c
78 };
79 
80 
81 #endif // _SIS7018_REGISTERS_H_
82 
83