[alsa-devel] Support new HDA codec

Jorge Fernandez Monteagudo jorgefm at cirsa.com
Tue Feb 21 12:14:02 CET 2012


Hi all,

This is my first email to the devel mailing list. I'm asking the same question in the user mailing list
but I suspect that I'll have to add some code in order to get this hda codec from Wolfson to work.

Attached is the log I get from alsa-info.sh. This codec has three output paths:

1) Node 0x06, DAC1, and Node 0x11, Port A, the stereo headphone playback, which is the
    default one and it seems it works because I can see the stream set to 5 when a sound is played.

2) Node 0x04, SPDIF Tx1, and Node 0x0f, SPDIF OUT, the SPDIF transmit functionality provides
    an IEC-60958-3 compatible S/PIDF output which I would like to enable but without luck yet.
    I can enable the node 0x04, with hda-verb, and the spdif amplifier receives spdif frames but
    without audio info.

3) Node 0x07, DAC2, and Node 0x12, Port G, the stereo line playback with a differential
    stereo output wich I would like to enable but without luck again. I just can mute/unmute the node
    but without effect in the outputs.

I would like to know if I have to develop a patch for this device or with the attached log info I
can expect to use it with the current code in kernel. Now, with alsamixer and other config tools
I can't see any control related to the outputs for 2) and 3)...

Any hint is welcome!
Thanks
Jorge

---

upload=true&script=true&cardinfo=
!!################################
!!ALSA Information Script v 0.4.60
!!################################

!!Script ran on: Tue Feb 21 09:44:41 UTC 2012


!!Linux Distribution
!!------------------

Ubuntu 11.10 \n \l DISTRIB_ID=Ubuntu DISTRIB_DESCRIPTION="Ubuntu 11.10"


!!DMI Information
!!---------------

Manufacturer:      nVidia
Product Name:      MMP9-ION
Product Version:   To Be Filled By O.E.M.


!!Kernel Information
!!------------------

Kernel release:    3.0.0-12-generic
Operating System:  GNU/Linux
Architecture:      i686
Processor:         i686
SMP Enabled:       Yes


!!ALSA Version
!!------------

Driver version:     1.0.24
Library version:    1.0.24.1
Utilities version:  1.0.24.2


!!Loaded ALSA modules
!!-------------------

snd_hda_intel


!!Sound Servers on this system
!!----------------------------

Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes

ESound Daemon:
      Installed - Yes (/usr/bin/esd)
      Running - No


!!Soundcards recognised by ALSA
!!-----------------------------

 0 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xfae78000 irq 20


!!PCI Soundcards installed in the system
!!--------------------------------------

00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)


!!Advanced information - PCI Vendor/Device/Subsystem ID's
!!--------------------------------------------------------

00:08.0 0403: 10de:0ac0 (rev b1)
        Subsystem: 10de:cb84


!!Modprobe options (Sound related)
!!--------------------------------

snd-atiixp-modem: index=-2
snd-intel8x0m: index=-2
snd-via82xx-modem: index=-2
snd-usb-audio: index=-2
snd-usb-caiaq: index=-2
snd-usb-ua101: index=-2
snd-usb-us122l: index=-2
snd-usb-usx2y: index=-2
snd-cmipci: mpu_port=0x330 fm_port=0x388
snd-pcsp: index=-2
snd-usb-audio: index=-2


!!Loaded sound module options
!!--------------------------

!!Module: snd_hda_intel
        bdl_pos_adj : 32,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
        beep_mode : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
        enable : Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y
        enable_msi : -1
        id : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
        index : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
        model : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
        patch : (null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),(null)
        position_fix : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
        power_save : 0
        power_save_controller : Y
        probe_mask : -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
        probe_only : 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
        single_cmd : N


!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Wolfson Microelectronics ID 8800
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x1aec8800
Subsystem Id: 0x00000100
Revision Id: 0x100301
No Modem Function Group found
Default PCM:
    rates [0x0]:
    bits [0x0]:
    formats [0x0]:
Default Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
Default Amp-Out caps: ofs=0x7f, nsteps=0x7f, stepsize=0x01, mute=1
GPIO: io=2, o=0, i=0, unsolicited=1, wake=1
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=1, unsol=0
Node 0x02 [Audio Input] wcaps 0x1005d1: Stereo
  Device: name="HDA Generic", type="Audio", device=0
  Converter: stream=1, channel=0
  SDI-Select: 0
  PCM:
    rates [0x1ff]: 8000 11025 16000 22050 32000 44100 48000 88200 96000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=02, enabled=0
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
  Connection: 1
     0x0a
  Processing caps: benign=0, ncoeff=0
