Modem for OMAP
From OMAPpedia
Contents |
[edit] Modems for OMAP
[edit] Goal
The goal of this project is to enable Modem connectivity to OMAP platforms (Zoom2, Zoom3 and Blaze).
Several modem vendor are supported with main focus on Android HLOS.
[edit] OMAP3
The modem supported today with open source code are:
- X-GOLD family from Infineon
Several others modem are supported in close source.
[edit] X-GOLD family on Android
With Zoom2/3, the XMM6080/6180 are connected via OMAP3430/3630 McSPI2(for command/data exchange) and TWL5030 audio codec PCM port for voice. The PCM/McSPI2 ports are visible via the 200 pins extension connector of the Zoom2/3.
[edit] Software Overview
Below an high level view of the software added in Android to support Xgold family:
- XGOLD RIL lib
XGOLD Radio Interface Layer static library is linked to the Android RIL daemon. This library contains the Xgold specific Radio Layer interface that communicate to the Modem using AT command to do normal mode operations like starting voice call, connecting in 3G data...
- XGOLD Audio lib
XGOLD Audio lib is linked to ALSA Audio Hardware abstraction layer (c.f. http://www.kandroid.org/android_pdk/audio_sub_system.html for more details) used by audio flinger. The library communicates to the modem via AT command to enable/disable audio path and to change acoustics depending of the audio modes used : headset, handset, bluetooth SCO...
- code:
- XGOLD audio lib: http://dev.omapzoom.org/?p=modem-int/xgold-audio.git;a=summary
- AUDIO HAL driver modified for modem voice call : http://dev.omapzoom.org/?p=modem-int/omap3.git;a=summary path /modules/alsa
- Generic Android Audio HAL ALSA library (change for incall volume) : http://dev.omapzoom.org/?p=modem-int/alsa_sound.git;a=summary
- Android Audio flinger: http://android.git.kernel.org/?p=platform/frameworks/base.git;a=summary /base/media/libmedia.
- code:
- Mux
Mux layer used today is an user space daemon used to mux command/data channel exchange between the Modem and the OMAP. This mux is based on the 3GPP standard mux : http://www.3gpp.org/FTP/Specs/html-info/27010.htm
- code: http://dev.omapzoom.org/?p=modem-int/omap3.git;a=summary path gsm0710muxd.
- XGOLD SPI driver
[TBD]
N.B. on the git project above there are 3 heads : xmm-3630 for Zoom3 Eclair code, xmm-e for Zoom2 Eclair code and xmm for Donut Zoom2 code.
[edit] Features Supported
- Data browsing
- Voice call in Handset/Handfree/Headset/Bluetooth mode.
- Bluetooth tethering via PAN profile in 'manual mode'. Refer: http://omappedia.org/wiki/WiLink_Connectivity_Project#BT_PAN_profile
[edit] Obtain the source code
The code can be downloaded on http://dev.omapzoom.org/.
Initialize the project to use the latest manifest for Android Donut (today based on RLS25.14):
$ cd $MYDROID $ repo init -u git://dev.omapzoom.org/pub/scm/modem-int/manifest.git -b xmm $ repo sync
Initialize the project to use the latest manifest for Android Éclair OMAP3430(today based on RLS25E.15):
$ cd $MYDROID $ repo init -u git://dev.omapzoom.org/pub/scm/modem-int/manifest.git -b xmm-e $ repo sync
Initialize the project to use the latest manifest for Android Éclair OMAP3630(today based on RLS25INC2.2):
$ cd $MYDROID $ repo init -u git://dev.omapzoom.org/pub/scm/modem-int/manifest.git -b xmm-3630 $ repo sync
[edit] Building Android
The compilation is the same as the one described here : http://omappedia.org/wiki/Android_Getting_Started#Building_Android
Note: some Infineon modem are only data pump so to avoid any crash with audio voice call add ifxaudio=1 if the modem support audio.
[edit] Next step
Voice Memo
[edit] OMAP4
[TBD]


