View source for Neo 1973 audio subsystem
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Neo 1973 audio subsystem.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Neo 1973 audio subsystem.
In my experience this works but what comes out is not stereo and it comes out the speaker and headphones. The wolfson driver has to be loaded late at boot time so it works to name it in /etc/modutils/zound :)
wget http://opensource.wolfsonmicro.com/~gg/neo1973/stereoout.state wget http://www-public.tu-bs.de:8080/~y0019680/tmp/thereisnophone.mp3 alsactl -f stereoout.state restore madplay thereisnophone.mp3
neo uses http://wolfson.co.uk/products/WM8753/ , picture of its internal signal routing is at http://wolfson.co.uk/uploads/images/en//WM8753_BlockDiagram.gif .
This is the default case.
Neo Mode is GSM Handset Amp Mode is Call Speaker
This should be supported by ASoC 0.13rc3 (-moko7 kernel) on.
ASoC 0.13.3 should have same functionality but has renamed the soundcard to neo1973.
https://people.openmoko.org/laforge/gta01/gta01b_v2/alsa/gsmhandset.state
For ASoC 0.13.3 http://opensource.wolfsonmicro.com/~gg/neo1973/gsmhandset.state
This is also a quite common case, since we ship the headset with the phone
Headset Detection is done via GPIO on S3C2410
Neo Mode is GSM Headset Amp Mode is Headphones
Supported in ASoC 0.13.3
http://opensource.wolfsonmicro.com/~gg/neo1973/gsmheadset.state
Headset detection via software
Neo Mode is GSM Bluetooth Amp Mode is Off
Should be support by ASoC 0.13.3
Example of how to setup PCM->BT link.
http://opensource.wolfsonmicro.com/~gg/bluetooth-pcm/bluetooth_pcm.c
http://opensource.wolfsonmicro.com/~gg/neo1973/gsmbluetooth.state
For example, using a voip app on the phone with a bt voice headset. This would also be a good way to work on the bluetooth driver without requiring a working GSM and placing a lot of calls.
See ticket 583 for a state file that should route system audio *out* to the headset. The codec does not allow for duplex system audio connected to a headset, so audio in is still using the mic.
This is an important mode since it is also required for ringtone playback
This is working since ASoC 0.13rc2 (-moko6 kernel)
This should also work on ASoC 0.13.3
https://people.openmoko.org/laforge/gta01/gta01b_v2/alsa/stereoout.state
For ASoC 0.13.3 http://opensource.wolfsonmicro.com/~gg/neo1973/stereoout.state
This is working since ASoC 0.13rc2 (-moko6 kernel)
The current proposal is for bluez to provide a libalsa plugin which either sends audio to the real audio device or encodes and transmits it over bluetooth. The plugin would watch for headset connect/disconnect events generated by a bluez audio daemon.
UNKNOWN
This is mainly used to record notes
UNKNOWN
This is a nice wishlist item. The user should be able to receive the full-duplex audio from the wolfson codec, and record it using the S3C2410 IIS.
FIXME
UNKNOWN
FIXME
UNKNOWN
The userspace sound control deamon might be a separate process or (more likely) part of some larger general hardware management daemon.
It will provide the following features:
In order to provide the desired functionality, the daemon first needs to be capable of doing audio playback.
If the user is listening to music on the headset, do we want to mix the ring tones only into the headset audio, or actually interrupt and play it on the speaker?
There doesn't seem to be a capturebluetooth.state file so one could listen to system audio, for example internet radio, on a bluetooth headset.
The bluetooth_pcm.c example above for using a bluetooth headset does not seem to change the codec mode.