[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Openvortex-dev] Re: au88x0 modem
From: |
Raymond |
Subject: |
[Openvortex-dev] Re: au88x0 modem |
Date: |
Mon, 19 Sep 2005 23:32:50 +0800 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.7.10) Gecko/20050811 Fedora/1.7.10-1.1.1.legacy |
Philipp Matthias Hahn wrote:
Hello!
On Fri, Sep 16, 2005 at 09:25:24PM +0300, Sasha Khapyorsky wrote:
On 10:46 Fri 16 Sep , Philipp Matthias Hahn wrote:
2. GPIO
Probably we are lucky and au88x0 implements it in AC97 way, try to write
mc97 registers via /proc (for this you need build drivers in debug mode,
'--with-debug=detect' is ok):
# echo 42 ffff > /proc/asound/card0/codec97#0/mc97#1-1+regs
# echo 42 0 > /proc/asound/card0/codec97#0/mc97#1-1+regs
# echo 54 1 > /proc/asound/card0/codec97#0/mc97#1-1+regs
Sorry, I did echo those values and read mc97#1-1+regs, but no values
changed.
Even 0x42 register? Are you with debug version of drivers
( ./configure --with-debug=detect )?
Sorry, yes. The is ALSA from linux-2.6.13.2 with CONFIG_SND_DEBUG=y,
which is equivalent to --with-debug=detect.
I attached a new dmesg with an additional patch, which prints out every
vortex_{read,write}.
ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
PCI: setting IRQ 10 as level-triggered
ACPI: PCI Interrupt 0000:00:06.0[A] -> Link [LNKC] -> GSI 10 (level, low) ->
IRQ 10
Vortex: init.... <3>ALSA sound/core/control.c:324: control 3:0:0:Playback PCM
advanced processing:0 is already present
done.
vortex_codec_read 0 7c :8384
vortex_codec_read 0 7e :7605
vortex_codec_write 0 00 :0000
vortex_codec_read 0 00 :6940
vortex_codec_read 0 7c :8384
vortex_codec_read 0 7e :7605
vortex_codec_write 0 1c :8a05
vortex_codec_read 0 1c :8a05
vortex_codec_read 0 7c :8384
vortex_codec_read 0 7e :7605
vortex_codec_write 0 1c :8a06
vortex_codec_read 0 1c :8a06
vortex_codec_read 0 00 :6940
vortex_codec_read 0 28 :0000
vortex_codec_write 0 26 :0000
vortex_codec_write 0 00 :0000
vortex_codec_write 0 26 :0000
vortex_codec_write 0 20 :0000
vortex_codec_read 0 26 :000f
vortex_codec_read 0 02 :8000
vortex_codec_read 0 02 :8000
vortex_codec_write 0 02 :0000
vortex_codec_read 0 02 :0000
vortex_codec_write 0 02 :8000
vortex_codec_read 0 02 :8000
vortex_codec_write 0 02 :8000
vortex_codec_write 0 02 :a0a0
vortex_codec_read 0 02 :9f9f
vortex_codec_read 0 02 :9f1f
vortex_codec_write 0 02 :9090
vortex_codec_read 0 02 :9090
vortex_codec_read 0 02 :9010
vortex_codec_read 0 02 :9010
vortex_codec_write 0 02 :9f1f
vortex_codec_read 0 06 :9f00
vortex_codec_read 0 06 :8000
vortex_codec_write 0 06 :0000
vortex_codec_read 0 06 :0000
vortex_codec_write 0 06 :8000
vortex_codec_read 0 06 :8000
vortex_codec_write 0 06 :8000
vortex_codec_write 0 06 :a0a0
vortex_codec_read 0 06 :a09f
vortex_codec_read 0 06 :801f
vortex_codec_write 0 06 :9090
vortex_codec_read 0 06 :9090
vortex_codec_read 0 06 :8010
vortex_codec_write 0 06 :8181
vortex_codec_read 0 06 :8181
vortex_codec_read 0 06 :8001
vortex_codec_read 0 06 :8001
vortex_codec_write 0 06 :801f
vortex_codec_read 0 0a :0000
vortex_codec_write 0 0a :8000
vortex_codec_read 0 0a :8000
vortex_codec_read 0 0a :8000
vortex_codec_write 0 0a :801e
vortex_codec_read 0 0c :8008
vortex_codec_read 0 0c :8008
vortex_codec_write 0 0c :0008
vortex_codec_read 0 0c :0008
vortex_codec_write 0 0c :8008
vortex_codec_read 0 0c :8008
vortex_codec_write 0 0c :8008
vortex_codec_write 0 0c :a0a0
vortex_codec_read 0 0c :8000
vortex_codec_read 0 0c :8000
vortex_codec_write 0 0c :9090
vortex_codec_read 0 0c :8010
vortex_codec_read 0 0c :8010
vortex_codec_write 0 0c :8181
vortex_codec_read 0 0c :8001
vortex_codec_read 0 0c :8001
vortex_codec_read 0 0c :8001
vortex_codec_write 0 0c :801f
vortex_codec_read 0 0e :8008
vortex_codec_read 0 0e :8008
vortex_codec_write 0 0e :0008
vortex_codec_read 0 0e :0008
vortex_codec_write 0 0e :8008
vortex_codec_read 0 0e :8008
vortex_codec_write 0 0e :8008
vortex_codec_write 0 0e :a0a0
vortex_codec_read 0 0e :a0a0
vortex_codec_read 0 0e :8000
vortex_codec_write 0 0e :9090
vortex_codec_read 0 0e :9090
vortex_codec_read 0 0e :8010
vortex_codec_write 0 0e :8181
vortex_codec_read 0 0e :8181
vortex_codec_read 0 0e :8001
vortex_codec_read 0 0e :8001
vortex_codec_write 0 0e :801f
vortex_codec_read 0 10 :8808
vortex_codec_read 0 10 :8808
vortex_codec_write 0 10 :0808
vortex_codec_read 0 10 :0808
vortex_codec_write 0 10 :8808
vortex_codec_read 0 10 :8808
vortex_codec_write 0 10 :8808
vortex_codec_write 0 10 :a0a0
vortex_codec_read 0 10 :a0a0
vortex_codec_read 0 10 :8000
vortex_codec_write 0 10 :9090
vortex_codec_read 0 10 :9090
vortex_codec_read 0 10 :9010
vortex_codec_read 0 10 :9010
vortex_codec_write 0 10 :9f1f
vortex_codec_read 0 12 :8808
vortex_codec_read 0 12 :8808
vortex_codec_write 0 12 :0808
vortex_codec_read 0 12 :0808
vortex_codec_write 0 12 :8808
vortex_codec_read 0 12 :8808
vortex_codec_write 0 12 :8808
vortex_codec_write 0 12 :a0a0
vortex_codec_read 0 12 :a0a0
vortex_codec_read 0 12 :8000
vortex_codec_write 0 12 :9090
vortex_codec_read 0 12 :9090
vortex_codec_read 0 12 :9010
vortex_codec_read 0 12 :9010
vortex_codec_write 0 12 :9f1f
vortex_codec_read 0 14 :8808
vortex_codec_read 0 14 :8808
vortex_codec_write 0 14 :0808
vortex_codec_read 0 14 :0808
vortex_codec_write 0 14 :8808
vortex_codec_read 0 14 :8808
vortex_codec_write 0 14 :8808
vortex_codec_write 0 14 :a0a0
vortex_codec_read 0 14 :a0a0
vortex_codec_read 0 14 :8000
vortex_codec_write 0 14 :9090
vortex_codec_read 0 14 :9090
vortex_codec_read 0 14 :9010
vortex_codec_read 0 14 :9010
vortex_codec_write 0 14 :9f1f
vortex_codec_read 0 16 :8808
vortex_codec_read 0 16 :8808
vortex_codec_write 0 16 :0808
vortex_codec_read 0 16 :0808
vortex_codec_write 0 16 :8808
vortex_codec_read 0 16 :8808
vortex_codec_write 0 16 :8808
vortex_codec_write 0 16 :a0a0
vortex_codec_read 0 16 :a0a0
vortex_codec_read 0 16 :8000
vortex_codec_write 0 16 :9090
vortex_codec_read 0 16 :9090
vortex_codec_read 0 16 :9010
vortex_codec_read 0 16 :9010
vortex_codec_write 0 16 :9f1f
vortex_codec_read 0 18 :8808
vortex_codec_write 0 18 :0808
vortex_codec_read 0 18 :0808
vortex_codec_write 0 18 :8808
vortex_codec_read 0 18 :8808
vortex_codec_write 0 18 :8808
vortex_codec_write 0 18 :a0a0
vortex_codec_read 0 18 :a0a0
vortex_codec_read 0 18 :8000
vortex_codec_write 0 18 :9090
vortex_codec_read 0 18 :9090
vortex_codec_read 0 18 :9010
vortex_codec_read 0 18 :9010
vortex_codec_write 0 18 :9f1f
vortex_codec_read 0 1c :9010
vortex_codec_write 0 1c :1010
vortex_codec_read 0 1c :1010
vortex_codec_write 0 1c :9010
vortex_codec_read 0 1c :9010
vortex_codec_write 0 1c :9010
vortex_codec_write 0 1a :0000
vortex_codec_write 0 1c :0000
vortex_codec_read 0 20 :0000
vortex_codec_write 0 20 :8000
vortex_codec_read 0 20 :8000
vortex_codec_write 0 20 :0000
vortex_codec_read 0 20 :0000
vortex_codec_write 0 20 :2000
vortex_codec_read 0 20 :2000
vortex_codec_write 0 20 :0000
vortex_codec_read 0 20 :0000
vortex_codec_write 0 20 :0200
vortex_codec_read 0 20 :0200
vortex_codec_write 0 20 :0000
vortex_codec_read 0 20 :0000
vortex_codec_write 0 20 :0100
vortex_codec_read 0 20 :0100
vortex_codec_write 0 20 :0000
vortex_codec_read 0 22 :0000
vortex_codec_write 0 22 :0707
vortex_codec_read 0 22 :0707
vortex_codec_write 0 22 :0000
vortex_codec_read 0 26 :000f
vortex_codec_write 0 26 :800f
vortex_codec_read 0 26 :800f
vortex_codec_write 0 26 :000f
vortex_codec_read 0 2a :ffff
vortex_codec_write 0 2a :ffff
vortex_codec_read 1 7c :5349
vortex_codec_read 1 7e :4c26
vortex_codec_write 1 00 :0000
vortex_codec_write 1 3c :0000
vortex_codec_read 1 00 :0000
vortex_codec_read 1 7c :5349
vortex_codec_read 1 7e :4c26
vortex_codec_write 1 1c :8a05
vortex_codec_read 1 1c :0000
vortex_codec_read 1 00 :0000
for audio codec
ac97.scaps = AC97_SCAP_NO_SPDIF;
for modem codec
ac97.scaps = AC97_SCAP_SKIP_AUDIO;
static int __devinit snd_vortex_mixer(vortex_t * vortex)
{
ac97_bus_t *pbus;
ac97_template_t ac97;
int err;
static ac97_bus_ops_t ops = {
.write = vortex_codec_write,
.read = vortex_codec_read,
};
if ((err = snd_ac97_bus(vortex->card, 0, &ops, NULL, &pbus)) < 0)
return err;
memset(&ac97, 0, sizeof(ac97));
// Intialize AC97 codec stuff.
ac97.private_data = vortex;
ac97.scaps = AC97_SCAP_NO_SPDIF;
err = snd_ac97_mixer(pbus, &ac97, &vortex->codec[0]);
vortex->isquad = ((vortex->codec[0] == NULL) ? 0 :
(vortex->codec[0]->ext_id & AC97_EI_SDAC));
#ifndef CHIP_AU8820
/* Enable rear channels of audio codec. */
if ( vortex->isquad )
hwwrite(vortex->mmio, VORTEX_CODEC_EN,
hwread(vortex->mmio, VORTEX_CODEC_EN) | EN_AUDIO1);
#endif
#ifdef CHIP_AU8810
switch ( hwread(vortex->mmio,0x2A804)) {
case 0x10431043: // ASUS L8400B
memset(&ac97, 0, sizeof(ac97));
// Intialize MC97 codec stuff.
ac97.private_data = vortex;
ac97.scaps = AC97_SCAP_SKIP_AUDIO;
ac97.num = 1;
err = snd_ac97_mixer(pbus, &ac97, &vortex->codec[ac97.num]);
hwwrite(vortex->mmio, VORTEX_CODEC_EN,
hwread(vortex->mmio, VORTEX_CODEC_EN) | EN_MODEM);
};
#endif
return err;
}
Doing an "echo 44 ff > ...mc97$1-1+regs" prints out the expected
vortex_codec_write 1 44 :ffff
but the following read returns "0000"
, if value is changed (we are lucky then), you may connect line and
isten 'Hook-Off' clicks (when 0x54 is switched between 0 and 1) with
parallel phone.
I don't have the line cable with me at the moment and need to find a
analog telephone circuit until I can test that
If values are not changed there will nothing, don't try.
- [Openvortex-dev] Re: au88x0 modem, (continued)
- [Openvortex-dev] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/15
- [Openvortex-dev] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/15
- [Openvortex-dev] Re: au88x0 modem, Raymond, 2005/09/15
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Sasha Khapyorsky, 2005/09/15
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Sasha Khapyorsky, 2005/09/15
- [Openvortex-dev] Re: au88x0 modem, Raymond, 2005/09/16
- [Openvortex-dev] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/16
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/16
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Sasha Khapyorsky, 2005/09/16
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/19
- [Openvortex-dev] Re: au88x0 modem,
Raymond <=
- [Openvortex-dev] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/20
- [Openvortex-dev] Re: au88x0 modem, Sasha Khapyorsky, 2005/09/21
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Sasha Khapyorsky, 2005/09/21
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Philipp Matthias Hahn, 2005/09/22
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Sasha Khapyorsky, 2005/09/22
- [Openvortex-dev] Re: au88x0 modem, Raymond, 2005/09/16
- Message not available
- [Openvortex-dev] Re: au88x0 modem, Raymond, 2005/09/17
- Message not available
- Message not available
- [Openvortex-dev] Re: au88x0 modem, Raymond, 2005/09/15
- [Openvortex-dev] Re: [Alsa-devel] Re: au88x0 modem, Lee Revell, 2005/09/15