Node 0x03 [Audio Input] wcaps 0x1005d1: Stereo
  Converter: stream=0, channel=0
  SDI-Select: 0
  PCM:
    rates [0x7f]: 8000 11025 16000 22050 32000 44100 48000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=03, enabled=0
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
  Connection: 1
     0x09
  Processing caps: benign=0, ncoeff=0
Node 0x04 [Audio Output] wcaps 0x2d1: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=04, enabled=0
  Processing caps: benign=0, ncoeff=0
Node 0x05 [Audio Input] wcaps 0x1003d1: Stereo Digital
  Converter: stream=0, channel=0
  SDI-Select: 0
  Digital: Copyright
  Digital category: 0x0
  PCM:
    rates [0x1f0]: 32000 44100 48000 88200 96000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=05, enabled=0
  Connection: 1
     0x10
  Processing caps: benign=0, ncoeff=0
Node 0x06 [Audio Output] wcaps 0x495: Stereo Amp-Out
  Control: name="Master Playback Switch", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Control: name="Master Playback Volume", index=0, device=0
    ControlAmp: chs=3, dir=Out, idx=0, ofs=0
  Device: name="HDA Generic", type="Audio", device=0
  Amp-Out caps: N/A
  Amp-Out vals:  [0x57 0x57]
  Converter: stream=5, channel=0
  PCM:
    rates [0x7ff]: 8000 11025 16000 22050 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=06, enabled=0
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
Node 0x07 [Audio Output] wcaps 0x495: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0xff 0xff]
  Converter: stream=0, channel=0
  PCM:
    rates [0x7ff]: 8000 11025 16000 22050 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=07, enabled=0
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
Node 0x08 [Audio Output] wcaps 0x495: Stereo Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0xff 0xff]
  Converter: stream=0, channel=0
  PCM:
    rates [0x7ff]: 8000 11025 16000 22050 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=08, enabled=0
  Power states:  D0 D1 D2 D3
  Power: setting=D0, actual=D0
Node 0x09 [Audio Selector] wcaps 0x300101: Stereo
  Connection: 2
     0x0b* 0x0e
Node 0x0a [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x18, nsteps=0x30, stepsize=0x01, mute=1
  Amp-Out vals:  [0x18 0x18]
  Connection: 1
     0x0c
Node 0x0b [Audio Selector] wcaps 0x30010d: Stereo Amp-Out
  Amp-Out caps: ofs=0x18, nsteps=0x30, stepsize=0x01, mute=1
  Amp-Out vals:  [0x98 0x98]
  Connection: 1
     0x0d
Node 0x0c [Pin Complex] wcaps 0x400081: Stereo
  Pincap 0x00000064: IN Detect Balanced
  Pin Default 0x018130f0: [Jack] Line In at Ext Rear
    Conn = 1/8, Color = Blue
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x20: IN
  Unsolicited: tag=0c, enabled=0
Node 0x0d [Pin Complex] wcaps 0x400083: Stereo Amp-In
  Amp-In caps: N/A
  Amp-In vals:  [0x00 0x00]
  Pincap 0x00001767: IN Detect Balanced Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0x02a190f0: [Jack] Mic at Ext Front
    Conn = 1/8, Color = Pink
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x20: IN VREF_HIZ
  Unsolicited: tag=0d, enabled=0
Node 0x0e [Pin Complex] wcaps 0x40020b: Stereo Digital Amp-In
  Amp-In caps: ofs=0x18, nsteps=0x58, stepsize=0x01, mute=1
  Amp-In vals:  [0x18 0x18]
  Pincap 0x00000020: IN
  Pin Default 0x10a600f0: [Jack] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x20: IN
Node 0x0f [Pin Complex] wcaps 0x400381: Stereo Digital
  Pincap 0x00000014: OUT Detect
  Pin Default 0x014190f0: [Jack] SPDIF Out at Ext Rear
    Conn = 1/8, Color = Pink
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=0f, enabled=0
  Connection: 1
     0x04
Node 0x10 [Pin Complex] wcaps 0x400281: Stereo Digital
  Pincap 0x00000020: IN
  Pin Default 0x01c520f0: [Jack] SPDIF In at Ext Rear
    Conn = Optical, Color = Grey
    DefAssociation = 0xf, Sequence = 0x0
  Pin-ctls: 0x20: IN
  Unsolicited: tag=10, enabled=0
Node 0x11 [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x0000001c: OUT HP Detect
  Pin Default 0x01014020: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Green
    DefAssociation = 0x2, Sequence = 0x0
  Pin-ctls: 0xc0: OUT HP
  Unsolicited: tag=11, enabled=0
  Connection: 1
     0x06
Node 0x12 [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000014: OUT Detect
  Pin Default 0x01016121: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Orange
    DefAssociation = 0x2, Sequence = 0x1
    Misc = NO_PRESENCE
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=12, enabled=0
  Connection: 1
     0x07
Node 0x13 [Pin Complex] wcaps 0x400181: Stereo
  Pincap 0x00000014: OUT Detect
  Pin Default 0x01011022: [Jack] Line Out at Ext Rear
    Conn = 1/8, Color = Black
    DefAssociation = 0x2, Sequence = 0x2
  Pin-ctls: 0x40: OUT
  Unsolicited: tag=13, enabled=0
  Connection: 1
     0x08
Node 0x14 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x04, nsteps=0x04, stepsize=0x17, mute=0
  Amp-Out vals:  [0x04]
Node 0x15 [Audio Input] wcaps 0x1003d1: Stereo Digital
  Converter: stream=0, channel=2
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7f]: 8000 11025 16000 22050 32000 44100 48000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=15, enabled=0
  Connection: 1
     0x16
  Processing caps: benign=0, ncoeff=0
Node 0x16 [Pin Complex] wcaps 0x40030b: Stereo Digital Amp-In
  Amp-In caps: ofs=0x18, nsteps=0x58, stepsize=0x01, mute=1
  Amp-In vals:  [0x18 0x18]
  Pincap 0x00000030: IN OUT
  Pin Default 0x10a601f0: [Jack] Mic at Int N/A
    Conn = Digital, Color = Unknown
    DefAssociation = 0xf, Sequence = 0x0
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
  Connection: 1
     0x17
Node 0x17 [Audio Output] wcaps 0x291: Stereo Digital
  Converter: stream=0, channel=0
  Digital:
  Digital category: 0x0
  PCM:
    rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
    bits [0x1e]: 16 20 24 32
    formats [0x3]: PCM FLOAT
  Unsolicited: tag=17, enabled=0
--endcollapse--


!!Aplay/Arecord output
!!------------

APLAY

**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: HDA Generic [HDA Generic]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

ARECORD

**** List of CAPTURE Hardware Devices ****
card 0: NVidia [HDA NVidia], device 0: HDA Generic [HDA Generic]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [NVidia]

Card hw:0 'NVidia'/'HDA NVidia at 0xfae78000 irq 20'
  Mixer name    : 'Wolfson Microelectronics ID 8800'
  Components    : 'HDA:1aec8800,00000100,00100301'
  Controls      : 3
  Simple ctrls  : 2
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 127
  Mono:
  Front Left: Playback 87 [69%] [-20.00dB] [on]
  Front Right: Playback 87 [69%] [-20.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]


!!Alsactl output
!!-------------

--startcollapse--
state.NVidia {
        control.1 {
                iface MIXER
                name 'Master Playback Switch'
                value.0 true
                value.1 true
                comment {
                        access 'read write'
                        type BOOLEAN
                        count 2
                }
        }
        control.2 {
                iface MIXER
                name 'Master Playback Volume'
                value.0 87
                value.1 87
                comment {
                        access 'read write'
                        type INTEGER
                        count 2
                        range '0 - 127'
                        dbmin -6350
                        dbmax 0
                        dbvalue.0 -2000
                        dbvalue.1 -2000
                }
        }
        control.3 {
                iface MIXER
                name 'PCM Playback Volume'
                value.0 255
                value.1 255
                comment {
                        access 'read write user'
                        type INTEGER
                        count 2
                        range '0 - 255'
                        tlv '0000000100000008ffffec1400000014'
                        dbmin -5100
                        dbmax 0
                        dbvalue.0 0
                        dbvalue.1 0
                }
        }
}
--endcollapse--


!!ALSA Device nodes
!!-----------------

crw-rw----+ 1 root audio 116,  5 Feb 21 09:38 /dev/snd/controlC0
crw-rw----+ 1 root audio 116,  4 Feb 21 09:38 /dev/snd/hwC0D0
crw-rw----+ 1 root audio 116,  3 Feb 21 09:38 /dev/snd/pcmC0D0c
crw-rw----+ 1 root audio 116,  2 Feb 21 09:39 /dev/snd/pcmC0D0p
crw-rw----+ 1 root audio 116,  1 Feb 21 09:37 /dev/snd/seq
crw-rw----+ 1 root audio 116, 33 Feb 21 09:37 /dev/snd/timer

/dev/snd/by-path:
total 0
drwxr-xr-x 2 root root  60 Feb 21 09:38 .
drwxr-xr-x 3 root root 180 Feb 21 09:38 ..
lrwxrwxrwx 1 root root  12 Feb 21 09:38 pci-0000:00:08.0 -> ../controlC0


Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o CONFIDENCIAL. Si no es vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

This message is intended exclusively for its addressee and may contain information that is CONFIDENTIAL and protected by professional privilege.
If you are not the intended recipient you are hereby notified that any dissemination, copy or disclosure of this communication is strictly prohibited by law. If this message has been received in error, please immediately notify us via e-mail and delete it.


More information about the Alsa-devel mailing list