~ubuntu-branches/ubuntu/karmic/powerpc-utils/karmic

« back to all changes in this revision

Viewing changes to awacs_defs.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Jacobowitz
  • Date: 2001-07-15 22:15:13 UTC
  • Revision ID: james.westby@ubuntu.com-20010715221513-vprm8indlwtjz39y
Tags: upstream-1.1.3
ImportĀ upstreamĀ versionĀ 1.1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
/*********************************************************/
 
3
/* This file was written by someone, somewhere, sometime */
 
4
/* And is released into the Public Domain                */
 
5
/*********************************************************/
 
6
 
 
7
#ifndef _AWACS_DEFS_H_
 
8
#define _AWACS_DEFS_H_
 
9
 
 
10
/**********************/
 
11
/* AWACs DMA Channels */
 
12
/**********************/
 
13
 
 
14
#define AUD_DMA_IN                      ((unsigned *) 0x09)
 
15
#define AUD_DMA_OUT                     ((unsigned *) 0x08)
 
16
 
 
17
/********************************/
 
18
/* AWACs DMA Register Addresses */
 
19
/********************************/
 
20
 
 
21
#define AUD_OUT_DMAREG          ((unsigned *) 0xf3008800)
 
22
#define AUD_OUT_CHCONT          ((unsigned *) 0xf3008800)
 
23
#define AUD_OUT_CHSTAT          ((unsigned *) 0xf3008804)
 
24
#define AUD_OUT_CMDPTR          ((unsigned *) 0xf300880c)
 
25
#define AUD_OUT_INTRSEL         ((unsigned *) 0xf3008810)
 
26
#define AUD_OUT_BRSEL           ((unsigned *) 0xf3008814)
 
27
#define AUD_OUT_WAITSEL         ((unsigned *) 0xf3008818)
 
28
 
 
29
#define AUD_IN_DMAREG           ((unsigned *) 0xf3008900)
 
30
#define AUD_IN_CHCONT           ((unsigned *) 0xf3008900)
 
31
#define AUD_IN_CHSTAT           ((unsigned *) 0xf3008904)
 
32
#define AUD_IN_CMDPTR           ((unsigned *) 0xf300890c)
 
33
#define AUD_IN_INTRSEL          ((unsigned *) 0xf3008910)
 
34
#define AUD_IN_BRSEL            ((unsigned *) 0xf3008914)
 
35
#define AUD_IN_WAITSEL          ((unsigned *) 0xf3008918)
 
36
 
 
37
/**********************************/
 
38
/* AWACs Audio Register Addresses */
 
39
/**********************************/
 
40
 
 
41
#define AUD_CONT                        ((unsigned *) 0xf3014000)
 
42
#define AUD_COD_CONT            ((unsigned *) 0xf3014010)
 
43
#define AUD_COD_STAT            ((unsigned *) 0xf3014020)
 
44
#define AUD_CLIP_CNT            ((unsigned *) 0xf3014030)
 
45
#define AUD_BYTESWAP            ((unsigned *) 0xf3014040)
 
46
 
 
47
/*******************/
 
48
/* Audio Bit Masks */
 
49
/*******************/
 
50
 
 
51
/* Audio Control Reg Bit Masks */
 
52
/* ----- ------- --- --- ----- */
 
53
#define MASK_ISFSEL                     (0xf)                   /* Input SubFrame Select */
 
54
#define MASK_OSFSEL                     (0xf << 4)              /* Output SubFrame Select */
 
55
#define MASK_RATE                       (0x7 << 8)              /* Sound Rate */
 
56
#define MASK_CNTLERR            (0x1 << 11)             /* Error */
 
57
#define MASK_PORTCHG            (0x1 << 12)             /* Port Change */
 
58
#define MASK_IEE                        (0x1 << 13)             /* Enable Interrupt on Error */
 
59
#define MASK_IEPC                       (0x1 << 14)             /* Enable Interrupt on Port Change */
 
60
#define MASK_SSFSEL                     (0x3 << 15)             /* Status SubFrame Select */
 
61
 
 
62
/* Audio Codec Control Reg Bit Masks */
 
63
/* ----- ----- ------- --- --- ----- */
 
64
#define MASK_NEWECMD            (0x1 << 24)             /* Lock: don't write to reg when high */
 
65
#define MASK_EMODESEL           (0x3 << 22)             /* Send info out on which frame? */
 
66
#define MASK_EXMODEADDR         (0x3ff << 12)   /* Extended Mode Address -- 10 bits (12-21) */
 
