Neo 1973 audio subsystem

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Multimedia)
m (restructuring the page, add driver status)
Line 1: Line 1:
== Voice Calls ==
+
=== Voice Calls ===
  
=== using phone-internal microphone and speaker ===
+
==== using phone-internal microphone and speaker ====
  
This is teh default case.
+
This is the default case.
  
 
* microphone path
 
* microphone path
Line 15: Line 15:
 
** routed on LM4856 to EP+/EP-
 
** routed on LM4856 to EP+/EP-
  
=== using analog (4pin 2.5mm) headset ===
+
===== Driver Status =====
 +
 
 +
This should be supported by ASoC 0.13rc2 (-moko6 kernel) on.
 +
 
 +
==== using analog (4pin 2.5mm) headset ====
  
 
This is also a quite common case, since we ship the headset with the
 
This is also a quite common case, since we ship the headset with the
Line 32: Line 36:
 
** routed on LM4856 to LHP/RHP
 
** routed on LM4856 to LHP/RHP
  
=== using bluetooth headset ===
+
===== Driver Status =====
 +
 
 +
UNKNOWN
 +
 
 +
==== using Bluetooth headset ====
  
 
Headset detection via software
 
Headset detection via software
Line 47: Line 55:
 
** arrives on bluetooth chip via PCM
 
** arrives on bluetooth chip via PCM
  
== Multimedia ==
+
===== Driver Status =====
  
=== sound playback to speakers ===
+
UNKNOWN
 +
 
 +
=== Multimedia ===
 +
 
 +
==== sound playback to speakers ====
  
 
This is an important mode since it is also required for ringtone
 
This is an important mode since it is also required for ringtone
Line 61: Line 73:
 
** LM4857: route to LLS+-/RLS+-
 
** LM4857: route to LLS+-/RLS+-
  
=== sound playback to headphone ===
+
===== Driver Status =====
 +
 
 +
This is working since ASoC 0.13rc2 (-moko6 kernel)
 +
 
 +
==== sound playback to headphone ====
  
 
* speaker path
 
* speaker path
Line 70: Line 86:
 
** routed on LM4856 to LHP/RHP
 
** routed on LM4856 to LHP/RHP
  
=== sound playback via A2DP ===
+
===== Driver Status =====
 +
 
 +
This is working since ASoC 0.13rc2 (-moko6 kernel)
 +
 
 +
==== sound playback via A2DP =====
  
 
FIXME
 
FIXME
  
=== voice recording ===  
+
===== Driver Status =====
 +
 
 +
UNKNOWN
 +
 
 +
==== voice recording ====  
  
 
This is mainly used to record notes
 
This is mainly used to record notes
Line 83: Line 107:
 
** or bluetooth headset
 
** or bluetooth headset
  
== Call recording ==
+
===== Driver Status =====
 +
 
 +
UNKNOWN
 +
=== Call recording ===
  
 
This is a nice wishlist item.  The user should be able to receive the
 
This is a nice wishlist item.  The user should be able to receive the
Line 89: Line 116:
 
S3C2410 IIS.   
 
S3C2410 IIS.   
  
=== recording ===
+
==== recording ====
  
 
FIXME
 
FIXME
 +
===== Driver Status =====
 +
 +
UNKNOWN
 +
==== playback ====
 +
 +
FIXME
 +
===== Driver Status =====
 +
 +
UNKNOWN
  
=== playback ===
+
== Userspace Sound Control Daemon
  
 
FIXME
 
FIXME
Line 99: Line 135:
 
== Important issues/pitfalls ==
 
== Important issues/pitfalls ==
  
=== Ringtone while hedset playbac ===
+
=== Ringtone while headset playback ===
  
 
If the user is listening to music on the headset, do we want to mix the
 
If the user is listening to music on the headset, do we want to mix the
ringtones only into the headset audio, or actually interrupt and play it
+
ring tones only into the headset audio, or actually interrupt and play it
 
on the speaker?
 
on the speaker?

Revision as of 09:34, 2 February 2007

Contents

Voice Calls

using phone-internal microphone and speaker

This is the default case.

  • microphone path
    • input: built in microphone attached to wolfson MIC2/MIC2N
    • routed from wolfson MIC2/MIC2N to MONO1/MONO2
    • arrives at GSM Modem input MICIP/MICIN
  • speaker path
    • input: GSM Modem attached to wolfson RXN/RXP
    • routed from wolfson RXN/RXP to ROUT1/LOUT1
    • arrives on LM4857 RIN/LIN
    • routed on LM4856 to EP+/EP-
Driver Status

This should be supported by ASoC 0.13rc2 (-moko6 kernel) on.

using analog (4pin 2.5mm) headset

This is also a quite common case, since we ship the headset with the phone

