|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1998-1999 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * Burgundy Hardware Registers ! 5: * ! 6: */ ! 7: ! 8: #define kSoundCtlReg 0x00 ! 9: #define kSoundCtlReg_InSubFrame_Mask 0x0000000F /*All of the input subframe bits*/ ! 10: #define kSoundCtlReg_InSubFrame_Bit 0x00000001 /*All of the input subframe bits*/ ! 11: #define kSoundCtlReg_InSubFrame0 0x00000001 ! 12: #define kSoundCtlReg_InSubFrame1 0x00000002 ! 13: #define kSoundCtlReg_InSubFrame2 0x00000004 ! 14: #define kSoundCtlReg_InSubFrame3 0x00000008 ! 15: #define kSoundCtlReg_OutSubFrame_Mask 0x000000F0 ! 16: #define kSoundCtlReg_OutSubFrame_Bit 0x00000010 ! 17: #define kSoundCtlReg_OutSubFrame0 0x00000010 ! 18: #define kSoundCtlReg_OutSubFrame1 0x00000020 ! 19: #define kSoundCtlReg_OutSubFrame2 0x00000040 ! 20: #define kSoundCtlReg_OutSubFrame3 0x00000080 ! 21: #define kSoundCtlReg_Rate_Mask 0x00000700 ! 22: #define kSoundCtlReg_Rate_Bit 0x00000100 ! 23: #define kSoundCtlReg_Rate_44100 0x00000000 ! 24: #define kSoundCtlReg_Error 0x00000800 ! 25: #define kSoundCtlReg_PortChange 0x00001000 ! 26: #define kSoundCtlReg_ErrorInt 0x00002000 ! 27: #define kSoundCtlReg_StatusSubFrame_Mask 0x00018000 ! 28: #define kSoundCtlReg_StatusSubFrame_Bit 0x00008000 ! 29: #define kSoundCtlReg_StatusSubFrame0 0x00000000 ! 30: #define kSoundCtlReg_StatusSubFrame1 0x00008000 ! 31: #define kSoundCtlReg_StatusSubFrame2 0x00010000 ! 32: #define kSoundCtlReg_StatusSubFrame3 0x00018000 ! 33: ! 34: /* ! 35: * ! 36: * Codec Control Fields Bit Format: vuwr Pppp Aaaa nn qq Ddddddddd ! 37: * 23 0 ! 38: * ! 39: * Ddddddddd - Data byte (to Codec) ! 40: * qq - Current byte in register transaction ! 41: * nn - Last byte in register transaction ! 42: * Aaaa - Codec register address - reg # ! 43: * Pppp - Codec register address - page # ! 44: * r - Reset transaction pointers ! 45: * w - 0=read 1=write ! 46: * u - unused ! 47: * v - Valid (v is set by the hardware automatically) ! 48: */ ! 49: #define kCodecCtlReg 0x10 ! 50: #define kCodecCtlReg_Data_Mask 0x000000FF ! 51: #define kCodecCtlReg_Data_Bit 0x00000001 ! 52: #define kCodecCtlReg_CurrentByte_Mask 0x00000300 ! 53: #define kCodecCtlReg_CurrentByte_Bit 0x00000100 ! 54: #define kCodecCtlReg_LastByte_Mask 0x00000C00 ! 55: #define kCodecCtlReg_LastByte_Bit 0x00000400 ! 56: #define kCodecCtlReg_Addr_Mask 0x000FF000 ! 57: #define kCodecCtlReg_Addr_Bit 0x00001000 ! 58: #define kCodecCtlReg_Reset 0x00100000 ! 59: #define kCodecCtlReg_Write 0x00200000 ! 60: #define kCodecCtlReg_Busy 0x01000000 ! 61: ! 62: /* ! 63: * ! 64: * Codec Status Fields Bit Format: FC00 IIII BB LL Dddddddd Pppp ! 65: * 23 0 ! 66: * Pppp - Input sense lines ! 67: * Dddddddd - Data byte (from Codec) ! 68: * LL - Byte location being read (0-3) ! 69: * BB - Byte counter (0-3) Increments when new byte is presented. ! 70: * IIII - Indicator code ! 71: * C - Codec ready ! 72: * F - First valid byte ! 73: */ ! 74: #define kCodecStatusReg 0x20 ! 75: #define kCodecStatusReg_Sense_Mask 0x0000000F ! 76: #define kCodecStatusReg_Sense_Bit 0x00000001 ! 77: #define kCodecStatusReg_Sense_Mic 0x00000002 ! 78: #define kCodecStatusReg_Sense_Headphones 0x00000004 ! 79: #define kCodecStatusReg_Sense_Headphones2 0x00000008 ! 80: #define kCodecStatusReg_Data_Mask 0x00000FF0 ! 81: #define kCodecStatusReg_Data_Bit 0x00000010 ! 82: #define kCodecStatusReg_CurrentByte_Mask 0x00003000 ! 83: #define kCodecStatusReg_CurrentByte_Bit 0x00001000 ! 84: #define kCodecStatusReg_ByteCounter_Mask 0x0000C000 ! 85: #define kCodecStatusReg_ByteCounter_Bit 0x00004000 ! 86: #define kCodecStatusReg_Indicator_Mask 0x000F0000 ! 87: #define kCodecStatusReg_Indicator_Bit 0x00010000 ! 88: #define kCodecStatusReg_Ready 0x00400000 ! 89: #define kCodecStatusReg_FirstByte 0x00800000 ! 90: ! 91: ! 92: #define kCodec_Indicator_ToneControl 0x01 ! 93: #define kCodec_Indicator_Overflow0 0x02 ! 94: #define kCodec_Indicator_Overflow1 0x03 ! 95: #define kCodec_Indicator_Overflow2 0x04 ! 96: #define kCodec_Indicator_InputLineChg 0x06 ! 97: #define kCodec_Indicator_Threshold0 0x0B ! 98: #define kCodec_Indicator_Threshold1 0x0C ! 99: #define kCodec_Indicator_Threshold2 0x0D ! 100: #define kCodec_Indicator_Threshold3 0x0E ! 101: #define kCodec_Indicator_TwilightCmp 0x0F ! 102: ! 103: ! 104: /* ! 105: * The I/O routines use the following convention to pass Codec register addresses: ! 106: * ! 107: * Codec Register Address: 00LL Pppp Aaaa 0000 00BB ! 108: * ! 109: * LL - Length of register ! 110: * Pppp - Codec register address - page # ! 111: * Aaaa - Codec register address - reg # ! 112: * BB - Offset to 1st byte of register. ! 113: */ ! 114: ! 115: #define BURGUNDY_LENGTH_1 0x00010000 ! 116: #define BURGUNDY_LENGTH_2 0x00020000 ! 117: #define BURGUNDY_LENGTH_3 0x00030000 ! 118: #define BURGUNDY_LENGTH_4 0x00040000 ! 119: ! 120: #define kInitReg (0x0000 | BURGUNDY_LENGTH_1) ! 121: #define kInitReg_Recalibrate 0x01 ! 122: #define kInitReg_Twilight 0x02 ! 123: ! 124: #define kRevisionReg (0x0100 | BURGUNDY_LENGTH_1) ! 125: #define kVersionReg (0x0101 | BURGUNDY_LENGTH_1) ! 126: #define kVendorReg (0x0102 | BURGUNDY_LENGTH_1) ! 127: #define kIdReg (0x0103 | BURGUNDY_LENGTH_1) ! 128: ! 129: #define kGlobalStatusReg (0x0200 | BURGUNDY_LENGTH_2) ! 130: #define kGlobalStatusReg_ClippingStatus 0x0001 ! 131: #define kGlobalStatusReg_OverflowStatus0 0x0002 ! 132: #define kGlobalStatusReg_OverflowStatus1 0x0004 ! 133: #define kGlobalStatusReg_SOSStatus1 0x0008 ! 134: #define kGlobalStatusReg_ParallelInStatus 0x0020 ! 135: #define kGlobalStatusReg_Threshold0 0x0400 ! 136: #define kGlobalStatusReg_Threshold1 0x0800 ! 137: #define kGlobalStatusReg_Threshold2 0x1000 ! 138: #define kGlobalStatusReg_Threshold3 0x2000 ! 139: ! 140: #define kReturnZeroReg (0x0F00 | BURGUNDY_LENGTH_1) ! 141: ! 142: ! 143: /* ! 144: * This register controls a fixed gain preamp (+24dB) on input ports 5-7 ! 145: */ ! 146: #define kInputPreampReg (0x1000 | BURGUNDY_LENGTH_1) ! 147: #define kInputPreampReg_Port5L 0x04 ! 148: #define kInputPreampReg_Port5R 0x08 ! 149: #define kInputPreampReg_Port6L 0x10 ! 150: #define kInputPreampReg_Port6R 0x20 ! 151: #define kInputPreampReg_Port7L 0x40 ! 152: #define kInputPreampReg_Port7R 0x80 ! 153: ! 154: /* ! 155: * Mux01 and Mux2 determine which analog inputs will be presented to A/D Converters 0-2 ! 156: */ ! 157: #define kMux01Reg (0x1100 | BURGUNDY_LENGTH_1) ! 158: #define kMux01Reg_Mux0L_Mask 0x03 ! 159: #define kMux01Reg_Mux0L_SelectPort1L 0x00 ! 160: #define kMux01Reg_Mux0L_SelectPort2L 0x01 ! 161: #define kMux01Reg_Mux0L_SelectPort3L 0x02 ! 162: #define kMux01Reg_Mux0R_Mask 0x0C ! 163: #define kMux01Reg_Mux0R_SelectPort1R 0x00 ! 164: #define kMux01Reg_Mux0R_SelectPort2R 0x04 ! 165: #define kMux01Reg_Mux0R_SelectPort3R 0x08 ! 166: #define kMux01Reg_Mux1L_Mask 0x30 ! 167: #define kMux01Reg_Mux1L_SelectPort1L 0x00 ! 168: #define kMux01Reg_Mux1L_SelectPort2L 0x10 ! 169: #define kMux01Reg_Mux1L_SelectPort3L 0x20 ! 170: #define kMux01Reg_Mux1R_Mask 0xC0 ! 171: #define kMux01Reg_Mux1R_SelectPort1R 0x00 ! 172: #define kMux01Reg_Mux1R_SelectPort2R 0x40 ! 173: #define kMux01Reg_Mux1R_SelectPort3R 0x80 ! 174: ! 175: #define kMux2Reg (0x1200 | BURGUNDY_LENGTH_1) ! 176: #define kMux2Reg_Mux2L_Mask 0x03 ! 177: #define kMux2Reg_Mux2L_SelectPort5L 0x00 ! 178: #define kMux2Reg_Mux2L_SelectPort6L 0x01 ! 179: #define kMux2Reg_Mux2L_SelectPort7L 0x02 ! 180: #define kMux2Reg_Mux2R_Mask 0x0C ! 181: #define kMux2Reg_Mux2R_SelectPort5R 0x00 ! 182: #define kMux2Reg_Mux2R_SelectPort6R 0x04 ! 183: #define kMux2Reg_Mux2R_SelectPort7R 0x08 ! 184: ! 185: /* ! 186: * VGA0-3 control an analog amp at the input to each A/D Converter ! 187: */ ! 188: #define kVGA0Reg (0x1300 | BURGUNDY_LENGTH_1) ! 189: #define kVGA0Reg_VGA0L_GainMask 0x0F ! 190: #define kVGA0Reg_VGA0L_GainBit 0x01 ! 191: #define kVGA0Reg_VGA0R_GainMask 0xF0 ! 192: #define kVGA0Reg_VGA0R_GainBit 0x10 ! 193: ! 194: #define kVGA1Reg (0x1400 | BURGUNDY_LENGTH_1) ! 195: #define kVGA1Reg_VGA1L_GainMask 0x0F ! 196: #define kVGA1Reg_VGA1L_GainBit 0x01 ! 197: #define kVGA1Reg_VGA1R_GainMask 0xF0 ! 198: #define kVGA1Reg_VGA1R_GainBit 0x10 ! 199: ! 200: #define kVGA2Reg (0x1500 | BURGUNDY_LENGTH_1) ! 201: #define kVGA2Reg_VGA2L_GainMask 0x0F ! 202: #define kVGA2Reg_VGA2L_GainBit 0x01 ! 203: #define kVGA2Reg_VGA2R_GainMask 0xF0 ! 204: #define kVGA2Reg_VGA2R_GainBit 0x10 ! 205: ! 206: #define kVGA3Reg (0x1600 | BURGUNDY_LENGTH_1) ! 207: #define kVGA0Reg_VGA3M_GainMask 0x0F ! 208: #define kVGA0Reg_VGA3M_GainBit 0x01 ! 209: ! 210: #define kDigInputPortReg (0x1700 | BURGUNDY_LENGTH_1) ! 211: ! 212: ! 213: /* ! 214: * This register provides the status of various input sense lines ! 215: */ ! 216: #define kInputStateReg (0x1800 | BURGUNDY_LENGTH_1) ! 217: #define kInputStateReg_InputIndicator 0x01 ! 218: #define kInputStateReg_Input1Active 0x02 ! 219: #define kInputStateReg_Input2Active 0x04 ! 220: #define kInputStateReg_Input3Active 0x08 ! 221: #define kInputStateReg_Sense0Active 0x10 ! 222: #define kInputStateReg_Sense1Active 0x20 ! 223: #define kInputStateReg_Sense2Active 0x40 ! 224: #define kInputStateReg_Sense3Active 0x80 ! 225: ! 226: /* ! 227: * This register provides the status of the A/D Converters ! 228: */ ! 229: #define kAD12StatusReg (0x1900 | BURGUNDY_LENGTH_2) ! 230: #define kAD12StatusReg_AD0L_OverRange 0x0001 ! 231: #define kAD12StatusReg_AD0R_OverRange 0x0002 ! 232: #define kAD12StatusReg_AD1L_OverRange 0x0004 ! 233: #define kAD12StatusReg_AD1R_OverRange 0x0008 ! 234: #define kAD12StatusReg_AD2L_OverRange 0x0010 ! 235: #define kAD12StatusReg_AD2R_OverRange 0x0020 ! 236: #define kAD12StatusReg_AD3M_OverRange 0x0040 ! 237: #define kAD12StatusReg_AD0L_OverRangeIndicator 0x0100 ! 238: #define kAD12StatusReg_AD0R_OverRangeIndicator 0x0200 ! 239: #define kAD12StatusReg_AD1L_OverRangeIndicator 0x0400 ! 240: #define kAD12StatusReg_AD1R_OverRangeIndicator 0x0800 ! 241: #define kAD12StatusReg_AD2L_OverRangeIndicator 0x1000 ! 242: #define kAD12StatusReg_AD2R_OverRangeIndicator 0x2000 ! 243: #define kAD12StatusReg_AD3M_OverRangeIndicator 0x4000 ! 244: ! 245: ! 246: /* ! 247: * These registers control digital scalars for the various input sources. ! 248: * Sources 0-4 are derived from the A/D Converter outputs. Sources A-H ! 249: * are either data from the host system or digital outputs from the chip ! 250: * which are being internally wrapped back. ! 251: */ ! 252: #define kGAS0LReg (0x2000 | BURGUNDY_LENGTH_1) ! 253: #define kPAS0LReg (0x2001 | BURGUNDY_LENGTH_1) ! 254: #define kGAS0RReg (0x2002 | BURGUNDY_LENGTH_1) ! 255: #define kPAS0RReg (0x2003 | BURGUNDY_LENGTH_1) ! 256: ! 257: #define kGAS_Default_Gain 0xDF ! 258: ! 259: #define kGAS1LReg (0x2100 | BURGUNDY_LENGTH_1) ! 260: #define kPAS1LReg (0x2101 | BURGUNDY_LENGTH_1) ! 261: #define kGAS1RReg (0x2102 | BURGUNDY_LENGTH_1) ! 262: #define kPAS1RReg (0x2103 | BURGUNDY_LENGTH_1) ! 263: ! 264: #define kGAS2LReg (0x2200 | BURGUNDY_LENGTH_1) ! 265: #define kPAS2LReg (0x2201 | BURGUNDY_LENGTH_1) ! 266: #define kGAS2RReg (0x2202 | BURGUNDY_LENGTH_1) ! 267: #define kPAS2RReg (0x2203 | BURGUNDY_LENGTH_1) ! 268: ! 269: #define kGAS3LReg (0x2300 | BURGUNDY_LENGTH_1) ! 270: #define kGAS3RReg (0x2301 | BURGUNDY_LENGTH_1) ! 271: #define kGAS4LReg (0x2302 | BURGUNDY_LENGTH_1) ! 272: #define kGAS4RReg (0x2303 | BURGUNDY_LENGTH_1) ! 273: ! 274: #define kGASALReg (0x2500 | BURGUNDY_LENGTH_1) ! 275: #define kGASARReg (0x2501 | BURGUNDY_LENGTH_1) ! 276: #define kGASBLReg (0x2502 | BURGUNDY_LENGTH_1) ! 277: #define kGASBRReg (0x2503 | BURGUNDY_LENGTH_1) ! 278: ! 279: #define kGASCLReg (0x2600 | BURGUNDY_LENGTH_1) ! 280: #define kGASCRReg (0x2601 | BURGUNDY_LENGTH_1) ! 281: #define kGASDLReg (0x2602 | BURGUNDY_LENGTH_1) ! 282: #define kGASDRReg (0x2603 | BURGUNDY_LENGTH_1) ! 283: ! 284: #define kGASELReg (0x2700 | BURGUNDY_LENGTH_1) ! 285: #define kGASERReg (0x2701 | BURGUNDY_LENGTH_1) ! 286: #define kGASFLReg (0x2702 | BURGUNDY_LENGTH_1) ! 287: #define kGASFRReg (0x2703 | BURGUNDY_LENGTH_1) ! 288: ! 289: #define kGASGLReg (0x2800 | BURGUNDY_LENGTH_1) ! 290: #define kGASGRReg (0x2801 | BURGUNDY_LENGTH_1) ! 291: #define kGASHLReg (0x2802 | BURGUNDY_LENGTH_1) ! 292: #define kGASHRReg (0x2803 | BURGUNDY_LENGTH_1) ! 293: ! 294: /* ! 295: * These registers control the inputs of four digital mixers. ! 296: * ! 297: * Each mixer may be provided any combination of the input sources mentioned ! 298: * listed above. ! 299: */ ! 300: #define kMX0Reg (0x2900 | BURGUNDY_LENGTH_4) ! 301: #define kMX0Reg_Select_IS0L 0x00000001 ! 302: #define kMX0Reg_Select_IS1L 0x00000002 ! 303: #define kMX0Reg_Select_IS2L 0x00000004 ! 304: #define kMX0Reg_Select_IS3L 0x00000008 ! 305: #define kMX0Reg_Select_IS4L 0x00000010 ! 306: #define kMX0Reg_Select_ISAL 0x00000100 ! 307: #define kMX0Reg_Select_ISBL 0x00000200 ! 308: #define kMX0Reg_Select_ISCL 0x00000400 ! 309: #define kMX0Reg_Select_ISDL 0x00000800 ! 310: #define kMX0Reg_Select_ISEL 0x00001000 ! 311: #define kMX0Reg_Select_ISFL 0x00002000 ! 312: #define kMX0Reg_Select_ISGL 0x00004000 ! 313: #define kMX0Reg_Select_ISHL 0x00008000 ! 314: #define kMX0Reg_Select_IS0R 0x00010000 ! 315: #define kMX0Reg_Select_IS1R 0x00020000 ! 316: #define kMX0Reg_Select_IS2R 0x00040000 ! 317: #define kMX0Reg_Select_IS3R 0x00080000 ! 318: #define kMX0Reg_Select_IS4R 0x00100000 ! 319: #define kMX0Reg_Select_ISAR 0x01000000 ! 320: #define kMX0Reg_Select_ISBR 0x02000000 ! 321: #define kMX0Reg_Select_ISCR 0x04000000 ! 322: #define kMX0Reg_Select_ISDR 0x08000000 ! 323: #define kMX0Reg_Select_ISER 0x10000000 ! 324: #define kMX0Reg_Select_ISFR 0x20000000 ! 325: #define kMX0Reg_Select_ISGR 0x40000000 ! 326: #define kMX0Reg_Select_ISHR 0x80000000 ! 327: ! 328: #define kMX1Reg (0x2A00 | BURGUNDY_LENGTH_4) ! 329: #define kMX1Reg_Select_IS0L 0x00000001 ! 330: #define kMX1Reg_Select_IS1L 0x00000002 ! 331: #define kMX1Reg_Select_IS2L 0x00000004 ! 332: #define kMX1Reg_Select_IS3L 0x00000008 ! 333: #define kMX1Reg_Select_IS4L 0x00000010 ! 334: #define kMX1Reg_Select_ISAL 0x00000100 ! 335: #define kMX1Reg_Select_ISBL 0x00000200 ! 336: #define kMX1Reg_Select_ISCL 0x00000400 ! 337: #define kMX1Reg_Select_ISDL 0x00000800 ! 338: #define kMX1Reg_Select_ISEL 0x00001000 ! 339: #define kMX1Reg_Select_ISFL 0x00002000 ! 340: #define kMX1Reg_Select_ISGL 0x00004000 ! 341: #define kMX1Reg_Select_ISHL 0x00008000 ! 342: #define kMX1Reg_Select_IS0R 0x00010000 ! 343: #define kMX1Reg_Select_IS1R 0x00020000 ! 344: #define kMX1Reg_Select_IS2R 0x00040000 ! 345: #define kMX1Reg_Select_IS3R 0x00080000 ! 346: #define kMX1Reg_Select_IS4R 0x00100000 ! 347: #define kMX1Reg_Select_ISAR 0x01000000 ! 348: #define kMX1Reg_Select_ISBR 0x02000000 ! 349: #define kMX1Reg_Select_ISCR 0x04000000 ! 350: #define kMX1Reg_Select_ISDR 0x08000000 ! 351: #define kMX1Reg_Select_ISER 0x10000000 ! 352: #define kMX1Reg_Select_ISFR 0x20000000 ! 353: #define kMX1Reg_Select_ISGR 0x40000000 ! 354: #define kMX1Reg_Select_ISHR 0x80000000 ! 355: ! 356: #define kMX2Reg (0x2B00 | BURGUNDY_LENGTH_4) ! 357: #define kMX2Reg_Select_IS0L 0x00000001 ! 358: #define kMX2Reg_Select_IS1L 0x00000002 ! 359: #define kMX2Reg_Select_IS2L 0x00000004 ! 360: #define kMX2Reg_Select_IS3L 0x00000008 ! 361: #define kMX2Reg_Select_IS4L 0x00000010 ! 362: #define kMX2Reg_Select_ISAL 0x00000100 ! 363: #define kMX2Reg_Select_ISBL 0x00000200 ! 364: #define kMX2Reg_Select_ISCL 0x00000400 ! 365: #define kMX2Reg_Select_ISDL 0x00000800 ! 366: #define kMX2Reg_Select_ISEL 0x00001000 ! 367: #define kMX2Reg_Select_ISFL 0x00002000 ! 368: #define kMX2Reg_Select_ISGL 0x00004000 ! 369: #define kMX2Reg_Select_ISHL 0x00008000 ! 370: #define kMX2Reg_Select_IS0R 0x00010000 ! 371: #define kMX2Reg_Select_IS1R 0x00020000 ! 372: #define kMX2Reg_Select_IS2R 0x00040000 ! 373: #define kMX2Reg_Select_IS3R 0x00080000 ! 374: #define kMX2Reg_Select_IS4R 0x00100000 ! 375: #define kMX2Reg_Select_ISAR 0x01000000 ! 376: #define kMX2Reg_Select_ISBR 0x02000000 ! 377: #define kMX2Reg_Select_ISCR 0x04000000 ! 378: #define kMX2Reg_Select_ISDR 0x08000000 ! 379: #define kMX2Reg_Select_ISER 0x10000000 ! 380: #define kMX2Reg_Select_ISFR 0x20000000 ! 381: #define kMX2Reg_Select_ISGR 0x40000000 ! 382: #define kMX2Reg_Select_ISHR 0x80000000 ! 383: ! 384: #define kMX3Reg (0x2C00 | BURGUNDY_LENGTH_4) ! 385: #define kMX3Reg_Select_IS0L 0x00000001 ! 386: #define kMX3Reg_Select_IS1L 0x00000002 ! 387: #define kMX3Reg_Select_IS2L 0x00000004 ! 388: #define kMX3Reg_Select_IS3L 0x00000008 ! 389: #define kMX3Reg_Select_IS4L 0x00000010 ! 390: #define kMX3Reg_Select_ISAL 0x00000100 ! 391: #define kMX3Reg_Select_ISBL 0x00000200 ! 392: #define kMX3Reg_Select_ISCL 0x00000400 ! 393: #define kMX3Reg_Select_ISDL 0x00000800 ! 394: #define kMX3Reg_Select_ISEL 0x00001000 ! 395: #define kMX3Reg_Select_ISFL 0x00002000 ! 396: #define kMX3Reg_Select_ISGL 0x00004000 ! 397: #define kMX3Reg_Select_ISHL 0x00008000 ! 398: #define kMX3Reg_Select_IS0R 0x00010000 ! 399: #define kMX3Reg_Select_IS1R 0x00020000 ! 400: #define kMX3Reg_Select_IS2R 0x00040000 ! 401: #define kMX3Reg_Select_IS3R 0x00080000 ! 402: #define kMX3Reg_Select_IS4R 0x00100000 ! 403: #define kMX3Reg_Select_ISAR 0x01000000 ! 404: #define kMX3Reg_Select_ISBR 0x02000000 ! 405: #define kMX3Reg_Select_ISCR 0x04000000 ! 406: #define kMX3Reg_Select_ISDR 0x08000000 ! 407: #define kMX3Reg_Select_ISER 0x10000000 ! 408: #define kMX3Reg_Select_ISFR 0x20000000 ! 409: #define kMX3Reg_Select_ISGR 0x40000000 ! 410: #define kMX3Reg_Select_ISHR 0x80000000 ! 411: ! 412: /* ! 413: * This register controls a digital scalar at the output of each mixer. ! 414: */ ! 415: #define kMXEQ0LReg (0x2D00 | BURGUNDY_LENGTH_1) ! 416: #define kMXEQ0RReg (0x2D01 | BURGUNDY_LENGTH_1) ! 417: #define kMXEQ1LReg (0x2D02 | BURGUNDY_LENGTH_1) ! 418: #define kMXEQ1RReg (0x2D03 | BURGUNDY_LENGTH_1) ! 419: ! 420: #define kMXEQ2LReg (0x2E00 | BURGUNDY_LENGTH_1) ! 421: #define kMXEQ2RReg (0x2E01 | BURGUNDY_LENGTH_1) ! 422: #define kMXEQ3LReg (0x2E02 | BURGUNDY_LENGTH_1) ! 423: #define kMXEQ3RReg (0x2E03 | BURGUNDY_LENGTH_1) ! 424: ! 425: #define kMXEQ_Default_Gain 0xDF ! 426: ! 427: /* ! 428: * This register controls a digital demultiplexer which routes ! 429: * the mixer 0-3 output to one 12 output sources. ! 430: * ! 431: * Output sources 0-2 can eventually be converted to analog. The ! 432: * remaining output sources remain digital and may be either ! 433: * sent to the host or wrapped back as digital input sources. ! 434: */ ! 435: #define kOSReg (0x2F00 | BURGUNDY_LENGTH_4) ! 436: #define kOSReg_OS0_SelectMask 0x00000003 ! 437: #define kOSReg_OS0_SelectBit 0x00000001 ! 438: #define kOSReg_OS0_Select_MXO0 0x00000000 ! 439: #define kOSReg_OS0_Select_MXO1 0x00000001 ! 440: #define kOSReg_OS0_Select_MXO2 0x00000002 ! 441: #define kOSReg_OS0_Select_MXO3 0x00000003 ! 442: ! 443: #define kOSReg_OS1_SelectMask 0x0000000C ! 444: #define kOSReg_OS1_SelectBit 0x00000004 ! 445: #define kOSReg_OS1_Select_MXO0 0x00000000 ! 446: #define kOSReg_OS1_Select_MXO1 0x00000004 ! 447: #define kOSReg_OS1_Select_MXO2 0x00000008 ! 448: #define kOSReg_OS1_Select_MXO3 0x0000000C ! 449: ! 450: #define kOSReg_OS2_SelectMask 0x00000030 ! 451: #define kOSReg_OS2_SelectBit 0x00000010 ! 452: #define kOSReg_OS2_Select_MXO0 0x00000000 ! 453: #define kOSReg_OS2_Select_MXO1 0x00000010 ! 454: #define kOSReg_OS2_Select_MXO2 0x00000020 ! 455: #define kOSReg_OS2_Select_MXO3 0x00000030 ! 456: ! 457: #define kOSReg_OS3_SelectMask 0x000000C0 ! 458: #define kOSReg_OS3_SelectBit 0x00000040 ! 459: #define kOSReg_OS3_Select_MXO0 0x00000000 ! 460: #define kOSReg_OS3_Select_MXO1 0x00000040 ! 461: #define kOSReg_OS3_Select_MXO2 0x00000080 ! 462: #define kOSReg_OS3_Select_MXO3 0x000000C0 ! 463: ! 464: #define kOSReg_OSA_SelectMask 0x00030000 ! 465: #define kOSReg_OSA_SelectBit 0x00010000 ! 466: #define kOSReg_OSA_Select_MXO0 0x00000000 ! 467: #define kOSReg_OSA_Select_MXO1 0x00010000 ! 468: #define kOSReg_OSA_Select_MXO2 0x00020000 ! 469: #define kOSReg_OSA_Select_MXO3 0x00030000 ! 470: ! 471: #define kOSReg_OSB_SelectMask 0x000C0000 ! 472: #define kOSReg_OSB_SelectBit 0x00040000 ! 473: #define kOSReg_OSB_Select_MXO0 0x00000000 ! 474: #define kOSReg_OSB_Select_MXO1 0x00040000 ! 475: #define kOSReg_OSB_Select_MXO2 0x00080000 ! 476: #define kOSReg_OSB_Select_MXO3 0x000C0000 ! 477: ! 478: #define kOSReg_OSC_SelectMask 0x00100000 ! 479: #define kOSReg_OSC_SelectBit 0x00300000 ! 480: #define kOSReg_OSC_Select_MXO0 0x00000000 ! 481: #define kOSReg_OSC_Select_MXO1 0x00100000 ! 482: #define kOSReg_OSC_Select_MXO2 0x00200000 ! 483: #define kOSReg_OSC_Select_MXO3 0x00300000 ! 484: ! 485: #define kOSReg_OSD_SelectMask 0x00C00000 ! 486: #define kOSReg_OSD_SelectBit 0x00400000 ! 487: #define kOSReg_OSD_Select_MXO0 0x00000000 ! 488: #define kOSReg_OSD_Select_MXO1 0x00400000 ! 489: #define kOSReg_OSD_Select_MXO2 0x00800000 ! 490: #define kOSReg_OSD_Select_MXO3 0x00C00000 ! 491: ! 492: #define kOSReg_OSE_SelectMask 0x03000000 ! 493: #define kOSReg_OSE_SelectBit 0x01000000 ! 494: #define kOSReg_OSE_Select_MXO0 0x00000000 ! 495: #define kOSReg_OSE_Select_MXO1 0x01000000 ! 496: #define kOSReg_OSE_Select_MXO2 0x02000000 ! 497: #define kOSReg_OSE_Select_MXO3 0x03000000 ! 498: ! 499: #define kOSReg_OSF_SelectMask 0x0C000000 ! 500: #define kOSReg_OSF_SelectBit 0x04000000 ! 501: #define kOSReg_OSF_Select_MXO0 0x00000000 ! 502: #define kOSReg_OSF_Select_MXO1 0x04000000 ! 503: #define kOSReg_OSF_Select_MXO2 0x08000000 ! 504: #define kOSReg_OSF_Select_MXO3 0x0C000000 ! 505: ! 506: #define kOSReg_OSG_SelectMask 0x30000000 ! 507: #define kOSReg_OSG_SelectBit 0x10000000 ! 508: #define kOSReg_OSG_Select_MXO0 0x00000000 ! 509: #define kOSReg_OSG_Select_MXO1 0x10000000 ! 510: #define kOSReg_OSG_Select_MXO2 0x20000000 ! 511: #define kOSReg_OSG_Select_MXO3 0x30000000 ! 512: ! 513: #define kOSReg_OSH_SelectMask 0xC0000000 ! 514: #define kOSReg_OSH_SelectBit 0x40000000 ! 515: #define kOSReg_OSH_Select_MXO0 0x00000000 ! 516: #define kOSReg_OSH_Select_MXO1 0x40000000 ! 517: #define kOSReg_OSH_Select_MXO2 0x80000000 ! 518: #define kOSReg_OSH_Select_MXO3 0xC0000000 ! 519: ! 520: /* ! 521: * This register controls a digital scalar for Output sources 0-3 ! 522: */ ! 523: #define kGAP0LReg (0x3000 | BURGUNDY_LENGTH_1) ! 524: #define kGAP0RReg (0x3001 | BURGUNDY_LENGTH_1) ! 525: #define kGAP1LReg (0x3002 | BURGUNDY_LENGTH_1) ! 526: #define kGAP1RReg (0x3003 | BURGUNDY_LENGTH_1) ! 527: ! 528: #define kGAP2LReg (0x3100 | BURGUNDY_LENGTH_1) ! 529: #define kGAP2RReg (0x3101 | BURGUNDY_LENGTH_1) ! 530: #define kGAP3LReg (0x3102 | BURGUNDY_LENGTH_1) ! 531: #define kGAP3RReg (0x3103 | BURGUNDY_LENGTH_1) ! 532: ! 533: #define kGAP_Default_Gain 0xDF ! 534: ! 535: /* ! 536: * These registers access the values of four peak-level meters. Inputs to the ! 537: * digital mixers MX0-3 or the mixer outputs may be routed these meters. ! 538: */ ! 539: #define kPeakLvl0Reg (0x3300 | BURGUNDY_LENGTH_2) ! 540: #define kPeakLvl1Reg (0x3302 | BURGUNDY_LENGTH_2) ! 541: ! 542: #define kPeakLvl3Reg (0x3400 | BURGUNDY_LENGTH_2) ! 543: #define kPeakLvl4Reg (0x3402 | BURGUNDY_LENGTH_2) ! 544: ! 545: /* ! 546: * These registers select the digital inputs to be monitored by each level meter. ! 547: */ ! 548: #define kPeakLvl0SourceReg (0x3500 | BURGUNDY_LENGTH_1) ! 549: #define kPeakLvl0SourceReg_SelectMask 0x3F ! 550: #define kPeakLvl0SourceReg_Select_AS0L 0x00 ! 551: #define kPeakLvl0SourceReg_Select_AS0R 0x01 ! 552: #define kPeakLvl0SourceReg_Select_AS1L 0x02 ! 553: #define kPeakLvl0SourceReg_Select_AS1R 0x03 ! 554: #define kPeakLvl0SourceReg_Select_AS2L 0x04 ! 555: #define kPeakLvl0SourceReg_Select_AS2R 0x05 ! 556: #define kPeakLvl0SourceReg_Select_AS3L 0x06 ! 557: #define kPeakLvl0SourceReg_Select_AS3R 0x07 ! 558: #define kPeakLvl0SourceReg_Select_AS4L 0x08 ! 559: #define kPeakLvl0SourceReg_Select_AS4R 0x09 ! 560: #define kPeakLvl0SourceReg_Select_IS0L 0x10 ! 561: #define kPeakLvl0SourceReg_Select_IS0R 0x11 ! 562: #define kPeakLvl0SourceReg_Select_IS1L 0x12 ! 563: #define kPeakLvl0SourceReg_Select_IS1R 0x13 ! 564: #define kPeakLvl0SourceReg_Select_IS2L 0x14 ! 565: #define kPeakLvl0SourceReg_Select_IS2R 0x15 ! 566: #define kPeakLvl0SourceReg_Select_IS3L 0x16 ! 567: #define kPeakLvl0SourceReg_Select_IS3R 0x17 ! 568: #define kPeakLvl0SourceReg_Select_IS4L 0x18 ! 569: #define kPeakLvl0SourceReg_Select_IS5R 0x19 ! 570: #define kPeakLvl0SourceReg_Select_ISAL 0x20 ! 571: #define kPeakLvl0SourceReg_Select_ISAR 0x21 ! 572: #define kPeakLvl0SourceReg_Select_ISBL 0x22 ! 573: #define kPeakLvl0SourceReg_Select_ISBR 0x23 ! 574: #define kPeakLvl0SourceReg_Select_ISCL 0x24 ! 575: #define kPeakLvl0SourceReg_Select_ISCR 0x25 ! 576: #define kPeakLvl0SourceReg_Select_ISDL 0x26 ! 577: #define kPeakLvl0SourceReg_Select_ISDR 0x27 ! 578: #define kPeakLvl0SourceReg_Select_ISEL 0x28 ! 579: #define kPeakLvl0SourceReg_Select_ISER 0x29 ! 580: #define kPeakLvl0SourceReg_Select_ISFL 0x2A ! 581: #define kPeakLvl0SourceReg_Select_ISFR 0x2B ! 582: #define kPeakLvl0SourceReg_Select_ISGL 0x2C ! 583: #define kPeakLvl0SourceReg_Select_ISGR 0x2D ! 584: #define kPeakLvl0SourceReg_Select_ISHL 0x2E ! 585: #define kPeakLvl0SourceReg_Select_ISHR 0x2F ! 586: #define kPeakLvl0SourceReg_Select_MXO0L 0x30 ! 587: #define kPeakLvl0SourceReg_Select_MXO0R 0x31 ! 588: #define kPeakLvl0SourceReg_Select_MXO1L 0x32 ! 589: #define kPeakLvl0SourceReg_Select_MXO1R 0x33 ! 590: #define kPeakLvl0SourceReg_Select_MXO2L 0x34 ! 591: #define kPeakLvl0SourceReg_Select_MXO2R 0x35 ! 592: #define kPeakLvl0SourceReg_Select_MXO3L 0x36 ! 593: #define kPeakLvl0SourceReg_Select_MXO3R 0x37 ! 594: #define kPeakLvl0SourceReg_Zero 0x40 ! 595: ! 596: #define kPeakLvl1SourceReg (0x3501 | BURGUNDY_LENGTH_1) ! 597: #define kPeakLvl1SourceReg_SelectMask 0x3F ! 598: #define kPeakLvl1SourceReg_Select_AS0L 0x00 ! 599: #define kPeakLvl1SourceReg_Select_AS0R 0x01 ! 600: #define kPeakLvl1SourceReg_Select_AS1L 0x02 ! 601: #define kPeakLvl1SourceReg_Select_AS1R 0x03 ! 602: #define kPeakLvl1SourceReg_Select_AS2L 0x04 ! 603: #define kPeakLvl1SourceReg_Select_AS2R 0x05 ! 604: #define kPeakLvl1SourceReg_Select_AS3L 0x06 ! 605: #define kPeakLvl1SourceReg_Select_AS3R 0x07 ! 606: #define kPeakLvl1SourceReg_Select_AS4L 0x08 ! 607: #define kPeakLvl1SourceReg_Select_AS4R 0x09 ! 608: #define kPeakLvl1SourceReg_Select_IS0L 0x10 ! 609: #define kPeakLvl1SourceReg_Select_IS0R 0x11 ! 610: #define kPeakLvl1SourceReg_Select_IS1L 0x12 ! 611: #define kPeakLvl1SourceReg_Select_IS1R 0x13 ! 612: #define kPeakLvl1SourceReg_Select_IS2L 0x14 ! 613: #define kPeakLvl1SourceReg_Select_IS2R 0x15 ! 614: #define kPeakLvl1SourceReg_Select_IS3L 0x16 ! 615: #define kPeakLvl1SourceReg_Select_IS3R 0x17 ! 616: #define kPeakLvl1SourceReg_Select_IS4L 0x18 ! 617: #define kPeakLvl1SourceReg_Select_IS5R 0x19 ! 618: #define kPeakLvl1SourceReg_Select_ISAL 0x20 ! 619: #define kPeakLvl1SourceReg_Select_ISAR 0x21 ! 620: #define kPeakLvl1SourceReg_Select_ISBL 0x22 ! 621: #define kPeakLvl1SourceReg_Select_ISBR 0x23 ! 622: #define kPeakLvl1SourceReg_Select_ISCL 0x24 ! 623: #define kPeakLvl1SourceReg_Select_ISCR 0x25 ! 624: #define kPeakLvl1SourceReg_Select_ISDL 0x26 ! 625: #define kPeakLvl1SourceReg_Select_ISDR 0x27 ! 626: #define kPeakLvl1SourceReg_Select_ISEL 0x28 ! 627: #define kPeakLvl1SourceReg_Select_ISER 0x29 ! 628: #define kPeakLvl1SourceReg_Select_ISFL 0x2A ! 629: #define kPeakLvl1SourceReg_Select_ISFR 0x2B ! 630: #define kPeakLvl1SourceReg_Select_ISGL 0x2C ! 631: #define kPeakLvl1SourceReg_Select_ISGR 0x2D ! 632: #define kPeakLvl1SourceReg_Select_ISHL 0x2E ! 633: #define kPeakLvl1SourceReg_Select_ISHR 0x2F ! 634: #define kPeakLvl1SourceReg_Select_MXO0L 0x30 ! 635: #define kPeakLvl1SourceReg_Select_MXO0R 0x31 ! 636: #define kPeakLvl1SourceReg_Select_MXO1L 0x32 ! 637: #define kPeakLvl1SourceReg_Select_MXO1R 0x33 ! 638: #define kPeakLvl1SourceReg_Select_MXO2L 0x34 ! 639: #define kPeakLvl1SourceReg_Select_MXO2R 0x35 ! 640: #define kPeakLvl1SourceReg_Select_MXO3L 0x36 ! 641: #define kPeakLvl1SourceReg_Select_MXO3R 0x37 ! 642: #define kPeakLvl1SourceReg_Zero 0x40 ! 643: ! 644: #define kPeakLvl2SourceReg (0x3502 | BURGUNDY_LENGTH_1) ! 645: #define kPeakLvl2SourceReg_SelectMask 0x3F ! 646: #define kPeakLvl2SourceReg_Select_AS0L 0x00 ! 647: #define kPeakLvl2SourceReg_Select_AS0R 0x01 ! 648: #define kPeakLvl2SourceReg_Select_AS1L 0x02 ! 649: #define kPeakLvl2SourceReg_Select_AS1R 0x03 ! 650: #define kPeakLvl2SourceReg_Select_AS2L 0x04 ! 651: #define kPeakLvl2SourceReg_Select_AS2R 0x05 ! 652: #define kPeakLvl2SourceReg_Select_AS3L 0x06 ! 653: #define kPeakLvl2SourceReg_Select_AS3R 0x07 ! 654: #define kPeakLvl2SourceReg_Select_AS4L 0x08 ! 655: #define kPeakLvl2SourceReg_Select_AS4R 0x09 ! 656: #define kPeakLvl2SourceReg_Select_IS0L 0x10 ! 657: #define kPeakLvl2SourceReg_Select_IS0R 0x11 ! 658: #define kPeakLvl2SourceReg_Select_IS1L 0x12 ! 659: #define kPeakLvl2SourceReg_Select_IS1R 0x13 ! 660: #define kPeakLvl2SourceReg_Select_IS2L 0x14 ! 661: #define kPeakLvl2SourceReg_Select_IS2R 0x15 ! 662: #define kPeakLvl2SourceReg_Select_IS3L 0x16 ! 663: #define kPeakLvl2SourceReg_Select_IS3R 0x17 ! 664: #define kPeakLvl2SourceReg_Select_IS4L 0x18 ! 665: #define kPeakLvl2SourceReg_Select_IS5R 0x19 ! 666: #define kPeakLvl2SourceReg_Select_ISAL 0x20 ! 667: #define kPeakLvl2SourceReg_Select_ISAR 0x21 ! 668: #define kPeakLvl2SourceReg_Select_ISBL 0x22 ! 669: #define kPeakLvl2SourceReg_Select_ISBR 0x23 ! 670: #define kPeakLvl2SourceReg_Select_ISCL 0x24 ! 671: #define kPeakLvl2SourceReg_Select_ISCR 0x25 ! 672: #define kPeakLvl2SourceReg_Select_ISDL 0x26 ! 673: #define kPeakLvl2SourceReg_Select_ISDR 0x27 ! 674: #define kPeakLvl2SourceReg_Select_ISEL 0x28 ! 675: #define kPeakLvl2SourceReg_Select_ISER 0x29 ! 676: #define kPeakLvl2SourceReg_Select_ISFL 0x2A ! 677: #define kPeakLvl2SourceReg_Select_ISFR 0x2B ! 678: #define kPeakLvl2SourceReg_Select_ISGL 0x2C ! 679: #define kPeakLvl2SourceReg_Select_ISGR 0x2D ! 680: #define kPeakLvl2SourceReg_Select_ISHL 0x2E ! 681: #define kPeakLvl2SourceReg_Select_ISHR 0x2F ! 682: #define kPeakLvl2SourceReg_Select_MXO0L 0x30 ! 683: #define kPeakLvl2SourceReg_Select_MXO0R 0x31 ! 684: #define kPeakLvl2SourceReg_Select_MXO1L 0x32 ! 685: #define kPeakLvl2SourceReg_Select_MXO1R 0x33 ! 686: #define kPeakLvl2SourceReg_Select_MXO2L 0x34 ! 687: #define kPeakLvl2SourceReg_Select_MXO2R 0x35 ! 688: #define kPeakLvl2SourceReg_Select_MXO3L 0x36 ! 689: #define kPeakLvl2SourceReg_Select_MXO3R 0x37 ! 690: #define kPeakLvl2SourceReg_Zero 0x40 ! 691: ! 692: #define kPeakLvl3SourceReg (0x3503 | BURGUNDY_LENGTH_1) ! 693: #define kPeakLvl3SourceReg_SelectMask 0x3F ! 694: #define kPeakLvl3SourceReg_Select_AS0L 0x00 ! 695: #define kPeakLvl3SourceReg_Select_AS0R 0x01 ! 696: #define kPeakLvl3SourceReg_Select_AS1L 0x02 ! 697: #define kPeakLvl3SourceReg_Select_AS1R 0x03 ! 698: #define kPeakLvl3SourceReg_Select_AS2L 0x04 ! 699: #define kPeakLvl3SourceReg_Select_AS2R 0x05 ! 700: #define kPeakLvl3SourceReg_Select_AS3L 0x06 ! 701: #define kPeakLvl3SourceReg_Select_AS3R 0x07 ! 702: #define kPeakLvl3SourceReg_Select_AS4L 0x08 ! 703: #define kPeakLvl3SourceReg_Select_AS4R 0x09 ! 704: #define kPeakLvl3SourceReg_Select_IS0L 0x10 ! 705: #define kPeakLvl3SourceReg_Select_IS0R 0x11 ! 706: #define kPeakLvl3SourceReg_Select_IS1L 0x12 ! 707: #define kPeakLvl3SourceReg_Select_IS1R 0x13 ! 708: #define kPeakLvl3SourceReg_Select_IS2L 0x14 ! 709: #define kPeakLvl3SourceReg_Select_IS2R 0x15 ! 710: #define kPeakLvl3SourceReg_Select_IS3L 0x16 ! 711: #define kPeakLvl3SourceReg_Select_IS3R 0x17 ! 712: #define kPeakLvl3SourceReg_Select_IS4L 0x18 ! 713: #define kPeakLvl3SourceReg_Select_IS5R 0x19 ! 714: #define kPeakLvl3SourceReg_Select_ISAL 0x20 ! 715: #define kPeakLvl3SourceReg_Select_ISAR 0x21 ! 716: #define kPeakLvl3SourceReg_Select_ISBL 0x22 ! 717: #define kPeakLvl3SourceReg_Select_ISBR 0x23 ! 718: #define kPeakLvl3SourceReg_Select_ISCL 0x24 ! 719: #define kPeakLvl3SourceReg_Select_ISCR 0x25 ! 720: #define kPeakLvl3SourceReg_Select_ISDL 0x26 ! 721: #define kPeakLvl3SourceReg_Select_ISDR 0x27 ! 722: #define kPeakLvl3SourceReg_Select_ISEL 0x28 ! 723: #define kPeakLvl3SourceReg_Select_ISER 0x29 ! 724: #define kPeakLvl3SourceReg_Select_ISFL 0x2A ! 725: #define kPeakLvl3SourceReg_Select_ISFR 0x2B ! 726: #define kPeakLvl3SourceReg_Select_ISGL 0x2C ! 727: #define kPeakLvl3SourceReg_Select_ISGR 0x2D ! 728: #define kPeakLvl3SourceReg_Select_ISHL 0x2E ! 729: #define kPeakLvl3SourceReg_Select_ISHR 0x2F ! 730: #define kPeakLvl3SourceReg_Select_MXO0L 0x30 ! 731: #define kPeakLvl3SourceReg_Select_MXO0R 0x31 ! 732: #define kPeakLvl3SourceReg_Select_MXO1L 0x32 ! 733: #define kPeakLvl3SourceReg_Select_MXO1R 0x33 ! 734: #define kPeakLvl3SourceReg_Select_MXO2L 0x34 ! 735: #define kPeakLvl3SourceReg_Select_MXO2R 0x35 ! 736: #define kPeakLvl3SourceReg_Select_MXO3L 0x36 ! 737: #define kPeakLvl3SourceReg_Select_MXO3R 0x37 ! 738: #define kPeakLvl3SourceReg_Zero 0x40 ! 739: ! 740: /* ! 741: * This register holds the threshold value at which the level meters will ! 742: * indicate an event. ! 743: */ ! 744: #define kPeakLvlThresholdReg (0x3600 | BURGUNDY_LENGTH_2) ! 745: #define kPeakLvlThresholdReg_Default 0x7FFF ! 746: ! 747: /* ! 748: * These registers indicate overflows in the digital scalars prior to the mixers. ! 749: * See GAS0-4. ! 750: */ ! 751: #define kISOverflowReg (0x3700 | BURGUNDY_LENGTH_1) ! 752: #define kISOverflowReg_IS0 0x01 ! 753: #define kISOverflowReg_IS1 0x02 ! 754: #define kISOverflowReg_IS2 0x04 ! 755: #define kISOverflowReg_IS3 0x08 ! 756: #define kISOverflowReg_IS4 0x10 ! 757: #define kISOverflowReg_Indicator 0x80 ! 758: ! 759: /* ! 760: * This register monitors overflows in digital mixers 0-3. ! 761: */ ! 762: #define kMXOverflowReg (0x3701 | BURGUNDY_LENGTH_2) ! 763: #define kMXOverflowReg_MX0L 0x0001 ! 764: #define kMXOverflowReg_MX0R 0x0002 ! 765: #define kMXOverflowReg_MX1L 0x0004 ! 766: #define kMXOverflowReg_MX1R 0x0008 ! 767: #define kMXOverflowReg_MX2L 0x0010 ! 768: #define kMXOverflowReg_MX2R 0x0020 ! 769: #define kMXOverflowReg_MX3L 0x0040 ! 770: #define kMXOverflowReg_MX3R 0x0080 ! 771: #define kMXOverflowReg_MX0L_Indicator 0x0100 ! 772: #define kMXOverflowReg_MX0R_Indicator 0x0200 ! 773: #define kMXOverflowReg_MX1L_Indicator 0x0400 ! 774: #define kMXOverflowReg_MX1R_Indicator 0x0800 ! 775: #define kMXOverflowReg_MX2L_Indicator 0x1000 ! 776: #define kMXOverflowReg_MX2R_Indicator 0x2000 ! 777: #define kMXOverflowReg_MX3L_Indicator 0x4000 ! 778: #define kMXOverflowReg_MX3R_Indicator 0x8000 ! 779: ! 780: /* ! 781: * This register controls a digital tone filter connected to the output ! 782: * of mixer 0. ! 783: * ! 784: * The registers are programmed with 3-byte coefficients for the filters. ! 785: */ ! 786: #define kSOSS0B0Reg (0x4000 | BURGUNDY_LENGTH_3) ! 787: #define kSOSS0B1Reg (0x4100 | BURGUNDY_LENGTH_3) ! 788: #define kSOSS0B2Reg (0x4200 | BURGUNDY_LENGTH_3) ! 789: #define kSOSS0A1Reg (0x4300 | BURGUNDY_LENGTH_3) ! 790: #define kSOSS0A2Reg (0x4400 | BURGUNDY_LENGTH_3) ! 791: ! 792: #define kSOSS1B0Reg (0x4500 | BURGUNDY_LENGTH_3) ! 793: #define kSOSS1B1Reg (0x4600 | BURGUNDY_LENGTH_3) ! 794: #define kSOSS1B2Reg (0x4700 | BURGUNDY_LENGTH_3) ! 795: #define kSOSS1A1Reg (0x4800 | BURGUNDY_LENGTH_3) ! 796: #define kSOSS1A2Reg (0x4900 | BURGUNDY_LENGTH_3) ! 797: ! 798: #define kSOSS2B0Reg (0x4A00 | BURGUNDY_LENGTH_3) ! 799: #define kSOSS2B1Reg (0x4B00 | BURGUNDY_LENGTH_3) ! 800: #define kSOSS2B2Reg (0x4C00 | BURGUNDY_LENGTH_3) ! 801: #define kSOSS2A1Reg (0x4D00 | BURGUNDY_LENGTH_3) ! 802: #define kSOSS2A2Reg (0x4E00 | BURGUNDY_LENGTH_3) ! 803: ! 804: #define kSOSS3B0Reg (0x5000 | BURGUNDY_LENGTH_3) ! 805: #define kSOSS3B1Reg (0x5100 | BURGUNDY_LENGTH_3) ! 806: #define kSOSS3A1Reg (0x5200 | BURGUNDY_LENGTH_3) ! 807: #define kSOSS3A2Reg (0x5300 | BURGUNDY_LENGTH_3) ! 808: ! 809: #define kSOSControlReg (0x5500 | BURGUNDY_LENGTH_1) ! 810: #define kSOSControlReg_Mode0 0x00 ! 811: #define kSOSControlReg_Mode1 0x01 ! 812: ! 813: #define kSOSOverflowReg (0x5600 | BURGUNDY_LENGTH_1) ! 814: #define kSOSOverflowReg_S0 0x01 ! 815: #define kSOSOverflowReg_S1 0x02 ! 816: #define kSOSOverflowReg_S2 0x04 ! 817: #define kSOSOverflowReg_S3 0x08 ! 818: #define kSOSOverflowReg_Indicator 0x10 ! 819: ! 820: /* ! 821: * This register controls the muting the of analog outputs ! 822: */ ! 823: #define kOutputMuteReg (0x6000 | BURGUNDY_LENGTH_1) ! 824: #define kOutputMuteReg_Port13M 0x01 ! 825: #define kOutputMuteReg_Port14L 0x02 ! 826: #define kOutputMuteReg_Port14R 0x04 ! 827: #define kOutputMuteReg_Port15L 0x08 ! 828: #define kOutputMuteReg_Port15R 0x10 ! 829: #define kOutputMuteReg_Port16L 0x20 ! 830: #define kOutputMuteReg_Port16R 0x40 ! 831: #define kOutputMuteReg_Port17M 0x80 ! 832: ! 833: /* ! 834: * These registers control attenuators at each analog output ! 835: */ ! 836: #define kOutputLvlPort13Reg (0x6100 | BURGUNDY_LENGTH_1) ! 837: #define kOutputLvlPort13Reg_Mask 0x0F ! 838: #define kOutputLvlPort13Reg_Bit 0x01 ! 839: ! 840: #define kOutputLvl_Default 0x00 ! 841: ! 842: #define kOutputLvlPort14Reg (0x6200 | BURGUNDY_LENGTH_1) ! 843: #define kOutputLvlPort14Reg_LeftMask 0x0F ! 844: #define kOutputLvlPort14Reg_LeftBit 0x01 ! 845: #define kOutputLvlPort14Reg_RightMask 0xF0 ! 846: #define kOutputLvlPort14Reg_RightBit 0x10 ! 847: ! 848: #define kOutputLvlPort15Reg (0x6300 | BURGUNDY_LENGTH_1) ! 849: #define kOutputLvlPort15Reg_LeftMask 0x0F ! 850: #define kOutputLvlPort15Reg_LeftBit 0x01 ! 851: #define kOutputLvlPort15Reg_RightMask 0xF0 ! 852: #define kOutputLvlPort15Reg_RightBit 0x10 ! 853: ! 854: #define kOutputLvlPort16Reg (0x6400 | BURGUNDY_LENGTH_1) ! 855: #define kOutputLvlPort16Reg_LeftMask 0x0F ! 856: #define kOutputLvlPort16Reg_LeftBit 0x01 ! 857: #define kOutputLvlPort16Reg_RightMask 0xF0 ! 858: #define kOutputLvlPort16Reg_RightBit 0x10 ! 859: ! 860: #define kOutputLvlPort17Reg (0x6500 | BURGUNDY_LENGTH_1) ! 861: #define kOutputLvlPort17Reg_Mask 0x0F ! 862: #define kOutputLvlPort17Reg_Bit 0x01 ! 863: ! 864: /* ! 865: * This register controls discharge current to reduce noise if the chip ! 866: * is powered down. ! 867: */ ! 868: #define kOutputSettleTimeReg (0x6600 | BURGUNDY_LENGTH_2) ! 869: #define kOutputSettleTimeReg_Port13_Mask 0x0003 ! 870: #define kOutputSettleTimeReg_Port13_Bit 0x0001 ! 871: #define kOutputSettleTimeReg_Port14_Mask 0x000C ! 872: #define kOutputSettleTimeReg_Port14_Bit 0x0004 ! 873: #define kOutputSettleTimeReg_Port15_Mask 0x0030 ! 874: #define kOutputSettleTimeReg_Port15_Bit 0x0010 ! 875: #define kOutputSettleTimeReg_Port16_Mask 0x00C0 ! 876: #define kOutputSettleTimeReg_Port16_Bit 0x0040 ! 877: #define kOutputSettleTimeReg_Port17_Mask 0x0300 ! 878: #define kOutputSettleTimeReg_Port17_Bit 0x0100 ! 879: ! 880: ! 881: #define kOutputCtl0Reg (0x6700 | BURGUNDY_LENGTH_1) ! 882: #define kOutputCtl0Reg_OutCtl0_High 0x10 ! 883: #define kOutputCtl0Reg_OutCtl0_Tristate 0x20 ! 884: #define kOutputCtl0Reg_OutCtl1_High 0x40 ! 885: #define kOutputCtl0Reg_OutCtl1_Tristate 0x80 ! 886: ! 887: #define kOutputCtl2Reg (0x6800 | BURGUNDY_LENGTH_1) ! 888: #define kOutputCtl2Reg_OutCtl2_High 0x01 ! 889: #define kOutputCtl2Reg_OutCtl2_Tristate 0x02 ! 890: #define kOutputCtl2Reg_OutCtl3_High 0x04 ! 891: #define kOutputCtl2Reg_OutCtl3_Tristate 0x08 ! 892: #define kOutputCtl2Reg_OutCtl4_High 0x10 ! 893: #define kOutputCtl2Reg_OutCtl4_Tristate 0x20 ! 894: ! 895: #define kDOutConfigReg (0x6900 | BURGUNDY_LENGTH_1) ! 896: #define kDOutConfigReg_Zero 0x80 ! 897: #define kDOutConfigReg_Enable 0x80 ! 898: ! 899: #define kMClkReg (0x7000 | BURGUNDY_LENGTH_1) ! 900: #define kMClkReg_Tristate 0x00 ! 901: #define kMClkReg_Div1 0x01 ! 902: #define kMClkReg_Div2 0x02 ! 903: #define kMClkReg_Div4 0x03 ! 904: ! 905: ! 906: /* ! 907: * These registers control the digital input sources A-C to the chip. ! 908: * A source may be derived from data comming from the host (SF0-3) or ! 909: * from an internally generated digital output source (OSA-D) ! 910: */ ! 911: #define kSDInReg (0x7800 | BURGUNDY_LENGTH_1) ! 912: #define kSDInReg_OSA_To_SF0 0x01 ! 913: #define kSDInReg_ASA_Mask 0x02 ! 914: #define kSDInReg_ASA_From_SF0 0x00 ! 915: #define kSDInReg_ASA_From_OSA 0x02 ! 916: #define kSDInReg_OSB_To_SF1 0x04 ! 917: #define kSDInReg_ASB_From_SF1 0x00 ! 918: #define kSDInReg_ASB_From_OSB 0x08 ! 919: #define kSDInReg_OSC_To_SF2 0x10 ! 920: #define kSDInReg_ASC_From_SF2 0x00 ! 921: #define kSDInReg_ASC_From_OSC 0x20 ! 922: #define kSDInReg_OSD_To_SF3 0x40 ! 923: #define kSDInReg_ASD_From_SF3 0x00 ! 924: #define kSDInReg_ASD_From_OSD 0x80 ! 925: ! 926: /* ! 927: * This register controls digital output sources (OSE-H) from the chip. ! 928: * These sources may be routed to the host (SF0-3) or may be internally ! 929: * wrapped back to input sources (ASE-H). ! 930: */ ! 931: #define kSDOutReg (0x7A00 | BURGUNDY_LENGTH_1) ! 932: #define kSDOutReg_OSE_To_SF0 0x01 ! 933: #define kSDOutReg_ASE_Mask 0x02 ! 934: #define kSDOutReg_ASE_From_SF0 0x00 ! 935: #define kSDOutReg_ASE_From_OSE 0x02 ! 936: #define kSDOutReg_OSF_To_SF1 0x04 ! 937: #define kSDOutReg_ASF_From_SF1 0x00 ! 938: #define kSDOutReg_ASF_From_OSF 0x08 ! 939: #define kSDOutReg_OSG_To_SF2 0x10 ! 940: #define kSDOutReg_ASG_From_SF2 0x00 ! 941: #define kSDOutReg_ASG_From_OSG 0x20 ! 942: #define kSDOutReg_OSH_To_SF3 0x40 ! 943: #define kSDOutReg_ASH_From_SF3 0x00 ! 944: #define kSDOutReg_ASH_From_OSH 0x80 ! 945: ! 946: #define kThresholdMaskReg (0x7A00 | BURGUNDY_LENGTH_1) ! 947: #define kThresholdMaskReg_Threshold0 0x01 ! 948: #define kThresholdMaskReg_Threshold1 0x02 ! 949: #define kThresholdMaskReg_Threshold2 0x04 ! 950: #define kThresholdMaskReg_Threshold3 0x08 ! 951:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.