67
#define MASK_EXMODEDATA         (0xfff)                 /* Extended Mode Data -- 12 bits (0-11) */
 
68
 
 
69
/* Audio Codec Control Address Values / Masks */
 
70
/* ----- ----- ------- ------- ------ - ----- */
 
71
#define MASK_ADDR0                      (0x0 << 12)             /* Expanded Data Mode Address 0 */
 
72
#define MASK_ADDR_MUX           MASK_ADDR0              /* Mux Control */
 
73
#define MASK_ADDR_GAIN          MASK_ADDR0
 
74
#define MASK_ADDR1                      (0x1 << 12)             /* Expanded Data Mode Address 1 */
 
75
#define MASK_ADDR_MUTE          MASK_ADDR1
 
76
#define MASK_ADDR_RATE          MASK_ADDR1
 
77
#define MASK_ADDR2                      (0x2 << 12)             /* Expanded Data Mode Address 2 */
 
78
#define MASK_ADDR_VOLA          MASK_ADDR2              /* Volume Control A -- Speaker */
 
79
#define MASK_ADDR_VOLSPK        MASK_ADDR2
 
80
#define MASK_ADDR4                      (0x4 << 12)             /* Expanded Data Mode Address 4 */
 
81
#define MASK_ADDR_VOLC          MASK_ADDR4              /* Volume Control C -- Headphones */
 
82
#define MASK_ADDR_VOLHD         MASK_ADDR4
 
83
 
 
84
/* Address 0 Bit Masks & Macros */
 
85
/* ------- - --- ----- - ------ */
 
86
#define MASK_GAINRIGHT          (0xf)                   /* Gain Right Mask */
 
87
#define MASK_GAINLEFT           (0xf << 4)              /* Gain Left Mask */
 
88
#define MASK_GAINLINE           (0x1 << 8)              /* Change Gain for Line??? */
 
89
#define MASK_GAINMIC            (0x0 << 8)              /* Change Gain for Mic??? */
 
90
#define MASK_MUX_CD                     (0x1 << 9)              /* Select CD in MUX */
 
91
#define MASK_MUX_MIC            (0x1 << 10)             /* Select Mic in MUX */
 
92
#define MASK_MUX_AUDIN          (0x1 << 11)             /* Select Audio In in MUX */
 
93
#define MASK_MUX_LINE           MASK_MUX_AUDIN
 
94
 
 
95
#define GAINRIGHT(x)            ((x) & MASK_GAINRIGHT)
 
96
#define GAINLEFT(x)                     (((x) << 4) & MASK_GAINLEFT)
 
97
 
 
98
/* Address 1 Bit Masks */
 
99
/* ------- - --- ----- */
 
100
#define MASK_ADDR1RES1          (0x3)                   /* Reserved */
 
101
#define MASK_RECALIBRATE        (0x1 << 2)              /* Recalibrate */
 
102
#define MASK_SAMPLERATE         (0x7 << 3)              /* Sample Rate: */
 
103
#define MASK_LOOPTHRU           (0x1 << 6)              /* Loopthrough Enable */
 
104
#define MASK_CMUTE                      (0x1 << 7)              /* Output C (Headphone) Mute */
 
105
#define MASK_HDMUTE                     MASK_CMUTE
 
106
#define MASK_ADDR1RES2          (0x1 << 8)              /* Reserved */
 
107
#define MASK_AMUTE                      (0x1 << 9)              /* Output A (Speaker) Mute */
 
108
#define MASK_SPKMUTE            MASK_AMUTE
 
109
#define MASK_PAROUT                     (0x3 << 10)             /* Parallel Out (???) */
 
110
 
 
111
#define SAMPLERATE_48000        (0x0 << 3)              /* 48 kHz */
 
112
#define SAMPLERATE_32000        (0x1 << 3)              /* 32 kHz */
 
113
#define SAMPLERATE_24000        (0x2 << 3)              /* 24 kHz */
 
114
#define SAMPLERATE_19200        (0x3 << 3)              /* 19.2 kHz */
 
115
#define SAMPLERATE_16000        (0x4 << 3)              /* 16 kHz */
 
116
#define SAMPLERATE_12000        (0x5 << 3)              /* 12 kHz */
 
117
#define SAMPLERATE_9600         (0x6 << 3)              /* 9.6 kHz */
 
118
#define SAMPLERATE_8000         (0x7 << 3)              /* 8 kHz */
 
