Commit 44deee12 authored by Risto Suominen's avatar Risto Suominen Committed by Takashi Iwai

[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: default avatarRisto Suominen <Risto.Suominen@gmail.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 7ae44cfa
This diff is collapsed.
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#ifndef __BURGUNDY_H #ifndef __BURGUNDY_H
#define __BURGUNDY_H #define __BURGUNDY_H
#define MASK_ADDR_BURGUNDY_INPBOOST (0x10 << 12)
#define MASK_ADDR_BURGUNDY_INPSEL21 (0x11 << 12) #define MASK_ADDR_BURGUNDY_INPSEL21 (0x11 << 12)
#define MASK_ADDR_BURGUNDY_INPSEL3 (0x12 << 12) #define MASK_ADDR_BURGUNDY_INPSEL3 (0x12 << 12)
...@@ -35,7 +36,10 @@ ...@@ -35,7 +36,10 @@
#define MASK_ADDR_BURGUNDY_VOLCH3 (0x22 << 12) #define MASK_ADDR_BURGUNDY_VOLCH3 (0x22 << 12)
#define MASK_ADDR_BURGUNDY_VOLCH4 (0x23 << 12) #define MASK_ADDR_BURGUNDY_VOLCH4 (0x23 << 12)
#define MASK_ADDR_BURGUNDY_CAPTURESELECTS (0x2A << 12)
#define MASK_ADDR_BURGUNDY_OUTPUTSELECTS (0x2B << 12) #define MASK_ADDR_BURGUNDY_OUTPUTSELECTS (0x2B << 12)
#define MASK_ADDR_BURGUNDY_VOLMIX01 (0x2D << 12)
#define MASK_ADDR_BURGUNDY_VOLMIX23 (0x2E << 12)
#define MASK_ADDR_BURGUNDY_OUTPUTENABLES (0x2F << 12) #define MASK_ADDR_BURGUNDY_OUTPUTENABLES (0x2F << 12)
#define MASK_ADDR_BURGUNDY_MASTER_VOLUME (0x30 << 12) #define MASK_ADDR_BURGUNDY_MASTER_VOLUME (0x30 << 12)
...@@ -45,6 +49,10 @@ ...@@ -45,6 +49,10 @@
#define MASK_ADDR_BURGUNDY_ATTENSPEAKER (0x62 << 12) #define MASK_ADDR_BURGUNDY_ATTENSPEAKER (0x62 << 12)
#define MASK_ADDR_BURGUNDY_ATTENLINEOUT (0x63 << 12) #define MASK_ADDR_BURGUNDY_ATTENLINEOUT (0x63 << 12)
#define MASK_ADDR_BURGUNDY_ATTENHP (0x64 << 12) #define MASK_ADDR_BURGUNDY_ATTENHP (0x64 << 12)
#define MASK_ADDR_BURGUNDY_ATTENMONO (0x65 << 12)
#define MASK_ADDR_BURGUNDY_HOSTIFAD (0x78 << 12)
#define MASK_ADDR_BURGUNDY_HOSTIFEH (0x79 << 12)
#define MASK_ADDR_BURGUNDY_VOLCD (MASK_ADDR_BURGUNDY_VOLCH1) #define MASK_ADDR_BURGUNDY_VOLCD (MASK_ADDR_BURGUNDY_VOLCH1)
#define MASK_ADDR_BURGUNDY_VOLLINE (MASK_ADDR_BURGUNDY_VOLCH2) #define MASK_ADDR_BURGUNDY_VOLLINE (MASK_ADDR_BURGUNDY_VOLCH2)
...@@ -59,21 +67,22 @@ ...@@ -59,21 +67,22 @@
/* These are all default values for the burgundy */ /* These are all default values for the burgundy */
#define DEF_BURGUNDY_INPSEL21 (0xAA) #define DEF_BURGUNDY_INPSEL21 (0xAA)
#define DEF_BURGUNDY_INPSEL3 (0x0A) #define DEF_BURGUNDY_INPSEL3_IMAC (0x0A)
#define DEF_BURGUNDY_INPSEL3_PMAC (0x05)
#define DEF_BURGUNDY_GAINCD (0x33) #define DEF_BURGUNDY_GAINCD (0x33)
#define DEF_BURGUNDY_GAINLINE (0x44) #define DEF_BURGUNDY_GAINLINE (0x44)
#define DEF_BURGUNDY_GAINMIC (0x44) #define DEF_BURGUNDY_GAINMIC (0x44)
#define DEF_BURGUNDY_GAINMODEM (0x06) #define DEF_BURGUNDY_GAINMODEM (0x06)
/* Remember: lowest volume here is 0x9b */ /* Remember: lowest volume here is 0x9B (155) */
#define DEF_BURGUNDY_VOLCD (0xCCCCCCCC) #define DEF_BURGUNDY_VOLCD (0xCCCCCCCC)
#define DEF_BURGUNDY_VOLLINE (0x00000000) #define DEF_BURGUNDY_VOLLINE (0x00000000)
#define DEF_BURGUNDY_VOLMIC (0x00000000) #define DEF_BURGUNDY_VOLMIC (0x00000000)
#define DEF_BURGUNDY_VOLMODEM (0xCCCCCCCC) #define DEF_BURGUNDY_VOLMODEM (0xCCCCCCCC)
#define DEF_BURGUNDY_OUTPUTSELECTS (0x010f010f) #define DEF_BURGUNDY_OUTPUTSELECTS (0x010F010F)
#define DEF_BURGUNDY_OUTPUTENABLES (0x0A) #define DEF_BURGUNDY_OUTPUTENABLES (0x0100000A)
/* #define DEF_BURGUNDY_MASTER_VOLUME (0xFFFFFFFF) */ /* too loud */ /* #define DEF_BURGUNDY_MASTER_VOLUME (0xFFFFFFFF) */ /* too loud */
#define DEF_BURGUNDY_MASTER_VOLUME (0xDDDDDDDD) #define DEF_BURGUNDY_MASTER_VOLUME (0xDDDDDDDD)
...@@ -84,12 +93,22 @@ ...@@ -84,12 +93,22 @@
#define DEF_BURGUNDY_ATTENLINEOUT (0xCC) #define DEF_BURGUNDY_ATTENLINEOUT (0xCC)
#define DEF_BURGUNDY_ATTENHP (0xCC) #define DEF_BURGUNDY_ATTENHP (0xCC)
/* OUTPUTENABLES bits */ /* MORE_OUTPUTENABLES bits */
#define BURGUNDY_OUTPUT_LEFT 0x02 #define BURGUNDY_OUTPUT_LEFT 0x02
#define BURGUNDY_OUTPUT_RIGHT 0x04 #define BURGUNDY_OUTPUT_RIGHT 0x04
#define BURGUNDY_LINEOUT_LEFT 0x08
#define BURGUNDY_LINEOUT_RIGHT 0x10
#define BURGUNDY_HP_LEFT 0x20
#define BURGUNDY_HP_RIGHT 0x40
#define BURGUNDY_OUTPUT_INTERN 0x80 #define BURGUNDY_OUTPUT_INTERN 0x80
/* volume offset */ /* Headphone detection bits */
#define BURGUNDY_HPDETECT_PMAC_BACK 0x04
#define BURGUNDY_HPDETECT_IMAC_SIDE 0x04
#define BURGUNDY_HPDETECT_IMAC_UPPER 0x08
#define BURGUNDY_HPDETECT_IMAC_LOWER 0x01
/* Volume offset */
#define BURGUNDY_VOLUME_OFFSET 155 #define BURGUNDY_VOLUME_OFFSET 155
#endif /* __BURGUNDY_H */ #endif /* __BURGUNDY_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment