Annotation of XNU/iokit/Drivers/audio/drvPPCBurgundy/burgundy_hw.h, revision 1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.