Annotation of XNU/iokit/Drivers/audio/drvPPCBurgundy/burgundy_hw.h, revision 1.1.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.