AD1985 microphone input (Re: Problem recording, using <SiS
7012>)
DoctorD
doctordimon at gmail.com
Tue Jul 29 21:46:22 UTC 2008
Hello!
Can you tell me how to compile this src, Im dont familiar with C. (((
Thanx!
Kostik Belousov wrote:
>
> On Tue, Jul 29, 2008 at 01:00:49AM +0900, WATANABE Kazuhiro wrote:
>> Hello.
>>
>> Changed the subject.
>>
>> At Sun, 27 Jul 2008 11:11:38 -0700 (PDT),
>> DoctorD wrote:
>> > Hi!
>> >
>> > I have the same problem, but I have a bit different card:
>> >
>> > pcm0: <Intel ICH5 (82801EB)> port 0xc000-0xc0ff,0xc400-0xc43f mem
>> > 0xf7dff800-0xf7dff9ff,0xf7dff400-0xf7dff4ff irq 17 at device 31.5 on
>> pci0
>> > pcm0: [ITHREAD]
>> > pcm0: <Analog Devices AD1985 AC97 Codec>
>> >
>> > MB: ASUS P4P800 Deluxe
>> >
>> > I tried to apply you last patch, but my card didn't work...
>> > Could you please, create a one more patch for my card.
>> >
>> > Thanx.
>>
>> Would you apply the patch below? If your ICH audio controller has a
>> different card ID, change the value of the "case" statement in
>> ad1985_patch(). To settle the ID, I've referred the following mail:
>>
>>
>> http://lists.freebsd.org/pipermail/freebsd-multimedia/2003-October/000497.html
>>
>>
>> --- sys/dev/sound/pcm/ac97.c.releng70 2007-10-30 03:47:47.000000000 +0900
>> +++ sys/dev/sound/pcm/ac97.c 2008-07-28 18:29:02.000000000 +0900
>> @@ -141,8 +141,8 @@
>> { 0x41445370, 0x00, 0, "AD1980", ad198x_patch },
>> { 0x41445372, 0x00, 0, "AD1981A", 0 },
>> { 0x41445374, 0x00, 0, "AD1981B", ad1981b_patch },
>> - { 0x41445375, 0x00, 0, "AD1985", ad198x_patch },
>> - { 0x41445378, 0x00, 0, "AD1986", ad198x_patch },
>> + { 0x41445375, 0x00, 0, "AD1985", ad1985_patch },
>> + { 0x41445378, 0x00, 0, "AD1986", ad1986_patch },
>> { 0x414b4d00, 0x00, 1, "AK4540", 0 },
>> { 0x414b4d01, 0x00, 1, "AK4542", 0 },
>> { 0x414b4d02, 0x00, 1, "AK4543", 0 },
>> --- sys/dev/sound/pcm/ac97_patch.c.releng70 2007-10-30 03:47:27.000000000
>> +0900
>> +++ sys/dev/sound/pcm/ac97_patch.c 2008-07-28 21:33:56.000000000 +0900
>> @@ -69,6 +69,66 @@
>> }
>> }
>>
>> +void ad1985_patch(struct ac97_info* codec)
>> +{
>> + /*
>> + * Disable outputs of the SURR_OUT and CENTER_OUT/LFE_OUT pins.
>> + * Select the CENTER_OUT/LFE_OUT pins as the MIC inputs.
>> + * Enable the stereo microphone mode.
>> + *
>> + * Set the voltage of the VREFOUT pin.
>> + */
>> + switch (ac97_getsubvendor(codec)) {
>> + case 0x80f31043: /* ASUS P4P800 Deluxe (SE) */
>> + ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x1800);
>> + ac97_wrcd(codec, 0x74, ac97_rdcd(codec, 0x74) | 0x0200);
>> + ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x0040);
>> +
>> + /*
>> + * 0x0 = 2.25V (default)
>> + * 0x1 = High-Z
>> + * 0x2 = 3.7V
>> + * 0x3 = 0V
>> + */
>> + ac97_wrcd(codec, 0x76, (ac97_rdcd(codec, 0x76) & ~0xc)
>> + | 0x0 << 2);
>> + break;
>> + default:
>> + break;
>> + }
>> +}
>> +
>> +void ad1986_patch(struct ac97_info* codec)
>> +{
>> + /*
>> + * Disable outputs of the SURR_OUT and CENTER_OUT/LFE_OUT pins.
>> + * Select the SURR_OUT pins as the LINE_IN inputs.
>> + * Select the CENTER_OUT/LFE_OUT pins as the MIC inputs.
>> + * Enable the stereo microphone mode.
>> + *
>> + * Set the voltage of the C/LFE VREF_OUT pin.
>> + */
>> + switch (ac97_getsubvendor(codec)) {
>> + case 0x818f1043: /* ASUS P5SD2-X (SE) */
>> + ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x1800);
>> + ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x0004);
>> + ac97_wrcd(codec, 0x74, ac97_rdcd(codec, 0x74) | 0x0200);
>> + ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x0040);
>> +
>> + /*
>> + * 0x0 = High-Z (default)
>> + * 0x1 = 2.25V
>> + * 0x2 = 0V
>> + * 0x4 = 3.70V
>> + */
>> + ac97_wrcd(codec, 0x70, (ac97_rdcd(codec, 0x70) & ~0x1c)
>> + | 0x1 << 2);
>> + break;
>> + default:
>> + break;
>> + }
>> +}
>> +
>> void cmi9739_patch(struct ac97_info* codec)
>> {
>> /*
>> --- sys/dev/sound/pcm/ac97_patch.h.releng70 2007-04-19 22:54:22.000000000
>> +0900
>> +++ sys/dev/sound/pcm/ac97_patch.h 2008-07-28 18:29:21.000000000 +0900
>> @@ -31,5 +31,7 @@
>> void ad1886_patch(struct ac97_info*);
>> void ad198x_patch(struct ac97_info*);
>> void ad1981b_patch(struct ac97_info*);
>> +void ad1985_patch(struct ac97_info*);
>> +void ad1986_patch(struct ac97_info*);
>> void cmi9739_patch(struct ac97_info*);
>> void alc655_patch(struct ac97_info*);
>>
>
> BTW, I use the http://people.freebsd.org/~kib/ad1985/setup_mic_ad1985.cc
>
>
>
--
View this message in context: http://www.nabble.com/Problem-recording%2C-using-%3CSiS-7012%3E-tp10412103p18721846.html
Sent from the freebsd-multimedia mailing list archive at Nabble.com.
More information about the freebsd-multimedia
mailing list