Headset Detection is done via GPIO on S3C2410

  • microphone path
    • input: headset mic vial HS_MIC attached to wolfson MIC1
    • routed from wolfson MIC1 to MONO1/MONO2
    • arrives at GSM Modem input MICIP/MICIN
  • speaker path
    • input: GSM Modem attached to wolfson RXN/RXP
    • routed from wolfson RXN/RXP to ROUT1/LOUT1
    • arrives on LM4857 RIN/LIN
    • routed on LM4856 to LHP/RHP
Driver Status

UNKNOWN

using Bluetooth headset

Headset detection via software

  • microphone path
    • input: from bluetooth via PCM interface to wolfson
    • wolfson: DAC
    • wolfson routes analog signal to MONO1/MONO2
    • arrives at GSM Modem input MICIP/MICIN
  • speaker path
    • input: GSM Modem attached to wolfson RXN/RXP
    • wolfson: ADC
    • wolfson: routes digital signal to PCM
    • arrives on bluetooth chip via PCM
Driver Status

UNKNOWN

Multimedia

sound playback to speakers

This is an important mode since it is also required for ringtone playback

  • speaker path
    • input: from S3C2410 via IIS interface to wolfson
    • wolfson: DAC
    • wolfson: route to ROUT1/LOUT1
    • LM4857: arrives on RIN/LIN
    • LM4857: route to LLS+-/RLS+-
Driver Status

This is working since ASoC 0.13rc2 (-moko6 kernel)

sound playback to headphone

  • speaker path
    • input: from S3C2410 via IIS interface to wolfson
    • wolfson: DAC
    • wolfson: route to ROUT1/LOUT1
    • LM4857: arrives on RIN/LIN
    • routed on LM4856 to LHP/RHP
Driver Status

This is working since ASoC 0.13rc2 (-moko6 kernel)

sound playback via A2DP =

FIXME

Driver Status

UNKNOWN

voice recording

This is mainly used to record notes

  • microphone path
    • can be from built-in mic
    • or from headset
    • or bluetooth headset
Driver Status

UNKNOWN

Call recording

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.

recording

FIXME

Driver Status

UNKNOWN

playback

FIXME

Driver Status

UNKNOWN

== Userspace Sound Control Daemon

FIXME

Important issues/pitfalls

Ringtone while headset 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?

Personal tools

Voice Calls

using phone-internal microphone and speaker

This is teh default case.

  • microphone path
    • input: built in microphone attached to wolfson MIC2/MIC2N
    • routed from wolfson MIC2/MIC2N to MONO1/MONO2
    • arrives at GSM Modem input MICIP/MICIN
  • speaker path
    • input: GSM Modem attached to wolfson RXN/RXP
    • routed from wolfson RXN/RXP to ROUT1/LOUT1
    • arrives on LM4857 RIN/LIN
    • routed on LM4856 to EP+/EP-

using analog (4pin 2.5mm) headset

This is also a quite common case, since we ship the headset with the phone

Headset Detection is done via GPIO on S3C2410

  • microphone path
    • input: headset mic vial HS_MIC attached to wolfson MIC1
    • routed from wolfson MIC1 to MONO1/MONO2
    • arrives at GSM Modem input MICIP/MICIN
  • speaker path
    • input: GSM Modem attached to wolfson RXN/RXP
    • routed from wolfson RXN/RXP to ROUT1/LOUT1
    • arrives on LM4857 RIN/LIN
    • routed on LM4856 to LHP/RHP

using bluetooth headset

Headset detection via software

  • microphone path
    • input: from bluetooth via PCM interface to wolfson
    • wolfson: DAC
    • wolfson routes analog signal to MONO1/MONO2
    • arrives at GSM Modem input MICIP/MICIN
  • speaker path
    • input: GSM Modem attached to wolfson RXN/RXP
    • wolfson: ADC
    • wolfson: routes digital signal to PCM
    • arrives on bluetooth chip via PCM

Multimedia

sound playback to speakers

This is an important mode since it is also required for ringtone playback

  • speaker path
    • input: from S3C2410 via IIS interface to wolfson
    • wolfson: DAC
    • wolfson: route to ROUT1/LOUT1
    • LM4857: arrives on RIN/LIN
    • LM4857: route to LLS+-/RLS+-

sound playback to headphone

  • speaker path
    • input: from S3C2410 via IIS interface to wolfson
    • wolfson: DAC
    • wolfson: route to ROUT1/LOUT1
    • LM4857: arrives on RIN/LIN
    • routed on LM4856 to LHP/RHP

sound playback via A2DP

FIXME

voice recording

This is mainly used to record notes

  • microphone path
    • can be from built-in mic
    • or from headset
    • or bluetooth headset

Call recording

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.

recording

FIXME

playback

FIXME

Important issues/pitfalls

Ringtone while hedset playbac

If the user is listening to music on the headset, do we want to mix the ringtones only into the headset audio, or actually interrupt and play it on the speaker?