119
 
 
120
/* Address 2 & 4 Bit Masks & Macros */
 
121
/* ------- - - - --- ----- - ------ */
 
122
#define MASK_OUTVOLRIGHT        (0xf)                   /* Output Right Volume */
 
123
#define MASK_ADDR2RES1          (0x2 << 4)              /* Reserved */
 
124
#define MASK_ADDR4RES1          MASK_ADDR2RES1
 
125
#define MASK_OUTVOLLEFT         (0xf << 6)              /* Output Left Volume */
 
126
#define MASK_ADDR2RES2          (0x2 << 10)             /* Reserved */
 
127
#define MASK_ADDR4RES2          MASK_ADDR2RES2
 
128
 
 
129
#define VOLRIGHT(x)                     (((~(x)) & MASK_OUTVOLRIGHT))
 
130
#define VOLLEFT(x)                      (((~(x)) << 6) & MASK_OUTVOLLEFT)
 
131
 
 
132
/* Audio Codec Status Reg Bit Masks */
 
133
/* ----- ----- ------ --- --- ----- */
 
134
#define MASK_EXTEND                     (0x1 << 23)             /* Extend */
 
135
#define MASK_VALID                      (0x1 << 22)             /* Valid Data? */
 
136
#define MASK_OFLEFT                     (0x1 << 21)             /* Overflow Left */
 
137
#define MASK_OFRIGHT            (0x1 << 20)             /* Overflow Right */
 
138
#define MASK_ERRCODE            (0xf << 16)             /* Error Code */
 
139
#define MASK_REVISION           (0xf << 12)             /* Revision Number */
 
140
#define MASK_MFGID                      (0xf << 8)              /* Mfg. ID */
 
141
#define MASK_CODSTATRES         (0xf << 4)              /* bits 4 - 7 reserved */
 
142
#define MASK_INPPORT            (0xf)                   /* Input Port */
 
143
 
 
144
/* Clipping Count Reg Bit Masks */
 
145
/* -------- ----- --- --- ----- */
 
146
#define MASK_CLIPLEFT           (0xff << 7)             /* Clipping Count, Left Channel */
 
147
#define MASK_CLIPRIGHT          (0xff)                  /* Clipping Count, Right Channel */
 
148
 
 
149
/* ChannelStatus Bit Masks */
 
150
/* ------------- --- ----- */
 
151
#define MASK_CSERR                      (0x1 << 7)              /* Error */
 
152
#define MASK_EOI                        (0x1 << 6)              /* End of Input -- only for Input Channel */
 
153
#define MASK_CSUNUSED           (0x1f << 1)             /* bits 1-5 not used */
 
154
#define MASK_WAIT                       (0x1)                   /* Wait */
 
155
 
 
156
/* Various Rates */
 
157
/* ------- ----- */
 
158
#define RATE_48000                      (0x0 << 8)              /* 48 kHz */
 
159
#define RATE_44100                      (0x0 << 8)              /* 44.1 kHz */
 
160
#define RATE_32000                      (0x1 << 8)              /* 32 kHz */
 
161
#define RATE_29400                      (0x1 << 8)              /* 29.4 kHz */
 
162
#define RATE_24000                      (0x2 << 8)              /* 24 kHz */
 
163
#define RATE_22050                      (0x2 << 8)              /* 22.05 kHz */
 
164
#define RATE_19200                      (0x3 << 8)              /* 19.2 kHz */
 
165
#define RATE_17640                      (0x3 << 8)              /* 17.64 kHz */
 
166
#define RATE_16000                      (0x4 << 8)              /* 16 kHz */
 
167
#define RATE_14700                      (0x4 << 8)              /* 14.7 kHz */
 
168
#define RATE_12000                      (0x5 << 8)              /* 12 kHz */
 
169
#define RATE_11025                      (0x5 << 8)              /* 11.025 kHz */
 
170
#define RATE_9600                       (0x6 << 8)              /* 9.6 kHz */
 
171
#define RATE_8820                       (0x6 << 8)              /* 8.82 kHz */
 
172
#define RATE_8000                       (0x7 << 8)              /* 8 kHz */
 
173
#define RATE_7350                       (0x7 << 8)              /* 7.35 kHz */
 
174
 
 
175
#define RATE_LOW                        1                               /* HIGH = 48kHz, etc;  LOW = 44.1kHz, etc. */
 
176
 
 
177
#endif /* _AWACS_DEFS_H_ */