Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Driver for PowerMac Burgundy onboard soundchips
0004  * Copyright (c) 2001 by Takashi Iwai <tiwai@suse.de>
0005  *   based on dmasound.c.
0006  */
0007 
0008 
0009 #ifndef __BURGUNDY_H
0010 #define __BURGUNDY_H
0011 
0012 #define MASK_ADDR_BURGUNDY_INPBOOST (0x10 << 12)
0013 #define MASK_ADDR_BURGUNDY_INPSEL21 (0x11 << 12)
0014 #define MASK_ADDR_BURGUNDY_INPSEL3 (0x12 << 12)
0015 
0016 #define MASK_ADDR_BURGUNDY_GAINCH1 (0x13 << 12)
0017 #define MASK_ADDR_BURGUNDY_GAINCH2 (0x14 << 12)
0018 #define MASK_ADDR_BURGUNDY_GAINCH3 (0x15 << 12)
0019 #define MASK_ADDR_BURGUNDY_GAINCH4 (0x16 << 12)
0020 
0021 #define MASK_ADDR_BURGUNDY_VOLCH1 (0x20 << 12)
0022 #define MASK_ADDR_BURGUNDY_VOLCH2 (0x21 << 12)
0023 #define MASK_ADDR_BURGUNDY_VOLCH3 (0x22 << 12)
0024 #define MASK_ADDR_BURGUNDY_VOLCH4 (0x23 << 12)
0025 
0026 #define MASK_ADDR_BURGUNDY_CAPTURESELECTS (0x2A << 12)
0027 #define MASK_ADDR_BURGUNDY_OUTPUTSELECTS (0x2B << 12)
0028 #define MASK_ADDR_BURGUNDY_VOLMIX01 (0x2D << 12)
0029 #define MASK_ADDR_BURGUNDY_VOLMIX23 (0x2E << 12)
0030 #define MASK_ADDR_BURGUNDY_OUTPUTENABLES (0x2F << 12)
0031 
0032 #define MASK_ADDR_BURGUNDY_MASTER_VOLUME (0x30 << 12)
0033 
0034 #define MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES (0x60 << 12)
0035 
0036 #define MASK_ADDR_BURGUNDY_ATTENSPEAKER (0x62 << 12)
0037 #define MASK_ADDR_BURGUNDY_ATTENLINEOUT (0x63 << 12)
0038 #define MASK_ADDR_BURGUNDY_ATTENHP (0x64 << 12)
0039 #define MASK_ADDR_BURGUNDY_ATTENMONO (0x65 << 12)
0040 
0041 #define MASK_ADDR_BURGUNDY_HOSTIFAD (0x78 << 12)
0042 #define MASK_ADDR_BURGUNDY_HOSTIFEH (0x79 << 12)
0043 
0044 #define MASK_ADDR_BURGUNDY_VOLCD (MASK_ADDR_BURGUNDY_VOLCH1)
0045 #define MASK_ADDR_BURGUNDY_VOLLINE (MASK_ADDR_BURGUNDY_VOLCH2)
0046 #define MASK_ADDR_BURGUNDY_VOLMIC (MASK_ADDR_BURGUNDY_VOLCH3)
0047 #define MASK_ADDR_BURGUNDY_VOLMODEM (MASK_ADDR_BURGUNDY_VOLCH4)
0048 
0049 #define MASK_ADDR_BURGUNDY_GAINCD (MASK_ADDR_BURGUNDY_GAINCH1)
0050 #define MASK_ADDR_BURGUNDY_GAINLINE (MASK_ADDR_BURGUNDY_GAINCH2)
0051 #define MASK_ADDR_BURGUNDY_GAINMIC (MASK_ADDR_BURGUNDY_GAINCH3)
0052 #define MASK_ADDR_BURGUNDY_GAINMODEM (MASK_ADDR_BURGUNDY_VOLCH4)
0053 
0054 
0055 /* These are all default values for the burgundy */
0056 #define DEF_BURGUNDY_INPSEL21 (0xAA)
0057 #define DEF_BURGUNDY_INPSEL3_IMAC (0x0A)
0058 #define DEF_BURGUNDY_INPSEL3_PMAC (0x05)
0059 
0060 #define DEF_BURGUNDY_GAINCD (0x33)
0061 #define DEF_BURGUNDY_GAINLINE (0x44)
0062 #define DEF_BURGUNDY_GAINMIC (0x44)
0063 #define DEF_BURGUNDY_GAINMODEM (0x06)
0064 
0065 /* Remember: lowest volume here is 0x9B (155) */
0066 #define DEF_BURGUNDY_VOLCD (0xCCCCCCCC)
0067 #define DEF_BURGUNDY_VOLLINE (0x00000000)
0068 #define DEF_BURGUNDY_VOLMIC (0x00000000)
0069 #define DEF_BURGUNDY_VOLMODEM (0xCCCCCCCC)
0070 
0071 #define DEF_BURGUNDY_OUTPUTSELECTS (0x010F010F)
0072 #define DEF_BURGUNDY_OUTPUTENABLES (0x0100000A)
0073 
0074 /* #define DEF_BURGUNDY_MASTER_VOLUME (0xFFFFFFFF) */ /* too loud */
0075 #define DEF_BURGUNDY_MASTER_VOLUME (0xDDDDDDDD)
0076 
0077 #define DEF_BURGUNDY_MORE_OUTPUTENABLES (0x7E)
0078 
0079 #define DEF_BURGUNDY_ATTENSPEAKER (0x44)
0080 #define DEF_BURGUNDY_ATTENLINEOUT (0xCC)
0081 #define DEF_BURGUNDY_ATTENHP (0xCC)
0082 
0083 /* MORE_OUTPUTENABLES bits */
0084 #define BURGUNDY_OUTPUT_LEFT    0x02
0085 #define BURGUNDY_OUTPUT_RIGHT   0x04
0086 #define BURGUNDY_LINEOUT_LEFT   0x08
0087 #define BURGUNDY_LINEOUT_RIGHT  0x10
0088 #define BURGUNDY_HP_LEFT    0x20
0089 #define BURGUNDY_HP_RIGHT   0x40
0090 #define BURGUNDY_OUTPUT_INTERN  0x80
0091 
0092 /* Headphone detection bits */
0093 #define BURGUNDY_HPDETECT_PMAC_BACK 0x04
0094 #define BURGUNDY_HPDETECT_IMAC_SIDE 0x04
0095 #define BURGUNDY_HPDETECT_IMAC_UPPER    0x08
0096 #define BURGUNDY_HPDETECT_IMAC_LOWER    0x01
0097 
0098 /* Volume offset */
0099 #define BURGUNDY_VOLUME_OFFSET  155
0100 
0101 #endif /* __BURGUNDY_H */