N900 Hardware Audio Codec

(New page: The Audio codec codecs audio. =Hardware= The audio codec is a low-power 4 channel codec [http://focus.ti.com/docs/prod/folders/print/tlv320aic34.html From TI]. =Software=)
(Hardware)
 
(5 intermediate revisions not shown)
Line 1: Line 1:
-
The Audio codec codecs audio.
+
The Audio codec encodes and decodes audio.
-
=Hardware=
+
 
-
The audio codec is a low-power 4 channel codec [http://focus.ti.com/docs/prod/folders/print/tlv320aic34.html From TI].
+
==Hardware==
-
=Software=
+
 
 +
The audio codec is a low-power 4 channel codec IC [http://focus.ti.com/docs/prod/folders/print/tlv320aic34.html TLV320AIC34].
 +
 
 +
It is connected to the CPU using [[N900 Hardware Bus I2C|I2C]] and the MCBSP serial digital audio interface.
 +
===Unutilised Functions===
 +
The audio codec supports a flexible digital filter on both the input and output.
 +
This can be used to perform equalization with no CPU load.
 +
 
 +
This function is not used, and pulseaudio is used for this task when speakers are enabled.
 +
 
 +
It can also route the audio directly from the FM receiver to the speakers or the headphones, optionally through this hardware EQ module, also reducing power in this usecase, by entirely eliminating CPU usage.
 +
 
 +
==Software==
 +
===User===
 +
The audio codec is driven by pulseaudio, through ALSA.
 +
The ALSA interface is usually not exposed in maemo 5 - adding:
 +
<pre>
 +
pcm.real {
 +
type hw
 +
card 0
 +
}
 +
 
 +
ctl.real {
 +
type hw         
 +
card 0
 +
}
 +
</pre>
 +
to /etc/asound.conf enables a hardware device.
 +
Stopping pulseaudio may be required to use this.
 +
 
 +
 
 +
===Kernel===
 +
 
 +
The codec is driven by [http://mxr.maemo.org/fremantle/source/kernel/sound/soc/omap/rx51.c a driver built into the kernel].
 +
 
 +
[[Category:N900 Hardware]]

Latest revision as of 22:12, 5 January 2014

The Audio codec encodes and decodes audio.

Contents

[edit] Hardware

The audio codec is a low-power 4 channel codec IC TLV320AIC34.

It is connected to the CPU using I2C and the MCBSP serial digital audio interface.

[edit] Unutilised Functions

The audio codec supports a flexible digital filter on both the input and output. This can be used to perform equalization with no CPU load.

This function is not used, and pulseaudio is used for this task when speakers are enabled.

It can also route the audio directly from the FM receiver to the speakers or the headphones, optionally through this hardware EQ module, also reducing power in this usecase, by entirely eliminating CPU usage.

[edit] Software

[edit] User

The audio codec is driven by pulseaudio, through ALSA. The ALSA interface is usually not exposed in maemo 5 - adding:

pcm.real {
	type hw
	card 0
}

ctl.real {
	type hw           
	card 0
}

to /etc/asound.conf enables a hardware device. Stopping pulseaudio may be required to use this.


[edit] Kernel

The codec is driven by a driver built into the kernel.