Version 2 (modified by 5 years ago) ( diff ) | ,
---|
Ventana Audio
The Advanced Linux Sound Architecture (ALSA) system is the current audio driver subsystem in Linux. For details on detecting and configuring ALSA devices see linux/audio
The audio hardware available on Ventana boards:
- Freescale SGTL5000 with line level input and output (standard board configuration) or (custom board configuration) headphone level output (custom board configuration) - 45mW max into 16ohme@3.3V load, and mic input
- tda1997x (HDMI Audio in)
- imxhdmisoc (HDMI Audio out)
For information regarding Audio / Video breakout adapters for Ventana see:
Note that by default, Ventana family boards that have analog audio have a default strapping of line level audio (both input and output). However, there is an option to load Headphone level output/Mic level input on request. Please contact sales@… if you would like a special built with these loadings.
sgtl5000 (analog audio)
Note that by default, Ventana family boards that have analog audio have a default strapping of line level audio (both input and output).
However, there is an option to load Headphone level output and/or Mic level input on request. Please contact sales@… if you would like a special built with these loadings.
Line Level Audio Output
common amixer
settings for Analog audio output (make sure to look at /proc/asound/cards
to find the correct device number to use with the -c option below):
- Output (Line out)
# unmute output amixer -c 0 sset Lineout on # set output level to max amixer -c 0 sset PCM 100%
- Input (Line in)
# set capture mux amixer -c 0 sset "Capture Mux" LINE_IN amixer -c 0 sset "Line In Function" on # set capture gain amixer -c 0 sset "Capture" 8 # enable it amixer -c 0 sset "Capture" cap
Headphone Level Audio Output
If you've ordered a board with HP level audio the following specifications apply:
- sgtl5000 can drive 45mW max into a 16ohm load at 3.3V (53mA)
common amixer
settings for headphone level audio:
# Set zero cross detect gain amixer -c 0 sset Headphone Playback ZC 60% # unmute output amixer -c 0 sset Headphone on # set output level to max amixer -c 0 sset PCM 100%
In addition, you will also have to make a change to your device tree file in the kernel. Below is a sample patch of what you will have to do (filename depends on product you've ordered)
-
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi
diff --git a/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi b/arch/arm/boot/dts/imx6qdl-gw52xx.dtsi index ed71beb..1c0b229 100644
a b 109 109 audio-codec = <&codec>; 110 110 audio-routing = 111 111 "LINE_IN", "Line In Jack", 112 " Line Out Jack", "LINE_OUT";112 "Headphone Jack", "HP_OUT"; 113 113 mux-int-port = <1>; 114 114 mux-ext-port = <4>; 115 115 };
The defaults for the analog audio (which are found by running 'amixer' with no args) are:
- Output Level (PCM) (0 - 192)
- Front Left: Playback 192 [100%]
- Front Right: Playback 192 [100%]
- disabled
- Capture Mux (MIC_IN or LINE_IN)
- MIC_IN
- Capture Gain (0-15):
- Front Left: Capture 5 [33%]
- Front Right: Capture 6 [40%]
- disabled
HDMI (digital audio)
The imxhdmisoc audio (output only) device can be used to send digital audio to a connected (and unblanked) HDMI monitor that has speakers.
The tda1997xaudio audio (input only) device (on GW5400 models) can be used to capture digital audio from a connected (and unblanked) HDMI source that streams audio. Note that HDMI audio supports multiple sample-rates and the sample-rate available to capture depends on the incoming source stream. The source stream's audio sample rate can be found via sysfs /sys/bus/i2c/drivers/tda1997x/2-0048/audmode
ALSA utility (alsa-utils package) examples (arecord/aplay)
The alsa-utils package contains the arecord, aplay, amixer applications
aplay:
- playback pre-recorded sound to analog audio device (GW54xx/GW53xx/GW52xx)
aplay -D sysdefault:CARD=sgtl5000audio /usr/share/sounds/alsa/Front_Center.wav
- playback pre-recorded sound to HDMI audio output device
aplay -D sysdefault:CARD=imxhdmisoc /usr/share/sounds/alsa/Front_Center.wav
arecord:
- record 10 seconds of CD quality audio (16bit, 44.1KHz, stereo) from analog audio device to /tmp/foo.wav
arecord -D sysdefault:CARD=sgtl5000audio -f cd -d 10 -t wav /tmp/foo.wav
- make sure you have specified the capture gain and input device (see above)
Codecs
For Codec support (Encoder / Decoder) details please see:
Gstreamer examples
For GStreamer information and examples please see: