diff options
author | Risto Suominen <Risto.Suominen@gmail.com> | 2008-04-16 13:45:31 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 06:00:38 -0400 |
commit | 44deee129c9af3759d3e5e772b82012742dc57a0 (patch) | |
tree | d6469a00b5d5c34712879ed76e868e60f014deeb /sound/ppc/burgundy.h | |
parent | 7ae44cfa7ab29b277691327e8de790d7b880722f (diff) |
[ALSA] snd-powermac: Burgundy mixers for B&W and iMac
Add mixer controls and correct headphone detection bits for PowerMac
G3 B&W and iMac G3 Tray-loading, both having Burgundy chipset.
Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/ppc/burgundy.h')
-rw-r--r-- | sound/ppc/burgundy.h | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/sound/ppc/burgundy.h b/sound/ppc/burgundy.h index ebb457a8342c..7a7f9cf3d299 100644 --- a/sound/ppc/burgundy.h +++ b/sound/ppc/burgundy.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #ifndef __BURGUNDY_H | 22 | #ifndef __BURGUNDY_H |
23 | #define __BURGUNDY_H | 23 | #define __BURGUNDY_H |
24 | 24 | ||
25 | #define MASK_ADDR_BURGUNDY_INPBOOST (0x10 << 12) | ||
25 | #define MASK_ADDR_BURGUNDY_INPSEL21 (0x11 << 12) | 26 | #define MASK_ADDR_BURGUNDY_INPSEL21 (0x11 << 12) |
26 | #define MASK_ADDR_BURGUNDY_INPSEL3 (0x12 << 12) | 27 | #define MASK_ADDR_BURGUNDY_INPSEL3 (0x12 << 12) |
27 | 28 | ||
@@ -35,7 +36,10 @@ | |||
35 | #define MASK_ADDR_BURGUNDY_VOLCH3 (0x22 << 12) | 36 | #define MASK_ADDR_BURGUNDY_VOLCH3 (0x22 << 12) |
36 | #define MASK_ADDR_BURGUNDY_VOLCH4 (0x23 << 12) | 37 | #define MASK_ADDR_BURGUNDY_VOLCH4 (0x23 << 12) |
37 | 38 | ||
39 | #define MASK_ADDR_BURGUNDY_CAPTURESELECTS (0x2A << 12) | ||
38 | #define MASK_ADDR_BURGUNDY_OUTPUTSELECTS (0x2B << 12) | 40 | #define MASK_ADDR_BURGUNDY_OUTPUTSELECTS (0x2B << 12) |
41 | #define MASK_ADDR_BURGUNDY_VOLMIX01 (0x2D << 12) | ||
42 | #define MASK_ADDR_BURGUNDY_VOLMIX23 (0x2E << 12) | ||
39 | #define MASK_ADDR_BURGUNDY_OUTPUTENABLES (0x2F << 12) | 43 | #define MASK_ADDR_BURGUNDY_OUTPUTENABLES (0x2F << 12) |
40 | 44 | ||
41 | #define MASK_ADDR_BURGUNDY_MASTER_VOLUME (0x30 << 12) | 45 | #define MASK_ADDR_BURGUNDY_MASTER_VOLUME (0x30 << 12) |
@@ -45,6 +49,10 @@ | |||
45 | #define MASK_ADDR_BURGUNDY_ATTENSPEAKER (0x62 << 12) | 49 | #define MASK_ADDR_BURGUNDY_ATTENSPEAKER (0x62 << 12) |
46 | #define MASK_ADDR_BURGUNDY_ATTENLINEOUT (0x63 << 12) | 50 | #define MASK_ADDR_BURGUNDY_ATTENLINEOUT (0x63 << 12) |
47 | #define MASK_ADDR_BURGUNDY_ATTENHP (0x64 << 12) | 51 | #define MASK_ADDR_BURGUNDY_ATTENHP (0x64 << 12) |
52 | #define MASK_ADDR_BURGUNDY_ATTENMONO (0x65 << 12) | ||
53 | |||
54 | #define MASK_ADDR_BURGUNDY_HOSTIFAD (0x78 << 12) | ||
55 | #define MASK_ADDR_BURGUNDY_HOSTIFEH (0x79 << 12) | ||
48 | 56 | ||
49 | #define MASK_ADDR_BURGUNDY_VOLCD (MASK_ADDR_BURGUNDY_VOLCH1) | 57 | #define MASK_ADDR_BURGUNDY_VOLCD (MASK_ADDR_BURGUNDY_VOLCH1) |
50 | #define MASK_ADDR_BURGUNDY_VOLLINE (MASK_ADDR_BURGUNDY_VOLCH2) | 58 | #define MASK_ADDR_BURGUNDY_VOLLINE (MASK_ADDR_BURGUNDY_VOLCH2) |
@@ -59,21 +67,22 @@ | |||
59 | 67 | ||
60 | /* These are all default values for the burgundy */ | 68 | /* These are all default values for the burgundy */ |
61 | #define DEF_BURGUNDY_INPSEL21 (0xAA) | 69 | #define DEF_BURGUNDY_INPSEL21 (0xAA) |
62 | #define DEF_BURGUNDY_INPSEL3 (0x0A) | 70 | #define DEF_BURGUNDY_INPSEL3_IMAC (0x0A) |
71 | #define DEF_BURGUNDY_INPSEL3_PMAC (0x05) | ||
63 | 72 | ||
64 | #define DEF_BURGUNDY_GAINCD (0x33) | 73 | #define DEF_BURGUNDY_GAINCD (0x33) |
65 | #define DEF_BURGUNDY_GAINLINE (0x44) | 74 | #define DEF_BURGUNDY_GAINLINE (0x44) |
66 | #define DEF_BURGUNDY_GAINMIC (0x44) | 75 | #define DEF_BURGUNDY_GAINMIC (0x44) |
67 | #define DEF_BURGUNDY_GAINMODEM (0x06) | 76 | #define DEF_BURGUNDY_GAINMODEM (0x06) |
68 | 77 | ||
69 | /* Remember: lowest volume here is 0x9b */ | 78 | /* Remember: lowest volume here is 0x9B (155) */ |
70 | #define DEF_BURGUNDY_VOLCD (0xCCCCCCCC) | 79 | #define DEF_BURGUNDY_VOLCD (0xCCCCCCCC) |
71 | #define DEF_BURGUNDY_VOLLINE (0x00000000) | 80 | #define DEF_BURGUNDY_VOLLINE (0x00000000) |
72 | #define DEF_BURGUNDY_VOLMIC (0x00000000) | 81 | #define DEF_BURGUNDY_VOLMIC (0x00000000) |
73 | #define DEF_BURGUNDY_VOLMODEM (0xCCCCCCCC) | 82 | #define DEF_BURGUNDY_VOLMODEM (0xCCCCCCCC) |
74 | 83 | ||
75 | #define DEF_BURGUNDY_OUTPUTSELECTS (0x010f010f) | 84 | #define DEF_BURGUNDY_OUTPUTSELECTS (0x010F010F) |
76 | #define DEF_BURGUNDY_OUTPUTENABLES (0x0A) | 85 | #define DEF_BURGUNDY_OUTPUTENABLES (0x0100000A) |
77 | 86 | ||
78 | /* #define DEF_BURGUNDY_MASTER_VOLUME (0xFFFFFFFF) */ /* too loud */ | 87 | /* #define DEF_BURGUNDY_MASTER_VOLUME (0xFFFFFFFF) */ /* too loud */ |
79 | #define DEF_BURGUNDY_MASTER_VOLUME (0xDDDDDDDD) | 88 | #define DEF_BURGUNDY_MASTER_VOLUME (0xDDDDDDDD) |
@@ -84,12 +93,22 @@ | |||
84 | #define DEF_BURGUNDY_ATTENLINEOUT (0xCC) | 93 | #define DEF_BURGUNDY_ATTENLINEOUT (0xCC) |
85 | #define DEF_BURGUNDY_ATTENHP (0xCC) | 94 | #define DEF_BURGUNDY_ATTENHP (0xCC) |
86 | 95 | ||
87 | /* OUTPUTENABLES bits */ | 96 | /* MORE_OUTPUTENABLES bits */ |
88 | #define BURGUNDY_OUTPUT_LEFT 0x02 | 97 | #define BURGUNDY_OUTPUT_LEFT 0x02 |
89 | #define BURGUNDY_OUTPUT_RIGHT 0x04 | 98 | #define BURGUNDY_OUTPUT_RIGHT 0x04 |
99 | #define BURGUNDY_LINEOUT_LEFT 0x08 | ||
100 | #define BURGUNDY_LINEOUT_RIGHT 0x10 | ||
101 | #define BURGUNDY_HP_LEFT 0x20 | ||
102 | #define BURGUNDY_HP_RIGHT 0x40 | ||
90 | #define BURGUNDY_OUTPUT_INTERN 0x80 | 103 | #define BURGUNDY_OUTPUT_INTERN 0x80 |
91 | 104 | ||
92 | /* volume offset */ | 105 | /* Headphone detection bits */ |
106 | #define BURGUNDY_HPDETECT_PMAC_BACK 0x04 | ||
107 | #define BURGUNDY_HPDETECT_IMAC_SIDE 0x04 | ||
108 | #define BURGUNDY_HPDETECT_IMAC_UPPER 0x08 | ||
109 | #define BURGUNDY_HPDETECT_IMAC_LOWER 0x01 | ||
110 | |||
111 | /* Volume offset */ | ||
93 | #define BURGUNDY_VOLUME_OFFSET 155 | 112 | #define BURGUNDY_VOLUME_OFFSET 155 |
94 | 113 | ||
95 | #endif /* __BURGUNDY_H */ | 114 | #endif /* __BURGUNDY_H */ |