added a few registerdefines for codec, added unmute mixer output. ES1370, SB PCI128 now produces sound on haiku over here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28465 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
bff51d943a
commit
9fb04b9066
|
@ -463,14 +463,22 @@ es1370_setup(es1370_dev * card)
|
|||
|
||||
/* reset the codec */
|
||||
PRINT(("codec reset\n"));
|
||||
es1370_codec_write(&card->config, CODEC_RES_PD, 0x2);
|
||||
es1370_codec_write(&card->config, CODEC_RES_PD, 0x3);
|
||||
es1370_codec_write(&card->config, CODEC_CSEL, 0x0);
|
||||
es1370_codec_write(&card->config, CODEC_RESET_PWRDWN, 0x2);
|
||||
snooze (20);
|
||||
es1370_codec_write(&card->config, CODEC_RESET_PWRDWN, 0x3);
|
||||
snooze (20);
|
||||
es1370_codec_write(&card->config, CODEC_CLOCK_SEL, 0x0);
|
||||
|
||||
es1370_codec_write(&card->config, 0x0, 0x0);
|
||||
es1370_codec_write(&card->config, 0x1, 0x0);
|
||||
es1370_codec_write(&card->config, 0x2, 0x0);
|
||||
es1370_codec_write(&card->config, 0x3, 0x0);
|
||||
/* set max volume on master and mixer outputs */
|
||||
es1370_codec_write(&card->config, CODEC_MASTER_VOL_L, 0x0);
|
||||
es1370_codec_write(&card->config, CODEC_MASTER_VOL_R, 0x0);
|
||||
es1370_codec_write(&card->config, CODEC_VOICE_VOL_L, 0x0);
|
||||
es1370_codec_write(&card->config, CODEC_VOICE_VOL_R, 0x0);
|
||||
|
||||
/* unmute CD playback */
|
||||
es1370_codec_write(&card->config, CODEC_OUTPUT_MIX1, ES1370_OUTPUT_MIX1_CDL | ES1370_OUTPUT_MIX1_CDR);
|
||||
/* unmute mixer output */
|
||||
es1370_codec_write(&card->config, CODEC_OUTPUT_MIX2, ES1370_OUTPUT_MIX2_VOICEL | ES1370_OUTPUT_MIX2_VOICER);
|
||||
|
||||
snooze(50000); // 50 ms
|
||||
|
||||
|
|
|
@ -118,16 +118,49 @@
|
|||
#define STAT_DAC2 0x00000002 /* DAC2 int pending */
|
||||
#define STAT_ADC 0x00000001 /* ADC int pending */
|
||||
|
||||
#define CODEC_OMIX1 0x10
|
||||
#define CODEC_OMIX2 0x11
|
||||
#define CODEC_LIMIX1 0x12
|
||||
#define CODEC_RIMIX1 0x13
|
||||
#define CODEC_LIMIX2 0x14
|
||||
#define CODEC_RIMIX2 0x15
|
||||
#define CODEC_RES_PD 0x16
|
||||
#define CODEC_CSEL 0x17
|
||||
#define CODEC_ADSEL 0x18
|
||||
#define CODEC_MGAIN 0x19
|
||||
/* AKM AK4531 CODEC Control Register Map */
|
||||
|
||||
#define CODEC_MASTER_VOL_L 0x00
|
||||
#define CODEC_MASTER_VOL_R 0x01
|
||||
#define CODEC_VOICE_VOL_L 0x02
|
||||
#define CODEC_VOICE_VOL_R 0x03
|
||||
#define CODEC_FM_VOL_L 0x04
|
||||
#define CODEC_FM_VOL_R 0x05
|
||||
#define CODEC_CD_VOL_L 0x06
|
||||
#define CODEC_CD_VOL_R 0x07
|
||||
#define CODEC_LINE_VOL_L 0x08
|
||||
#define CODEC_LINE_VOL_R 0x09
|
||||
#define CODEC_AUX_VOL_L 0x0A
|
||||
#define CODEC_AUX_VOL_R 0x0B
|
||||
#define CODEC_MONO1_VOL 0x0C
|
||||
#define CODEC_MONO2_VOL 0x0D
|
||||
#define CODEC_MIC_VOL 0x0E
|
||||
#define CODEC_MONO_OUT_VOL 0x0F
|
||||
#define CODEC_OUTPUT_MIX1 0x10
|
||||
#define CODEC_OUTPUT_MIX2 0x11
|
||||
#define CODEC_L_INPUT_MIX1 0x12
|
||||
#define CODEC_R_INPUT_MIX1 0x13
|
||||
#define CODEC_L_INPUT_MIX2 0x14
|
||||
#define CODEC_R_INPUT_MIX2 0x15
|
||||
#define CODEC_RESET_PWRDWN 0x16
|
||||
#define CODEC_CLOCK_SEL 0x17
|
||||
#define CODEC_AD_INPUT_SEL 0x18
|
||||
#define CODEC_MIC_AMP_GAIN 0x19
|
||||
|
||||
/* output mixer mute bit positions */
|
||||
#define ES1370_OUTPUT_MIX1_FML (1<<6)
|
||||
#define ES1370_OUTPUT_MIX1_FMR (1<<5)
|
||||
#define ES1370_OUTPUT_MIX1_LINEL (1<<4)
|
||||
#define ES1370_OUTPUT_MIX1_LINER (1<<3)
|
||||
#define ES1370_OUTPUT_MIX1_CDL (1<<2)
|
||||
#define ES1370_OUTPUT_MIX1_CDR (1<<1)
|
||||
#define ES1370_OUTPUT_MIX1_MIC (1<<0)
|
||||
#define ES1370_OUTPUT_MIX2_AUXL (1<<5)
|
||||
#define ES1370_OUTPUT_MIX2_AUXR (1<<4)
|
||||
#define ES1370_OUTPUT_MIX2_VOICEL (1<<3)
|
||||
#define ES1370_OUTPUT_MIX2_VOICER (1<<2)
|
||||
#define ES1370_OUTPUT_MIX2_MONO2 (1<<1)
|
||||
#define ES1370_OUTPUT_MIX2_MONO1 (1<<0)
|
||||
|
||||
/* ES1371 specific */
|
||||
|
||||
|
|
Loading…
Reference in New Issue