201 lines
5.9 KiB
C
201 lines
5.9 KiB
C
/*------------------------------------------------------------
|
|
(C) Copyright [2006-2008] Marvell International Ltd.
|
|
All Rights Reserved
|
|
------------------------------------------------------------*/
|
|
|
|
/*--------------------------------------------------------------------------------------------------------------------
|
|
INTEL CONFIDENTIAL
|
|
Copyright 2006 Intel Corporation All Rights Reserved.
|
|
The source code contained or described herein and all documents related to the source code ("Material") are owned
|
|
by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or
|
|
its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of
|
|
Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and
|
|
treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted,
|
|
transmitted, distributed, or disclosed in any way without Intel's prior express written permission.
|
|
|
|
No license under any patent, copyright, trade secret or other intellectual property right is granted to or
|
|
conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement,
|
|
estoppel or otherwise. Any license under such intellectual property rights must be express and approved by
|
|
Intel in writing.
|
|
-------------------------------------------------------------------------------------------------------------------*/
|
|
|
|
#include "diags.h"
|
|
#include "platform.h"
|
|
#include "audio_config.h"
|
|
|
|
|
|
/****************************************************************************
|
|
Global function for FOTA upgrade.
|
|
0: system in NOT in FOTA upgrade, should do audio processing
|
|
1: system is in FOTA upgrade, should bypass audio processing
|
|
***************************************************************************/
|
|
extern BOOL IsMiniSystem(void);
|
|
|
|
|
|
extern void audioPhase1Init_internal(void);
|
|
extern void audioPhase2Init_internal(void);
|
|
extern void audioServerPhase2Init_internal(void);
|
|
extern void audioGsmResumeCB_internal(void);
|
|
extern void audioGsmSuspendCB_internal(void);
|
|
extern void amrSuspend_internal(void);
|
|
extern void amrResume_internal(void);
|
|
extern void LteVoiceSuspend_internal(void);
|
|
extern void LteVoiceResume_internal(void);
|
|
extern BOOL CraneCodecADCOnOff_internal(BOOL OnOff);
|
|
|
|
|
|
static void audioGsmCB_NULL(void)
|
|
{
|
|
DIAG_FILTER(AUDIO, Voice, audioGsmCB_NULL, DIAG_ERROR)
|
|
diagTextPrintf("audioGsmCB_NULL");
|
|
}
|
|
|
|
|
|
static void Audio_Init_FakeBind(void)
|
|
{
|
|
|
|
|
|
#if !defined (INTEL_2CHIP_PLAT_BVD)
|
|
#if !NO_APLP
|
|
#if defined (_AUDIO_HANDOVER_)
|
|
#if defined (INTEL_UPGRADE_DUAL_RAT )
|
|
extern void audioBindGsmResume(void(*)());
|
|
extern void audioBindGsmSuspend(void(*)());
|
|
extern void audioBindGsmStartTest(void(*)());
|
|
extern void audioBindGsmStopTest(void(*)());
|
|
audioBindGsmResume(audioGsmCB_NULL);
|
|
audioBindGsmSuspend(audioGsmCB_NULL);
|
|
audioBindGsmStartTest(audioGsmCB_NULL);
|
|
audioBindGsmStopTest(audioGsmCB_NULL);
|
|
#endif /*INTEL_UPGRADE_DUAL_RAT */
|
|
#endif /*_AUDIO_HANDOVER_*/
|
|
#endif
|
|
#endif
|
|
}
|
|
|
|
|
|
void audioServerPhase2Init(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
audioServerPhase2Init_internal();
|
|
}
|
|
}
|
|
|
|
|
|
/****************************************************************************
|
|
* Function: audioPhase1Init
|
|
* Description:
|
|
* Parameters: none
|
|
* Return Value: none .
|
|
***************************************************************************/
|
|
//ICAT EXPORTED FUNCTION - Audio,Common,audioPhase1Init
|
|
void audioPhase1Init(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
audioPhase1Init_internal();
|
|
}
|
|
else
|
|
{
|
|
Audio_Init_FakeBind();
|
|
}
|
|
}
|
|
|
|
|
|
#if !NO_APLP
|
|
/****************************************************************************
|
|
* Function: audioPhase2Init
|
|
* Description:
|
|
* Parameters: none
|
|
* Return Value: none .
|
|
***************************************************************************/
|
|
//ICAT EXPORTED FUNCTION - Audio,Common,audioPhase2Init
|
|
void audioPhase2Init(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
audioPhase2Init_internal();
|
|
}
|
|
}
|
|
#endif // !NO_APLP
|
|
|
|
|
|
/****************************************************************************
|
|
* Function: amrResume
|
|
* Description: AudioCtrl API - called to resume AMR activity when it is suspended.
|
|
* Call: Protocol Stack
|
|
* Parameters: none
|
|
* Return Value: none .
|
|
***************************************************************************/
|
|
//ICAT EXPORTED FUNCTION - Audio,Voice,amrResume
|
|
void amrResume(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
amrResume_internal();
|
|
}
|
|
}
|
|
|
|
/****************************************************************************
|
|
* Function: amrSuspend
|
|
* Description: AudioCtrl API - called to temporary suspend AMR activity
|
|
* during hard handover.
|
|
* Call: Protocol Stack
|
|
* Parameters: none
|
|
* Return Value: none .
|
|
***************************************************************************/
|
|
//ICAT EXPORTED FUNCTION - Audio,Voice,amrSuspend
|
|
void amrSuspend(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
amrSuspend_internal();
|
|
}
|
|
}
|
|
|
|
void audioGsmSuspendCB(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
audioGsmSuspendCB_internal();
|
|
}
|
|
}
|
|
|
|
void audioGsmResumeCB(void)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
audioGsmResumeCB_internal();
|
|
}
|
|
}
|
|
|
|
void LteVoiceSuspend()//LTE handover/reselect to GSM/UMTS
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
LteVoiceSuspend_internal();
|
|
}
|
|
}
|
|
|
|
//ICAT EXPORTED FUNCTION - ADEMO, Voice, LteVoiceResume
|
|
void LteVoiceResume()//LTE handover/reselect to GSM/UMTS fails || GSM/UMTS handover to LTE
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
LteVoiceResume_internal();
|
|
}
|
|
}
|
|
|
|
BOOL CraneCodecADCOnOff(BOOL OnOff)
|
|
{
|
|
if(!IsMiniSystem())
|
|
{
|
|
return CraneCodecADCOnOff_internal(OnOff);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
|