diff options
Diffstat (limited to 'sound/ab8500_codec.c')
-rw-r--r-- | sound/ab8500_codec.c | 6697 |
1 files changed, 0 insertions, 6697 deletions
diff --git a/sound/ab8500_codec.c b/sound/ab8500_codec.c deleted file mode 100644 index fd4975bbdce..00000000000 --- a/sound/ab8500_codec.c +++ /dev/null @@ -1,6697 +0,0 @@ -/* - * Copyright (C) ST-Ericsson SA 2010 - * - * Author: ST-Ericsson - * - * License terms: - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - */ - - /*---------------------------------------------------------------------------- - * Includes - *---------------------------------------------------------------------------*/ -#include <mach/ab8500_codec.h> -#include <mach/ab8500_codec_p.h> - -/*--------------------------------------------------------------------------* - * debug stuff * - *--------------------------------------------------------------------------*/ -#ifdef __DEBUG -#define MY_DEBUG_LEVEL_VAR_NAME myDebugLevel_AB8500_CODEC -#define MY_DEBUG_ID myDebugID_AB8500_CODEC -PRIVATE t_dbg_level MY_DEBUG_LEVEL_VAR_NAME = DEBUG_LEVEL0; -PRIVATE t_dbg_id MY_DEBUG_ID = AB8500_CODEC_HCL_DBG_ID; -#endif - -/*--------------------------------------------------------------------------* - * Global data for interrupt mode management * - *--------------------------------------------------------------------------*/ -PRIVATE t_ab8500_codec_system_context g_ab8500_codec_system_context; - -/*--------------------------------------------------------------------------* - * Default Values * - *--------------------------------------------------------------------------*/ -#define AB8500_CODEC_DEFAULT_SLAVE_ADDRESS_OF_CODEC 0xD -#define AB8500_CODEC_DEFAULT_DIRECTION AB8500_CODEC_DIRECTION_OUT - -#define AB8500_CODEC_DEFAULT_MODE_IN AB8500_CODEC_MODE_VOICE -#define AB8500_CODEC_DEFAULT_MODE_OUT AB8500_CODEC_MODE_VOICE - -#define AB8500_CODEC_DEFAULT_INPUT_SRC AB8500_CODEC_SRC_MICROPHONE_1A -#define AB8500_CODEC_DEFAULT_OUTPUT_DEST AB8500_CODEC_DEST_HEADSET - -#define AB8500_CODEC_DEFAULT_VOLUME_LEFT_IN 75 -#define AB8500_CODEC_DEFAULT_VOLUME_RIGHT_IN 75 -#define AB8500_CODEC_DEFAULT_VOLUME_LEFT_OUT 75 -#define AB8500_CODEC_DEFAULT_VOLUME_RIGHT_OUT 75 - -/*--------------------------------------------------------------------- - * PRIVATE APIs - *--------------------------------------------------------------------*/ -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch1(IN - t_ab8500_codec_slot - ad_slot, - IN - t_ab8500_codec_cr31_to_cr46_ad_data_allocation - value); -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch2(IN - t_ab8500_codec_slot - ad_slot, - IN - t_ab8500_codec_cr31_to_cr46_ad_data_allocation - value); -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch3(IN - t_ab8500_codec_slot - ad_slot, - IN - t_ab8500_codec_cr31_to_cr46_ad_data_allocation - value); -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch4(IN - t_ab8500_codec_slot - ad_slot, - IN - t_ab8500_codec_cr31_to_cr46_ad_data_allocation - value); -PRIVATE t_ab8500_codec_error ab8500_codec_SrcPowerControlSwitch1(IN - t_ab8500_codec_src - src_device, - t_ab8500_codec_src_state - state); -PRIVATE t_ab8500_codec_error ab8500_codec_SrcPowerControlSwitch2(IN - t_ab8500_codec_src - src_device, - t_ab8500_codec_src_state - state); -PRIVATE t_ab8500_codec_error ab8500_codec_SetModeAndDirectionUpdateCR(void); -PRIVATE t_ab8500_codec_error ab8500_codec_SetSrcVolumeUpdateCR(void); -PRIVATE t_ab8500_codec_error ab8500_codec_SetDestVolumeUpdateCR(void); -PRIVATE t_ab8500_codec_error ab8500_codec_ProgramDirectionIN(void); -PRIVATE t_ab8500_codec_error ab8500_codec_ProgramDirectionOUT(void); -PRIVATE t_ab8500_codec_error ab8500_codec_DestPowerControlUpdateCR(void); - -/********************************************************************************************/ -/* Name: ab8500_codec_SingleWrite */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_SingleWrite(t_uint8 register_offset, - t_uint8 data) -{ - return (t_ab8500_codec_error) (AB8500_CODEC_Write - (register_offset, 0x01, &data)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_SingleRead */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_SingleRead(t_uint8 register_offset, - t_uint8 data) -{ - t_uint8 dummy_data = 0xAA; - - return (t_ab8500_codec_error) (AB8500_CODEC_Read - (register_offset, 0x01, &dummy_data, - &data)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR0 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR0(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr0_powerup, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR0_POWERUP); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr0_enaana, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR0_ENAANA); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR0, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR1 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR1(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr1_swreset, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR1_SWRESET); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR1, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR2 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR2(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr2_enad1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR2_ENAD1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr2_enad2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR2_ENAD2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr2_enad3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR2_ENAD3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr2_enad4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR2_ENAD4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr2_enad5, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR2_ENAD5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr2_enad6, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR2_ENAD6); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR2, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR3 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR3(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr3_enda1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR3_ENDA1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr3_enda2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR3_ENDA2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr3_enda3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR3_ENDA3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr3_enda4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR3_ENDA4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr3_enda5, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR3_ENDA5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr3_enda6, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR3_ENDA6); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR3, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR4 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR4(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr4_lowpowhs, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR4_LOWPOWHS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr4_lowpowdachs, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR4_LOWPOWDACHS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr4_lowpowear, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR4_LOWPOWEAR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr4_ear_sel_cm, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR4_EAR_SEL_CM); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr4_hs_hp_dis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR4_HS_HP_DIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr4_ear_hp_dis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR4_EAR_HP_DIS); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR4, value)); -} -#endif - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR5 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR5(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_enmic1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_ENMIC1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_enmic2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_ENMIC2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_enlinl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_ENLINL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_enlinr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_ENLINR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_mutmic1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_MUTMIC1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_mutmic2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_MUTMIC2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_mutlinl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_MUTELINL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr5_mutlinr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR5_MUTELINR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR5, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR6 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR6(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr6_endmic1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR6_ENDMIC1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr6_endmic2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR6_ENDMIC2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr6_endmic3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR6_ENDMIC3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr6_endmic4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR6_ENDMIC4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr6_endmic5, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR6_ENDMIC5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr6_endmic6, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR6_ENDMIC6); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR6, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR7 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR7(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_mic1sel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_MIC1SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_linrsel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_LINRSEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_endrvhsl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_ENDRVHSL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_endrvhsr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_ENDRVHSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_enadcmic, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_ENADCMIC); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_enadclinl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_ENADCLINL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr7_enadclinr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR7_ENADCLINR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR7, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR8 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR8(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_cp_dis_pldwn, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_CP_DIS_PLDWN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_enear, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENEAR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_enhsl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENHSL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_enhsr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENHSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_enhfl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENHFL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_enhfr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENHFR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_envibl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENVIBL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr8_envibr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR8_ENVIBR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR8, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR9 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR9(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endacear, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACEAR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endachsl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACHSL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endachsr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACHSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endachfl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACHFL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endachfr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACHFR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endacvibl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACVIBL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr9_endacvibr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR9_ENADACVIBR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR9, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR10 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR10(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_muteear, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEEAR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_mutehsl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEHSL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_mutehsr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEHSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_mutehfl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEHFL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_mutehfr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEHFR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_mutevibl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEVIBL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr10_mutevibr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR10_MUTEVIBR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR10, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR11 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR11(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_earshortpwd, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_ENSHORTPWD); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_earshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_EARSHORTDIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_hslshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_HSLSHORTDIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_hsrshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_HSRSHORTDIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_hflshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_HFLSHORTDIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_hfrshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_HFRSHORTDIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_viblshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_VIBLSHORTDIS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr11_vibrshortdis, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR11_VIBRSHORTDIS); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR11, value)); -} - -#endif - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR12 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR12(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr12_encphs, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR12_ENCPHS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr12_hsautotime, - AB8500_CODEC_MASK_THREE_BITS, AB8500_CODEC_CR12_HSAUTOTIME); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr12_hsautoensel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR12_HSAUTOENSEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr12_hsautoen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR12_HSAUTOEN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR12, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR13 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR13(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr13_envdet_hthresh, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR13_ENVDET_HTHRESH); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr13_envdet_lthresh, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR13_ENVDET_LTHRESH); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR13, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR14 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR14(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr14_smpslven, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR14_SMPSLVEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr14_envdetsmpsen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR14_ENVDETSMPSEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr14_cplven, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR14_CPLVEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr14_envdetcpen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR14_ENVDETCPEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr14_envet_time, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR14_ENVDET_TIME); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR14, value)); -} -#endif - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR15 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR15(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmtovibl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMTOVIBL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmtovibr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMTOVIBR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmlctrl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMLCTRL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmrctrl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMRCTRL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmnlctrl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMNLCTRL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmplctrl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMPLCTRL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmnrctrl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMNRCTRL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr15_pwmprctrl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR15_PWMPRCTRL); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR15, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR16 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR16(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr16_pwmnlpol, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR16_PWMNLPOL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr16_pwmnldutycycle, - AB8500_CODEC_MASK_SEVEN_BITS, AB8500_CODEC_CR16_PWMNLDUTYCYCLE); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR16, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR17 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR17(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr17_pwmplpol, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR17_PWMPLPOL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr17_pwmpldutycycle, - AB8500_CODEC_MASK_SEVEN_BITS, AB8500_CODEC_CR17_PWMLPDUTYCYCLE); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR17, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR18 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR18(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr18_pwmnrpol, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR18_PWMNRPOL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr18_pwmnrdutycycle, - AB8500_CODEC_MASK_SEVEN_BITS, AB8500_CODEC_CR18_PWMNRDUTYCYCLE); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR18, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR19 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR19(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr19_pwmprpol, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR19_PWMPRPOL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr19_pwmprdutycycle, - AB8500_CODEC_MASK_SEVEN_BITS, AB8500_CODEC_CR19_PWMRPDUTYCYCLE); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR19, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR20 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR20(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr20_en_se_mic1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR20_EN_SE_MIC1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr20_mic1_gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR20_MIC1_GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR20, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR21 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR21(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr21_en_se_mic2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR21_EN_SE_MIC2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr21_mic2_gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR21_MIC2_GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR21, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR22 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR22(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr22_hsl_gain, - AB8500_CODEC_MASK_THREE_BITS, AB8500_CODEC_CR22_HSL_GAIN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr22_linl_gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR22_LINL_GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR22, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR23 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR23(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr23_hsr_gain, - AB8500_CODEC_MASK_THREE_BITS, AB8500_CODEC_CR23_HSR_GAIN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr23_linr_gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR23_LINR_GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR23, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR24 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR24(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr24_lintohsl_gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR24_LINTOHSL_GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR24, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR25 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR25(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr25_lintohsr_gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR25_LINTOHSR_GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR25, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR26 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR26(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad1nh, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD1NH); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad2nh, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD2NH); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad3nh, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD3NH); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad4nh, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD4NH); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad1_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD1_VOICE); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad2_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD2_VOICE); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad3_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD3_VOICE); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr26_ad4_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR26_AD4_VOICE); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR26, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR27 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR27(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr27_en_mastgen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR27_EN_MASTGEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr27_if1_bitclk_osr, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR27_IF1_BITCLK_OSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr27_enfs_bitclk1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR27_ENFS_BITCLK1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr27_if0_bitclk_osr, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR27_IF0_BITCLK_OSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr27_enfs_bitclk0, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR27_ENFS_BITCLK0); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR27, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR28 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR28(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr28_fsync0p, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR28_FSYNC0P); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr28_bitclk0p, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR28_BITCLK0P); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr28_if0del, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR28_IF0DEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr28_if0format, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR28_IF0FORMAT); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr28_if0wl, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR28_IF0WL); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR28, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR29 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR29(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if0datoif1ad, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF0DATOIF1AD); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if0cktoif1ck, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF0CKTOIF1CK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if1master, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF1MASTER); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if1datoif0ad, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF1DATOIF0AD); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if1cktoif0ck, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF1CKTOIF0CK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if0master, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF0MASTER); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr29_if0bfifoen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR29_IF0BFIFOEN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR29, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR30 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR30(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr30_fsync1p, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR30_FSYNC1P); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr30_bitclk1p, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR30_BITCLK1P); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr30_if1del, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR30_IF1DEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr30_if1format, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR30_IF1FORMAT); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr30_if1wl, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR30_IF1WL); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR30, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR31 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR31(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr31_adotoslot1, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR31_ADOTOSLOT1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr31_adotoslot0, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR31_ADOTOSLOT0); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR31, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR32 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR32(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr32_adotoslot3, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR32_ADOTOSLOT3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr32_adotoslot2, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR32_ADOTOSLOT2); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR32, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR33 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR33(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr33_adotoslot5, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR33_ADOTOSLOT5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr33_adotoslot4, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR33_ADOTOSLOT4); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR33, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR34 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR34(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr34_adotoslot7, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR34_ADOTOSLOT7); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr34_adotoslot6, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR34_ADOTOSLOT6); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR34, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR35 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR35(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr35_adotoslot9, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR35_ADOTOSLOT9); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr35_adotoslot8, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR35_ADOTOSLOT8); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR35, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR36 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR36(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr36_adotoslot11, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR36_ADOTOSLOT11); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr36_adotoslot10, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR36_ADOTOSLOT10); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR36, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR37 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR37(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr37_adotoslot13, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR37_ADOTOSLOT13); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr37_adotoslot12, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR37_ADOTOSLOT12); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR37, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR38 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR38(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr38_adotoslot15, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR38_ADOTOSLOT15); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr38_adotoslot14, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR38_ADOTOSLOT14); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR38, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR39 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR39(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr39_adotoslot17, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR39_ADOTOSLOT17); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr39_adotoslot16, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR39_ADOTOSLOT16); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR39, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR40 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR40(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr40_adotoslot19, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR40_ADOTOSLOT19); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr40_adotoslot18, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR40_ADOTOSLOT18); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR40, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR41 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR41(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr41_adotoslot21, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR41_ADOTOSLOT21); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr41_adotoslot20, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR41_ADOTOSLOT20); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR41, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR42 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR42(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr42_adotoslot23, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR42_ADOTOSLOT23); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr42_adotoslot22, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR42_ADOTOSLOT22); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR42, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR43 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR43(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr43_adotoslot25, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR43_ADOTOSLOT25); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr43_adotoslot24, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR43_ADOTOSLOT24); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR43, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR44 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR44(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr44_adotoslot27, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR44_ADOTOSLOT27); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr44_adotoslot26, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR44_ADOTOSLOT26); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR44, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR45 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR45(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr45_adotoslot29, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR45_ADOTOSLOT29); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr45_adotoslot28, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR45_ADOTOSLOT28); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR45, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR46 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR46(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr46_adotoslot31, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR46_ADOTOSLOT31); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr46_adotoslot30, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR46_ADOTOSLOT30); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR46, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR47 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR47(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl7, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL7); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl6, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL6); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl5, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr47_hiz_sl0, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR47_HIZ_SL0); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR47, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR48 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR48(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl15, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL15); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl14, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL14); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl13, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL13); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl12, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL12); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl11, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL11); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl10, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL10); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl9, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL9); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr48_hiz_sl8, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR48_HIZ_SL8); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR48, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR49 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR49(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl23, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL23); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl22, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL22); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl21, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL21); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl20, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL20); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl19, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL19); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl18, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL18); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl17, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL17); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr49_hiz_sl16, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR49_HIZ_SL16); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR49, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR50 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR50(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl31, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL31); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl30, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL30); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl29, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL29); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl28, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL28); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl27, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL27); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl26, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL26); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl25, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL25); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr50_hiz_sl24, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR50_HIZ_SL24); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR50, value)); -} - -#endif - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR51 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR51(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr51_da12_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR51_DA12_VOICE); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr51_sldai1toslado1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR51_SLDAI1TOSLADO1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr51_sltoda1, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR51_SLTODA1); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR51, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR52 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR52(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr52_sldai2toslado2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR52_SLDAI1TOSLADO2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr52_sltoda2, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR52_SLTODA2); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR52, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR53 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR53(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr53_da34_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR53_DA34_VOICE); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr53_sldai3toslado3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR53_SLDAI1TOSLADO3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr53_sltoda3, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR53_SLTODA3); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR53, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR54 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR54(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr54_sldai4toslado4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR54_SLDAI1TOSLADO4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr54_sltoda4, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR54_SLTODA4); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR54, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR55 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR55(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr55_da56_voice, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR55_DA56_VOICE); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr55_sldai5toslado5, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR55_SLDAI1TOSLADO5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr55_sltoda5, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR55_SLTODA5); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR55, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR56 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR56(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr56_sldai6toslado7, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR56_SLDAI1TOSLADO6); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr56_sltoda6, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR56_SLTODA6); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR56, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR57 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR57(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_bfifull_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_BFIFULL_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_bfiempt_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_BFIEMPT_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_dachan_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_DACHAN_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_gain_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_GAIN_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_dspad_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_DSPAD_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_dspda_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_DSPDA_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr57_stfir_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR57_STFIR_MSK); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR57, value)); -} - -/* CR58 is Read Only */ -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR59 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR59(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_vssready_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_VSSREADY_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrtvibl_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTVIBL_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrtvibr_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTVIBR_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrthfl_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTHFL_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrthfr_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTHFR_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrthsl_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTHSL_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrthsr_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTHSR_MSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr59_shrtear_msk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR59_SHRTEAR_MSK); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR59, value)); -} - -/* CR60 is Read Only */ -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR61 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR61(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - /* 5 bits are Read Only */ - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr61_fade_speed, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR61_FADE_SPEED); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR61, value)); -} -#endif -/* CR62 is Read Only */ -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR63 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR63(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_datohslen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_DATOHSLEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_datohsren, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_DATOHSREN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_ad1sel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_AD1SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_ad2sel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_AD2SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_ad3sel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_AD3SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_ad5sel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_AD5SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_ad6sel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_AD6SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr63_ancsel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR63_ANCSEL); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR63, value)); -} - -#if 0 -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR64 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR64(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr64_datohfren, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR64_DATOHFREN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr64_datohflen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR64_DATOHFLEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr64_hfrsel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR64_HFRSEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr64_hflsel, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR64_HFLSEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr64_stfir1sel, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR64_STFIR1SEL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr64_stfir2sel, - AB8500_CODEC_MASK_TWO_BITS, AB8500_CODEC_CR64_STFIR2SEL); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR64, value)); -} - -#endif - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR65 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR65(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr65_fadedis_ad1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR65_FADEDIS_AD1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr65_ad1gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR65_AD1GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR65, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR66 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR66(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr66_fadedis_ad2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR66_FADEDIS_AD2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr66_ad2gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR66_AD2GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR66, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR67 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR67(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr67_fadedis_ad3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR67_FADEDIS_AD3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr67_ad3gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR67_AD3GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR67, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR68 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR68(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr68_fadedis_ad4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR68_FADEDIS_AD4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr68_ad4gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR68_AD4GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR68, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR69 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR69(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr69_fadedis_ad5, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR69_FADEDIS_AD5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr69_ad5gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR69_AD5GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR69, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR70 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR70(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr70_fadedis_ad6, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR70_FADEDIS_AD6); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr70_ad6gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR70_AD6GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR70, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR71 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR71(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr71_fadedis_da1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR71_FADEDIS_DA1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr71_da1gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR71_DA1GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR71, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR72 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR72(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr72_fadedis_da2, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR72_FADEDIS_DA2); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr72_da2gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR72_DA2GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR72, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR73 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR73(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr73_fadedis_da3, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR73_FADEDIS_DA3); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr73_da3gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR73_DA3GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR73, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR74 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR74(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr74_fadedis_da4, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR74_FADEDIS_DA4); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr74_da4gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR74_DA4GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR74, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR75 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR75(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr75_fadedis_da5, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR75_FADEDIS_DA5); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr75_da5gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR75_DA5GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR75, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR76 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR76(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr76_fadedis_da6, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR76_FADEDIS_DA6); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr76_da6gain, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR76_DA6GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR76, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR77 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR77(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr77_fadedis_ad1l, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR77_FADEDIS_AD1L); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr77_ad1lbgain_to_hfl, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR77_AD1LBGAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR77, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR78 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR78(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr78_fadedis_ad2l, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR78_FADEDIS_AD2L); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr78_ad2lbgain_to_hfr, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR78_AD2LBGAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR78, value)); -} -#endif - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR79 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR79(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr79_hssinc1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR79_HSSINC1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr79_fadedis_hsl, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR79_FADEDIS_HSL); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr79_hsldgain, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR79_HSLDGAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR79, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR80 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR80(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr80_fadedis_hsr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR80_FADEDIS_HSR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr80_hsrdgain, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR80_HSRDGAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR80, value)); -} - -#if 0 - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR81 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR81(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr81_stfir1gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR81_STFIR1GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR81, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR82 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR82(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr82_stfir2gain, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR82_STFIR2GAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR82, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR83 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR83(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr83_enanc, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR83_ENANC); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr83_anciirinit, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR83_ANCIIRINIT); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr83_ancfirupdate, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR83_ANCFIRUPDATE); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR83, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR84 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR84(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr84_ancinshift, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR84_ANCINSHIFT); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR84, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR85 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR85(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr85_ancfiroutshift, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR85_ANCFIROUTSHIFT); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR85, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR86 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR86(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr86_ancshiftout, - AB8500_CODEC_MASK_FIVE_BITS, AB8500_CODEC_CR86_ANCSHIFTOUT); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR86, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR87 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR87(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr87_ancfircoeff_msb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR87_ANCFIRCOEFF_MSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR87, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR88 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR88(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr88_ancfircoeff_lsb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR88_ANCFIRCOEFF_LSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR88, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR89 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR89(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr89_anciircoeff_msb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR89_ANCIIRCOEFF_MSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR89, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR90 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR90(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr90_anciircoeff_lsb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR90_ANCIIRCOEFF_LSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR90, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR91 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR91(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr91_ancwarpdel_msb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR91_ANCWARPDEL_MSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR91, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR92 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR92(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr92_ancwarpdel_lsb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR92_ANCWARPDEL_LSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR92, value)); -} - -/* CR93 is Read Only */ -/* CR94 is Read Only */ -/* CR95 is Read Only */ -/* CR96 is Read Only */ -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR97 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR97(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr97_stfir_set, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR97_STFIR_SET); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr97_stfir_addr, - AB8500_CODEC_MASK_SEVEN_BITS, AB8500_CODEC_CR97_STFIR_ADDR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR97, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR98 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR98(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr98_stfir_coeff_msb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR98_STFIR_COEFF_MSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR98, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR99 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR99(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr99_stfir_coeff_lsb, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR99_STFIR_COEFF_LSB); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR99, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR100 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR100(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr100_enstfirs, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR100_ENSTFIRS); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr100_stfirstoif1, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR100_STFIRSTOIF1); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr100_stfir_busy, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR100_STFIR_BUSY); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR100, value)); -} - -#endif -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR101 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR101(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr101_parlhf, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR101_PARLHF); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr101_parlvib, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR101_PARLVIB); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr101_classd_viblswapen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR101_CLASSDVIBLSWAPEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr101_classd_vibrswapen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR101_CLASSDVIBRSWAPEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr101_classd_hflswapen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR101_CLASSDHFLSWAPEN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr101_classd_hfrswapen, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR101_CLASSDHFRSWAPEN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR101, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR102 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR102(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr102_classd_firbyp, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR102_CLASSD_FIRBYP); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr102_classd_highvolen, - AB8500_CODEC_MASK_FOUR_BITS, AB8500_CODEC_CR102_CLASSD_HIGHVOLEN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR102, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR103 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR103(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr103_classd_ditherhpgain, - AB8500_CODEC_MASK_FOUR_BITS, - AB8500_CODEC_CR103_CLASSD_DITHERHPGAIN); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr103_classd_ditherwgain, - AB8500_CODEC_MASK_FOUR_BITS, - AB8500_CODEC_CR103_CLASSD_DITHERWGAIN); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR103, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR104 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR104(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr104_bfifoint, - AB8500_CODEC_MASK_SIX_BITS, AB8500_CODEC_CR104_BFIFOINT); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR104, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR105 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR105(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr105_bfifotx, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR105_BFIFOTX); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR105, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR106 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR106(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr106_bfifofsext, - AB8500_CODEC_MASK_THREE_BITS, AB8500_CODEC_CR106_BFIFOFSEXT); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr106_bfifomsk, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR106_BFIFOMSK); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr106_bfifomstr, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR106_BFIFOMSTR); - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr106_bfifostrt, - AB8500_CODEC_MASK_ONE_BIT, AB8500_CODEC_CR106_BFIFOSTRT); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR106, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR107 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR107(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr107_bfifosampnr, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR107_BFIFOSAMPNR); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR107, value)); -} - -/********************************************************************************************/ -/* Name: ab8500_codec_UpdateCR108 */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_UpdateCR108(void) -{ - t_uint8 value = 0x00; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - AB8500_CODEC_WRITE_BITS - (value, - (t_uint8) p_ab8500_codec_configuration->cr108_bfifowakeup, - AB8500_CODEC_MASK_EIGHT_BITS, AB8500_CODEC_CR108_BFIFOWAKEUP); - - return (ab8500_codec_SingleWrite(AB8500_CODEC_CR108, value)); -} - -/* CR109 is Read Only */ -/********************************************************************************************/ -/* Name: ab8500_codec_Reset() */ - -/********************************************************************************************/ -PRIVATE t_ab8500_codec_error ab8500_codec_Reset(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - p_ab8500_codec_configuration->cr1_swreset = - AB8500_CODEC_CR1_SWRESET_ENABLED; - - ab8500_codec_error = ab8500_codec_UpdateCR1(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ProgramDirection(IN - t_ab8500_codec_direction - ab8500_codec_direction) -{ /*only IN or OUT must be passed (not INOUT) */ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - if (AB8500_CODEC_DIRECTION_IN == ab8500_codec_direction) { - ab8500_codec_error = ab8500_codec_ProgramDirectionIN(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } - - if (AB8500_CODEC_DIRECTION_OUT == ab8500_codec_direction) { - ab8500_codec_error = ab8500_codec_ProgramDirectionOUT(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } - - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_SetDirection(IN - t_ab8500_codec_direction - ab8500_codec_direction) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - switch (ab8500_codec_direction) { - case AB8500_CODEC_DIRECTION_IN: - ab8500_codec_error = - ab8500_codec_ProgramDirection(AB8500_CODEC_DIRECTION_IN); - break; - - case AB8500_CODEC_DIRECTION_OUT: - ab8500_codec_error = - ab8500_codec_ProgramDirection(AB8500_CODEC_DIRECTION_OUT); - break; - - case AB8500_CODEC_DIRECTION_INOUT: - ab8500_codec_error = - ab8500_codec_ProgramDirection(AB8500_CODEC_DIRECTION_IN); - if (AB8500_CODEC_OK == ab8500_codec_error) { - ab8500_codec_error = - ab8500_codec_ProgramDirection - (AB8500_CODEC_DIRECTION_OUT); - } - break; - } - - if (ab8500_codec_error != AB8500_CODEC_OK) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR5(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR6(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR7(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR8(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR9(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR10(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR12(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR15(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR63(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_Init */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Initialize the global variables & stores the slave address of codec. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* slave_address_of_ab8500_codec: Audio codec slave address */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* Returns AB8500_CODEC_OK */ -/* COMMENTS: */ -/* 1) Saves the supplied slave_address_of_codec in global variable */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_Init(IN t_uint8 - slave_address_of_ab8500_codec) -{ - DBGENTER1(" (%lx)", slave_address_of_ab8500_codec); - - g_ab8500_codec_system_context.slave_address_of_ab8500_codec = - slave_address_of_ab8500_codec; - - DBGEXIT(AB8500_CODEC_OK); - return (AB8500_CODEC_OK); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_Reset */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Reset the global variables and clear audiocodec settings to default. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_Reset(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - DBGENTER(); - - g_ab8500_codec_system_context.ab8500_codec_direction = - AB8500_CODEC_DEFAULT_DIRECTION; - g_ab8500_codec_system_context.ab8500_codec_mode_in = - AB8500_CODEC_DEFAULT_MODE_IN; - g_ab8500_codec_system_context.ab8500_codec_mode_out = - AB8500_CODEC_DEFAULT_MODE_OUT; - - g_ab8500_codec_system_context.ab8500_codec_src = - AB8500_CODEC_DEFAULT_INPUT_SRC; - g_ab8500_codec_system_context.ab8500_codec_dest = - AB8500_CODEC_DEFAULT_OUTPUT_DEST; - - g_ab8500_codec_system_context.in_left_volume = - AB8500_CODEC_DEFAULT_VOLUME_LEFT_IN; - g_ab8500_codec_system_context.in_right_volume = - AB8500_CODEC_DEFAULT_VOLUME_RIGHT_IN; - g_ab8500_codec_system_context.out_left_volume = - AB8500_CODEC_DEFAULT_VOLUME_LEFT_OUT; - g_ab8500_codec_system_context.out_right_volume = - AB8500_CODEC_DEFAULT_VOLUME_RIGHT_OUT; - - ab8500_codec_error = ab8500_codec_Reset(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SetModeAndDirection */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Configures the whole audio codec to work in audio mode */ -/* (using I2S protocol). */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* direction: select the direction (IN, OUT or INOUT) */ -/* in_mode: codec mode for recording. If direction is OUT only, */ -/* this parameter is ignored. */ -/* out_mode: codec mode for playing. If direction is IN only, */ -/* this parameter is ignored. */ -/* p_tdm_config: TDM configuration required to be configured by user */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_UNSUPPORTED_FEATURE: The API may not allow setting */ -/* 2 different modes, in which case it should return this value. */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SetModeAndDirection - (IN t_ab8500_codec_direction ab8500_codec_direction, - IN t_ab8500_codec_mode ab8500_codec_mode_in, - IN t_ab8500_codec_mode ab8500_codec_mode_out, - IN t_ab8500_codec_tdm_config const *const p_tdm_config) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - DBGENTER3(" (%lx %lx %lx)", ab8500_codec_direction, - ab8500_codec_mode_in, ab8500_codec_mode_out); - - if (AB8500_CODEC_AUDIO_INTERFACE_1 == - g_ab8500_codec_system_context.audio_interface) { - if (AB8500_CODEC_DIRECTION_OUT == ab8500_codec_direction - || AB8500_CODEC_DIRECTION_INOUT == ab8500_codec_direction) { - p_ab8500_codec_configuration->cr3_enda1 = - AB8500_CODEC_CR3_ENDA1_ENABLED; - p_ab8500_codec_configuration->cr3_enda2 = - AB8500_CODEC_CR3_ENDA2_ENABLED; - p_ab8500_codec_configuration->cr3_enda3 = - AB8500_CODEC_CR3_ENDA3_ENABLED; - p_ab8500_codec_configuration->cr3_enda4 = - AB8500_CODEC_CR3_ENDA4_ENABLED; - p_ab8500_codec_configuration->cr3_enda5 = - AB8500_CODEC_CR3_ENDA5_ENABLED; - p_ab8500_codec_configuration->cr3_enda6 = - AB8500_CODEC_CR3_ENDA6_ENABLED; - - p_ab8500_codec_configuration->cr27_if1_bitclk_osr = - p_tdm_config->cr27_if1_bitclk_osr; - - if (AB8500_CODEC_MODE_HIFI == ab8500_codec_mode_out) { - p_ab8500_codec_configuration->cr30_fsync1p = - AB8500_CODEC_CR30_FSYNC1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_bitclk1p = - AB8500_CODEC_CR30_BITCLK1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_if1del = - AB8500_CODEC_CR30_IF1DEL_DELAYED; - p_ab8500_codec_configuration->cr30_if1format = - AB8500_CODEC_CR30_IF1FORMAT_I2S_LEFTALIGNED; - p_ab8500_codec_configuration->cr30_if1wl = - p_tdm_config->cr30_if1wl; - } else { - p_ab8500_codec_configuration->cr30_fsync1p = - AB8500_CODEC_CR30_FSYNC1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_bitclk1p = - AB8500_CODEC_CR30_BITCLK1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_if1del = - AB8500_CODEC_CR30_IF1DEL_DELAYED; - p_ab8500_codec_configuration->cr30_if1format = - AB8500_CODEC_CR30_IF1FORMAT_TDM; - p_ab8500_codec_configuration->cr30_if1wl = - p_tdm_config->cr30_if1wl; - } - } - - if (AB8500_CODEC_DIRECTION_IN == ab8500_codec_direction - || AB8500_CODEC_DIRECTION_INOUT == ab8500_codec_direction) { - p_ab8500_codec_configuration->cr2_enad1 = - AB8500_CODEC_CR2_ENAD1_ENABLED; - p_ab8500_codec_configuration->cr2_enad2 = - AB8500_CODEC_CR2_ENAD2_ENABLED; - p_ab8500_codec_configuration->cr2_enad3 = - AB8500_CODEC_CR2_ENAD3_ENABLED; - p_ab8500_codec_configuration->cr2_enad4 = - AB8500_CODEC_CR2_ENAD4_ENABLED; - p_ab8500_codec_configuration->cr2_enad5 = - AB8500_CODEC_CR2_ENAD5_ENABLED; - p_ab8500_codec_configuration->cr2_enad6 = - AB8500_CODEC_CR2_ENAD6_ENABLED; - - p_ab8500_codec_configuration->cr27_if1_bitclk_osr = - p_tdm_config->cr27_if1_bitclk_osr; - - if (AB8500_CODEC_MODE_HIFI == ab8500_codec_mode_in) { - p_ab8500_codec_configuration->cr30_fsync1p = - AB8500_CODEC_CR30_FSYNC1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_bitclk1p = - AB8500_CODEC_CR30_BITCLK1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_if1del = - AB8500_CODEC_CR30_IF1DEL_DELAYED; - p_ab8500_codec_configuration->cr30_if1format = - AB8500_CODEC_CR30_IF1FORMAT_I2S_LEFTALIGNED; - p_ab8500_codec_configuration->cr30_if1wl = - p_tdm_config->cr30_if1wl; - } else { - p_ab8500_codec_configuration->cr30_fsync1p = - AB8500_CODEC_CR30_FSYNC1P_RISING_EDGE; - p_ab8500_codec_configuration->cr30_bitclk1p = - AB8500_CODEC_CR30_BITCLK1P_FALLING_EDGE; - p_ab8500_codec_configuration->cr30_if1del = - AB8500_CODEC_CR30_IF1DEL_NOT_DELAYED; - p_ab8500_codec_configuration->cr30_if1format = - AB8500_CODEC_CR30_IF1FORMAT_TDM; - p_ab8500_codec_configuration->cr30_if1wl = - p_tdm_config->cr30_if1wl; - } - } - } else { - if (AB8500_CODEC_DIRECTION_OUT == ab8500_codec_direction - || AB8500_CODEC_DIRECTION_INOUT == ab8500_codec_direction) { - p_ab8500_codec_configuration->cr3_enda1 = - AB8500_CODEC_CR3_ENDA1_ENABLED; - p_ab8500_codec_configuration->cr3_enda2 = - AB8500_CODEC_CR3_ENDA2_ENABLED; - p_ab8500_codec_configuration->cr3_enda3 = - AB8500_CODEC_CR3_ENDA3_ENABLED; - p_ab8500_codec_configuration->cr3_enda4 = - AB8500_CODEC_CR3_ENDA4_ENABLED; - p_ab8500_codec_configuration->cr3_enda5 = - AB8500_CODEC_CR3_ENDA5_ENABLED; - p_ab8500_codec_configuration->cr3_enda6 = - AB8500_CODEC_CR3_ENDA6_ENABLED; - - p_ab8500_codec_configuration->cr27_if0_bitclk_osr = - p_tdm_config->cr27_if0_bitclk_osr; - - p_ab8500_codec_configuration->cr63_datohslen = - AB8500_CODEC_CR63_DATOHSLEN_ENABLED; - p_ab8500_codec_configuration->cr63_datohsren = - AB8500_CODEC_CR63_DATOHSREN_ENABLED; - - if (AB8500_CODEC_MODE_HIFI == ab8500_codec_mode_out) { - p_ab8500_codec_configuration->cr28_fsync0p = - AB8500_CODEC_CR28_FSYNC0P_FALLING_EDGE; - p_ab8500_codec_configuration->cr28_bitclk0p = p_tdm_config->cr28_bitclk0p; /*AB8500_CODEC_CR28_BITCLK0P_FALLING_EDGE; */ - p_ab8500_codec_configuration->cr28_if0del = p_tdm_config->cr28_if0del; /*AB8500_CODEC_CR28_IF0DEL_DELAYED; */ - p_ab8500_codec_configuration->cr28_if0format = - AB8500_CODEC_CR28_IF0FORMAT_I2S_LEFTALIGNED; - p_ab8500_codec_configuration->cr28_if0wl = - p_tdm_config->cr28_if0wl; - } else { - p_ab8500_codec_configuration->cr28_fsync0p = - AB8500_CODEC_CR28_FSYNC0P_FALLING_EDGE; - p_ab8500_codec_configuration->cr28_bitclk0p = p_tdm_config->cr28_bitclk0p; /*AB8500_CODEC_CR28_BITCLK0P_FALLING_EDGE; */ - p_ab8500_codec_configuration->cr28_if0del = p_tdm_config->cr28_if0del; /*AB8500_CODEC_CR28_IF0DEL_DELAYED; */ - p_ab8500_codec_configuration->cr28_if0format = - AB8500_CODEC_CR28_IF0FORMAT_TDM; - p_ab8500_codec_configuration->cr28_if0wl = - p_tdm_config->cr28_if0wl; - } - } - - if (AB8500_CODEC_DIRECTION_IN == ab8500_codec_direction - || AB8500_CODEC_DIRECTION_INOUT == ab8500_codec_direction) { - p_ab8500_codec_configuration->cr2_enad1 = - AB8500_CODEC_CR2_ENAD1_ENABLED; - p_ab8500_codec_configuration->cr2_enad2 = - AB8500_CODEC_CR2_ENAD2_ENABLED; - p_ab8500_codec_configuration->cr2_enad3 = - AB8500_CODEC_CR2_ENAD3_ENABLED; - p_ab8500_codec_configuration->cr2_enad4 = - AB8500_CODEC_CR2_ENAD4_ENABLED; - p_ab8500_codec_configuration->cr2_enad5 = - AB8500_CODEC_CR2_ENAD5_ENABLED; - p_ab8500_codec_configuration->cr2_enad6 = - AB8500_CODEC_CR2_ENAD6_ENABLED; - - p_ab8500_codec_configuration->cr26_ad1_voice = - AB8500_CODEC_CR26_AD1_VOICE_LOWLATENCYFILTER; - p_ab8500_codec_configuration->cr26_ad2_voice = - AB8500_CODEC_CR26_AD2_VOICE_LOWLATENCYFILTER; - p_ab8500_codec_configuration->cr26_ad3_voice = - AB8500_CODEC_CR26_AD3_VOICE_LOWLATENCYFILTER; - p_ab8500_codec_configuration->cr26_ad4_voice = - AB8500_CODEC_CR26_AD4_VOICE_LOWLATENCYFILTER; - - p_ab8500_codec_configuration->cr27_if0_bitclk_osr = - p_tdm_config->cr27_if0_bitclk_osr; - - if (AB8500_CODEC_MODE_HIFI == ab8500_codec_mode_in) { - p_ab8500_codec_configuration->cr28_fsync0p = - AB8500_CODEC_CR28_FSYNC0P_RISING_EDGE; - p_ab8500_codec_configuration->cr28_bitclk0p = p_tdm_config->cr28_bitclk0p; /*AB8500_CODEC_CR28_BITCLK0P_RISING_EDGE; */ - p_ab8500_codec_configuration->cr28_if0del = p_tdm_config->cr28_if0del; /*AB8500_CODEC_CR28_IF0DEL_NOT_DELAYED; */ - p_ab8500_codec_configuration->cr28_if0format = - AB8500_CODEC_CR28_IF0FORMAT_I2S_LEFTALIGNED; - p_ab8500_codec_configuration->cr28_if0wl = - p_tdm_config->cr28_if0wl; - } else { - p_ab8500_codec_configuration->cr28_fsync0p = - AB8500_CODEC_CR28_FSYNC0P_RISING_EDGE; - p_ab8500_codec_configuration->cr28_bitclk0p = p_tdm_config->cr28_bitclk0p; /*AB8500_CODEC_CR28_BITCLK0P_FALLING_EDGE; */ - p_ab8500_codec_configuration->cr28_if0del = p_tdm_config->cr28_if0del; /*AB8500_CODEC_CR28_IF0DEL_NOT_DELAYED; */ - p_ab8500_codec_configuration->cr28_if0format = - AB8500_CODEC_CR28_IF0FORMAT_TDM; - p_ab8500_codec_configuration->cr28_if0wl = - p_tdm_config->cr28_if0wl; - } - } - } - - ab8500_codec_error = ab8500_codec_SetModeAndDirectionUpdateCR(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - g_ab8500_codec_system_context.ab8500_codec_direction = - ab8500_codec_direction; - g_ab8500_codec_system_context.ab8500_codec_mode_in = - ab8500_codec_mode_in; - g_ab8500_codec_system_context.ab8500_codec_mode_out = - ab8500_codec_mode_out; - - ab8500_codec_error = ab8500_codec_SetDirection(ab8500_codec_direction); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SetSrcVolume */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Sets the record volumes. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* t_ab8500_codec_src: select source device for recording. */ -/* in_left_volume: record volume for left channel. */ -/* in_right_volume: record volume for right channel. */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SetSrcVolume - (IN t_ab8500_codec_src src_device, - IN t_uint8 in_left_volume, IN t_uint8 in_right_volume) { - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER3(" (%lx %lx %lx)", src_device, in_left_volume, - in_right_volume); - - if (in_left_volume > AB8500_CODEC_MAX_VOLUME) { - in_left_volume = AB8500_CODEC_MAX_VOLUME; - } - - if (in_right_volume > AB8500_CODEC_MAX_VOLUME) { - in_right_volume = AB8500_CODEC_MAX_VOLUME; - } - - g_ab8500_codec_system_context.in_left_volume = in_left_volume; - g_ab8500_codec_system_context.in_right_volume = in_right_volume; - - p_ab8500_codec_configuration->cr65_ad1gain = - AB8500_CODEC_AD_D_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_AD_D_VOLUME_MAX - - AB8500_CODEC_AD_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr66_ad2gain = - AB8500_CODEC_AD_D_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_AD_D_VOLUME_MAX - - AB8500_CODEC_AD_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr67_ad3gain = - AB8500_CODEC_AD_D_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_AD_D_VOLUME_MAX - - AB8500_CODEC_AD_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr68_ad4gain = - AB8500_CODEC_AD_D_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_AD_D_VOLUME_MAX - - AB8500_CODEC_AD_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr69_ad5gain = - AB8500_CODEC_AD_D_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_AD_D_VOLUME_MAX - - AB8500_CODEC_AD_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr70_ad6gain = - AB8500_CODEC_AD_D_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_AD_D_VOLUME_MAX - - AB8500_CODEC_AD_D_VOLUME_MIN)) / 100; - - /* Set mininimum volume if volume is zero */ - switch (src_device) { - case AB8500_CODEC_SRC_LINEIN: - p_ab8500_codec_configuration->cr22_linl_gain = - AB8500_CODEC_LINEIN_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_LINEIN_VOLUME_MAX - - AB8500_CODEC_LINEIN_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr23_linr_gain = - AB8500_CODEC_LINEIN_VOLUME_MIN + - (in_right_volume * - (AB8500_CODEC_LINEIN_VOLUME_MAX - - AB8500_CODEC_LINEIN_VOLUME_MIN)) / 100; - break; - - case AB8500_CODEC_SRC_MICROPHONE_1A: - case AB8500_CODEC_SRC_MICROPHONE_1B: - p_ab8500_codec_configuration->cr20_mic1_gain = - AB8500_CODEC_MIC_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_MIC_VOLUME_MAX - - AB8500_CODEC_MIC_VOLUME_MIN)) / 100; - break; - - case AB8500_CODEC_SRC_MICROPHONE_2: - p_ab8500_codec_configuration->cr21_mic2_gain = - AB8500_CODEC_MIC_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_MIC_VOLUME_MAX - - AB8500_CODEC_MIC_VOLUME_MIN)) / 100; - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_1: - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_2: - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_3: - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_4: - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_5: - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_6: - break; - - case AB8500_CODEC_SRC_ALL: - p_ab8500_codec_configuration->cr22_linl_gain = - AB8500_CODEC_LINEIN_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_LINEIN_VOLUME_MAX - - AB8500_CODEC_LINEIN_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr23_linr_gain = - AB8500_CODEC_LINEIN_VOLUME_MIN + - (in_right_volume * - (AB8500_CODEC_LINEIN_VOLUME_MAX - - AB8500_CODEC_LINEIN_VOLUME_MIN)) / 100; - - p_ab8500_codec_configuration->cr20_mic1_gain = - AB8500_CODEC_MIC_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_MIC_VOLUME_MAX - - AB8500_CODEC_MIC_VOLUME_MIN)) / 100; - - p_ab8500_codec_configuration->cr21_mic2_gain = - AB8500_CODEC_MIC_VOLUME_MIN + - (in_left_volume * - (AB8500_CODEC_MIC_VOLUME_MAX - - AB8500_CODEC_MIC_VOLUME_MIN)) / 100; - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_SetSrcVolumeUpdateCR(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SetDestVolume */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Sets the play volumes. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* out_left_volume: play volume for left channel. */ -/* out_right_volume: play volume for right channel. */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SetDestVolume - (IN t_ab8500_codec_dest dest_device, - IN t_uint8 out_left_volume, IN t_uint8 out_right_volume) { - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER3(" (%lx %lx %lx)", dest_device, out_left_volume, - out_right_volume); - - if (out_left_volume > AB8500_CODEC_MAX_VOLUME) { - out_left_volume = AB8500_CODEC_MAX_VOLUME; - } - - if (out_right_volume > AB8500_CODEC_MAX_VOLUME) { - out_right_volume = AB8500_CODEC_MAX_VOLUME; - } - - g_ab8500_codec_system_context.out_left_volume = out_left_volume; - g_ab8500_codec_system_context.out_right_volume = out_right_volume; - - p_ab8500_codec_configuration->cr71_da1gain = - AB8500_CODEC_DA_D_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_DA_D_VOLUME_MAX - - AB8500_CODEC_DA_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr72_da2gain = - AB8500_CODEC_DA_D_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_DA_D_VOLUME_MAX - - AB8500_CODEC_DA_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr73_da3gain = - AB8500_CODEC_DA_D_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_DA_D_VOLUME_MAX - - AB8500_CODEC_DA_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr74_da4gain = - AB8500_CODEC_DA_D_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_DA_D_VOLUME_MAX - - AB8500_CODEC_DA_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr75_da5gain = - AB8500_CODEC_DA_D_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_DA_D_VOLUME_MAX - - AB8500_CODEC_DA_D_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr76_da6gain = - AB8500_CODEC_DA_D_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_DA_D_VOLUME_MAX - - AB8500_CODEC_DA_D_VOLUME_MIN)) / 100; - - /* Set mininimum volume if volume is zero */ - switch (dest_device) { - case AB8500_CODEC_DEST_HEADSET: - p_ab8500_codec_configuration->cr22_hsl_gain = - AB8500_CODEC_HEADSET_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_HEADSET_VOLUME_MAX - - AB8500_CODEC_HEADSET_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr23_hsr_gain = - AB8500_CODEC_HEADSET_VOLUME_MIN + - (out_right_volume * - (AB8500_CODEC_HEADSET_VOLUME_MAX - - AB8500_CODEC_HEADSET_VOLUME_MIN)) / 100; - - p_ab8500_codec_configuration->cr79_hsldgain = - AB8500_CODEC_HEADSET_D_VOLUME_0DB; - p_ab8500_codec_configuration->cr80_hsrdgain = - AB8500_CODEC_HEADSET_D_VOLUME_0DB; - break; - - case AB8500_CODEC_DEST_EARPIECE: - p_ab8500_codec_configuration->cr79_hsldgain = - AB8500_CODEC_HEADSET_D_VOLUME_0DB; - break; - - case AB8500_CODEC_DEST_HANDSFREE: - - p_ab8500_codec_configuration->cr101_parlhf = - AB8500_CODEC_CR101_PARLHF_INDEPENDENT; - p_ab8500_codec_configuration->cr101_parlvib = - AB8500_CODEC_CR101_PARLVIB_INDEPENDENT; - p_ab8500_codec_configuration->cr101_classd_viblswapen = - AB8500_CODEC_CR101_CLASSD_VIBLSWAPEN_DISABLED; - p_ab8500_codec_configuration->cr101_classd_vibrswapen = - AB8500_CODEC_CR101_CLASSD_VIBRSWAPEN_DISABLED; - p_ab8500_codec_configuration->cr101_classd_hflswapen = - AB8500_CODEC_CR101_CLASSD_HFLSWAPEN_DISABLED; - p_ab8500_codec_configuration->cr101_classd_hfrswapen = - AB8500_CODEC_CR101_CLASSD_HFRSWAPEN_DISABLED; - - p_ab8500_codec_configuration->cr102_classd_firbyp = - AB8500_CODEC_CR102_CLASSD_FIRBYP_ALL_ENABLED; - p_ab8500_codec_configuration->cr102_classd_highvolen = - AB8500_CODEC_CR102_CLASSD_HIGHVOLEN_DISABLED; - - p_ab8500_codec_configuration->cr103_classd_ditherhpgain = 0x8; - p_ab8500_codec_configuration->cr103_classd_ditherwgain = 0x4; - - break; - - case AB8500_CODEC_DEST_VIBRATOR_L: - p_ab8500_codec_configuration->cr16_pwmnldutycycle = - AB8500_CODEC_VIBRATOR_VOLUME_MIN; - p_ab8500_codec_configuration->cr17_pwmpldutycycle = - AB8500_CODEC_VIBRATOR_VOLUME_MIN + - (out_right_volume * - (AB8500_CODEC_VIBRATOR_VOLUME_MAX - - AB8500_CODEC_VIBRATOR_VOLUME_MIN)) / 100; - break; - - case AB8500_CODEC_DEST_VIBRATOR_R: - p_ab8500_codec_configuration->cr18_pwmnrdutycycle = - AB8500_CODEC_VIBRATOR_VOLUME_MIN; - p_ab8500_codec_configuration->cr19_pwmprdutycycle = - AB8500_CODEC_VIBRATOR_VOLUME_MIN + - (out_right_volume * - (AB8500_CODEC_VIBRATOR_VOLUME_MAX - - AB8500_CODEC_VIBRATOR_VOLUME_MIN)) / 100; - break; - - case AB8500_CODEC_DEST_ALL: - p_ab8500_codec_configuration->cr22_hsl_gain = - AB8500_CODEC_HEADSET_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_HEADSET_VOLUME_MAX - - AB8500_CODEC_HEADSET_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr23_hsr_gain = - AB8500_CODEC_HEADSET_VOLUME_MIN + - (out_right_volume * - (AB8500_CODEC_HEADSET_VOLUME_MAX - - AB8500_CODEC_HEADSET_VOLUME_MIN)) / 100; - - p_ab8500_codec_configuration->cr79_hsldgain = - AB8500_CODEC_HEADSET_D_VOLUME_0DB; - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_SetDestVolumeUpdateCR(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SetMasterMode */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Set the Audio Codec in Master mode. */ -/* */ -/* ARGUMENTS */ -/* IN: t_codec_master_mode: Enable/disable master mode */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/* REMARK: Call this API after calling AB8500_CODEC_SetModeAndDirection() API*/ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SetMasterMode(IN - t_ab8500_codec_master_mode - mode) -{ - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER0(); - - if (AB8500_CODEC_AUDIO_INTERFACE_1 == - g_ab8500_codec_system_context.audio_interface) { - - p_ab8500_codec_configuration->cr27_en_mastgen = - AB8500_CODEC_CR27_EN_MASTGEN_ENABLED; - p_ab8500_codec_configuration->cr27_enfs_bitclk1 = - AB8500_CODEC_CR27_ENFS_BITCLK1_ENABLED; - - if (AB8500_CODEC_MASTER_MODE_ENABLE == mode) { - p_ab8500_codec_configuration->cr29_if1master = - AB8500_CODEC_CR29_IF1MASTER_FS1CK1_OUTPUT; - } else { - p_ab8500_codec_configuration->cr29_if1master = - AB8500_CODEC_CR29_IF1MASTER_FS1CK1_INPUT; - } - - } else { - - p_ab8500_codec_configuration->cr27_en_mastgen = - AB8500_CODEC_CR27_EN_MASTGEN_ENABLED; - p_ab8500_codec_configuration->cr27_enfs_bitclk0 = - AB8500_CODEC_CR27_ENFS_BITCLK0_ENABLED; - - if (AB8500_CODEC_MASTER_MODE_ENABLE == mode) { - p_ab8500_codec_configuration->cr29_if0master = - AB8500_CODEC_CR29_IF0MASTER_FS0CK0_OUTPUT; - } else { - p_ab8500_codec_configuration->cr29_if0master = - AB8500_CODEC_CR29_IF0MASTER_FS0CK0_INPUT; - } - - } - - ab8500_codec_error = ab8500_codec_UpdateCR27(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR29(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SelectInput */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Select input source for recording. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* input_src: select input source for recording when several sources */ -/* are supported in codec. */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_INVALID_PARAMETER: If input_src provided is invalid */ -/* by the codec hardware in use. */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SelectInput(IN t_ab8500_codec_src - ab8500_codec_src) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER1(" (%lx)", ab8500_codec_src); - - g_ab8500_codec_system_context.ab8500_codec_src = ab8500_codec_src; - - ab8500_codec_error = - ab8500_codec_SetDirection(AB8500_CODEC_DIRECTION_IN); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SelectOutput */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Select output desination for playing. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* output_dest: select output destination for playing when several are */ -/* supported by codec hardware. */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_INVALID_PARAMETER: If output_src provided is invalid */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SelectOutput(IN t_ab8500_codec_dest - ab8500_codec_dest) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - g_ab8500_codec_system_context.ab8500_codec_dest = ab8500_codec_dest; - DBGENTER1(" (%lx)", ab8500_codec_dest); - - ab8500_codec_error = - ab8500_codec_SetDirection(AB8500_CODEC_DIRECTION_OUT); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_PowerDown */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Shuts the audio codec down completely. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* OUT: */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_PowerDown(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - g_ab8500_codec_system_context.ab8500_codec_configuration.cr0_powerup = - AB8500_CODEC_CR0_POWERUP_OFF; - - ab8500_codec_error = ab8500_codec_UpdateCR0(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_PowerUp */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Switch on the audio codec. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_PowerUp(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - DBGENTER(); - - /*g_ab8500_codec_system_context.ab8500_codec_configuration.cr1_swreset = AB8500_CODEC_CR1_SWRESET_ENABLED; Removed by kardad - ab8500_codec_error = ab8500_codec_UpdateCR1(); - if (AB8500_CODEC_OK != ab8500_codec_error) - { - return(ab8500_codec_error); - } */ - - g_ab8500_codec_system_context.ab8500_codec_configuration.cr0_powerup = - AB8500_CODEC_CR0_POWERUP_ON; - g_ab8500_codec_system_context.ab8500_codec_configuration.cr0_enaana = - AB8500_CODEC_CR0_ENAANA_ON; - - ab8500_codec_error = ab8500_codec_UpdateCR0(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SelectInterface */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Select the Audio Interface 0 or 1. */ -/* */ -/* ARGUMENTS */ -/* IN: t_ab8500_codec_audio_interface: The selected interface */ -/* */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_OK: Always. */ -/* REMARK: Call this API before using a function of the low level drivers */ -/* to select the interface that you want to configure */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SelectInterface(IN - t_ab8500_codec_audio_interface - audio_interface) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER0(); - - g_ab8500_codec_system_context.audio_interface = audio_interface; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_GetInterface */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Get the Audio Interface 0 or 1. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: p_audio_interface: Store the selected interface */ -/* RETURN: */ -/* AB8500_CODEC_OK: Always */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Re-Entrant */ -/* REENTRANCY ISSUES: No Issues */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_GetInterface(OUT - t_ab8500_codec_audio_interface - * p_audio_interface) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER0(); - - *p_audio_interface = g_ab8500_codec_system_context.audio_interface; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SetAnalogLoopback */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Sets Line-In to HeadSet loopback with the required gain. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* out_left_volume: play volume for left channel. */ -/* out_right_volume: play volume for right channel. */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SetAnalogLoopback(IN t_uint8 - out_left_volume, - IN t_uint8 - out_right_volume) -{ - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER2(" (%lx %lx)", out_left_volume, out_right_volume); - - if (out_left_volume > AB8500_CODEC_MAX_VOLUME) { - out_left_volume = AB8500_CODEC_MAX_VOLUME; - } - - if (out_right_volume > AB8500_CODEC_MAX_VOLUME) { - out_right_volume = AB8500_CODEC_MAX_VOLUME; - } - - g_ab8500_codec_system_context.out_left_volume = out_left_volume; - g_ab8500_codec_system_context.out_right_volume = out_right_volume; - - p_ab8500_codec_configuration->cr24_lintohsl_gain = - AB8500_CODEC_LINEIN_TO_HS_L_R_VOLUME_MIN + - (out_left_volume * - (AB8500_CODEC_LINEIN_TO_HS_L_R_VOLUME_MAX - - AB8500_CODEC_LINEIN_TO_HS_L_R_VOLUME_MIN)) / 100; - p_ab8500_codec_configuration->cr25_lintohsr_gain = - AB8500_CODEC_LINEIN_TO_HS_L_R_VOLUME_MIN + - (out_right_volume * - (AB8500_CODEC_LINEIN_TO_HS_L_R_VOLUME_MAX - - AB8500_CODEC_LINEIN_TO_HS_L_R_VOLUME_MIN)) / 100; - - ab8500_codec_error = ab8500_codec_UpdateCR24(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR25(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_RemoveAnalogLoopback */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Remove Line-In to HeadSet loopback. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_RemoveAnalogLoopback(void) -{ - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER0(); - - p_ab8500_codec_configuration->cr24_lintohsl_gain = - AB8500_CODEC_LINEIN_TO_HS_L_R_LOOP_OPEN; - p_ab8500_codec_configuration->cr25_lintohsr_gain = - AB8500_CODEC_LINEIN_TO_HS_L_R_LOOP_OPEN; - - ab8500_codec_error = ab8500_codec_UpdateCR24(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR25(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_EnableBypassMode */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Enables IF0 to IF1 path or vice versa */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_EnableBypassMode(void) -{ - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER0(); - - if (AB8500_CODEC_AUDIO_INTERFACE_1 == - g_ab8500_codec_system_context.audio_interface) { - p_ab8500_codec_configuration->cr29_if1datoif0ad = - AB8500_CODEC_CR29_IF1DATOIF0AD_SENT; - p_ab8500_codec_configuration->cr29_if1cktoif0ck = - AB8500_CODEC_CR29_IF1CKTOIF0CK_SENT; - } else { - p_ab8500_codec_configuration->cr29_if0datoif1ad = - AB8500_CODEC_CR29_IF0DATOIF1AD_SENT; - p_ab8500_codec_configuration->cr29_if0cktoif1ck = - AB8500_CODEC_CR29_IF0CKTOIF1CK_SENT; - } - - ab8500_codec_error = ab8500_codec_UpdateCR29(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_DisableBypassMode */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Disables IF0 to IF1 path or vice versa */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_DisableBypassMode(void) -{ - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER0(); - - if (AB8500_CODEC_AUDIO_INTERFACE_1 == - g_ab8500_codec_system_context.audio_interface) { - p_ab8500_codec_configuration->cr29_if1datoif0ad = - AB8500_CODEC_CR29_IF1DATOIF0AD_NOTSENT; - p_ab8500_codec_configuration->cr29_if1cktoif0ck = - AB8500_CODEC_CR29_IF1CKTOIF0CK_NOTSENT; - } else { - p_ab8500_codec_configuration->cr29_if0datoif1ad = - AB8500_CODEC_CR29_IF0DATOIF1AD_NOTSENT; - p_ab8500_codec_configuration->cr29_if0cktoif1ck = - AB8500_CODEC_CR29_IF0CKTOIF1CK_NOTSENT; - } - - ab8500_codec_error = ab8500_codec_UpdateCR29(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SrcPowerControl */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Enables/Disables & UnMute/Mute the desired source */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* t_ab8500_codec_src: select source device for enabling/disabling. */ -/* t_ab8500_codec_src_state: Enable/Disable */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_SrcPowerControl(IN t_ab8500_codec_src - src_device, - t_ab8500_codec_src_state - state) -{ - t_ab8500_codec_error ab8500_codec_error; - - DBGENTER2(" (%lx %lx)", src_device, state); - - if (src_device <= AB8500_CODEC_SRC_D_MICROPHONE_2) { - ab8500_codec_error = - ab8500_codec_SrcPowerControlSwitch1(src_device, state); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else if (src_device <= AB8500_CODEC_SRC_ALL) { - ab8500_codec_error = - ab8500_codec_SrcPowerControlSwitch2(src_device, state); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else { - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR5(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR6(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR7(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR63(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_DestPowerControl */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Enables/Disables & UnMute/Mute the desired destination */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* t_ab8500_codec_dest: select destination device for enabling/disabling. */ -/* t_ab8500_codec_dest_state: Enable/Disable */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_TRANSACTION_FAILED: If transaction fails. */ -/* AB8500_CODEC_OK: if successful. */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_DestPowerControl(IN t_ab8500_codec_dest - dest_device, - t_ab8500_codec_dest_state - state) -{ - t_ab8500_codec_error ab8500_codec_error; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - DBGENTER2(" (%lx %lx)", dest_device, state); - - switch (dest_device) { - case AB8500_CODEC_DEST_HEADSET: - - if (AB8500_CODEC_DEST_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_ENABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_DISABLED; - } else { - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_DISABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_DISABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_ENABLED; - } - break; - - case AB8500_CODEC_DEST_EARPIECE: - - if (AB8500_CODEC_DEST_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_ENABLED; - p_ab8500_codec_configuration->cr9_endacear = - AB8500_CODEC_CR9_ENDACEAR_ENABLED; - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_DISABLED; - } else { - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_DISABLED; - p_ab8500_codec_configuration->cr9_endacear = - AB8500_CODEC_CR9_ENDACEAR_DISABLED; - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_ENABLED; - } - break; - - case AB8500_CODEC_DEST_HANDSFREE: - - if (AB8500_CODEC_DEST_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_ENABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_ENABLED; - p_ab8500_codec_configuration->cr9_endachfl = - AB8500_CODEC_CR9_ENDACHFL_ENABLED; - p_ab8500_codec_configuration->cr9_endachfr = - AB8500_CODEC_CR9_ENDACHFR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_DISABLED; - } else { - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_DISABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_DISABLED; - p_ab8500_codec_configuration->cr9_endachfl = - AB8500_CODEC_CR9_ENDACHFL_DISABLED; - p_ab8500_codec_configuration->cr9_endachfr = - AB8500_CODEC_CR9_ENDACHFR_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_ENABLED; - } - break; - - case AB8500_CODEC_DEST_VIBRATOR_L: - - if (AB8500_CODEC_DEST_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_ENABLED; - p_ab8500_codec_configuration->cr9_endacvibl = - AB8500_CODEC_CR9_ENDACVIBL_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_DISABLED; - p_ab8500_codec_configuration->cr15_pwmtovibl = - AB8500_CODEC_CR15_PWMTOVIBL_PWM; - p_ab8500_codec_configuration->cr15_pwmlctrl = - AB8500_CODEC_CR15_PWMLCTRL_PWMNPLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnlctrl = - AB8500_CODEC_CR15_PWMNLCTRL_PWMNLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmplctrl = - AB8500_CODEC_CR15_PWMPLCTRL_PWMPLDUTYCYCLE; - } else { - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_DISABLED; - p_ab8500_codec_configuration->cr9_endacvibl = - AB8500_CODEC_CR9_ENDACVIBL_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_ENABLED; - p_ab8500_codec_configuration->cr15_pwmtovibl = - AB8500_CODEC_CR15_PWMTOVIBL_DA_PATH; - p_ab8500_codec_configuration->cr15_pwmlctrl = - AB8500_CODEC_CR15_PWMLCTRL_PWMNPLGPOL; - p_ab8500_codec_configuration->cr15_pwmnlctrl = - AB8500_CODEC_CR15_PWMNLCTRL_PWMNLGPOL; - p_ab8500_codec_configuration->cr15_pwmplctrl = - AB8500_CODEC_CR15_PWMPLCTRL_PWMPLGPOL; - } - break; - - case AB8500_CODEC_DEST_VIBRATOR_R: - - if (AB8500_CODEC_DEST_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_ENABLED; - p_ab8500_codec_configuration->cr9_endacvibr = - AB8500_CODEC_CR9_ENDACVIBR_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_DISABLED; - p_ab8500_codec_configuration->cr15_pwmtovibr = - AB8500_CODEC_CR15_PWMTOVIBR_PWM; - p_ab8500_codec_configuration->cr15_pwmrctrl = - AB8500_CODEC_CR15_PWMRCTRL_PWMNPRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnrctrl = - AB8500_CODEC_CR15_PWMNRCTRL_PWMNRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmprctrl = - AB8500_CODEC_CR15_PWMPRCTRL_PWMPRDUTYCYCLE; - } else { - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_DISABLED; - p_ab8500_codec_configuration->cr9_endacvibr = - AB8500_CODEC_CR9_ENDACVIBR_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_ENABLED; - p_ab8500_codec_configuration->cr15_pwmtovibr = - AB8500_CODEC_CR15_PWMTOVIBR_DA_PATH; - p_ab8500_codec_configuration->cr15_pwmrctrl = - AB8500_CODEC_CR15_PWMRCTRL_PWMNPRGPOL; - p_ab8500_codec_configuration->cr15_pwmnrctrl = - AB8500_CODEC_CR15_PWMNRCTRL_PWMNRGPOL; - p_ab8500_codec_configuration->cr15_pwmprctrl = - AB8500_CODEC_CR15_PWMPRCTRL_PWMPRGPOL; - } - break; - - case AB8500_CODEC_DEST_ALL: - - if (AB8500_CODEC_DEST_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_ENABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_ENABLED; - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_ENABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_ENABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_ENABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_ENABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_ENABLED; - - p_ab8500_codec_configuration->cr9_endacear = - AB8500_CODEC_CR9_ENDACEAR_ENABLED; - p_ab8500_codec_configuration->cr9_endachfl = - AB8500_CODEC_CR9_ENDACHFL_ENABLED; - p_ab8500_codec_configuration->cr9_endachfr = - AB8500_CODEC_CR9_ENDACHFR_ENABLED; - p_ab8500_codec_configuration->cr9_endacvibl = - AB8500_CODEC_CR9_ENDACVIBL_ENABLED; - p_ab8500_codec_configuration->cr9_endacvibr = - AB8500_CODEC_CR9_ENDACVIBR_ENABLED; - - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_DISABLED; - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_DISABLED; - - p_ab8500_codec_configuration->cr15_pwmtovibl = - AB8500_CODEC_CR15_PWMTOVIBL_PWM; - p_ab8500_codec_configuration->cr15_pwmlctrl = - AB8500_CODEC_CR15_PWMLCTRL_PWMNPLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnlctrl = - AB8500_CODEC_CR15_PWMNLCTRL_PWMNLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmplctrl = - AB8500_CODEC_CR15_PWMPLCTRL_PWMPLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmtovibr = - AB8500_CODEC_CR15_PWMTOVIBR_PWM; - p_ab8500_codec_configuration->cr15_pwmrctrl = - AB8500_CODEC_CR15_PWMRCTRL_PWMNPRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnrctrl = - AB8500_CODEC_CR15_PWMNRCTRL_PWMNRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmprctrl = - AB8500_CODEC_CR15_PWMPRCTRL_PWMPRDUTYCYCLE; - } else { - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_DISABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_DISABLED; - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_DISABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_DISABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_DISABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_DISABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_DISABLED; - - p_ab8500_codec_configuration->cr9_endacear = - AB8500_CODEC_CR9_ENDACEAR_DISABLED; - p_ab8500_codec_configuration->cr9_endachfl = - AB8500_CODEC_CR9_ENDACHFL_DISABLED; - p_ab8500_codec_configuration->cr9_endachfr = - AB8500_CODEC_CR9_ENDACHFR_DISABLED; - p_ab8500_codec_configuration->cr9_endacvibl = - AB8500_CODEC_CR9_ENDACVIBL_DISABLED; - p_ab8500_codec_configuration->cr9_endacvibr = - AB8500_CODEC_CR9_ENDACVIBR_DISABLED; - - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_ENABLED; - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_ENABLED; - - p_ab8500_codec_configuration->cr15_pwmtovibl = - AB8500_CODEC_CR15_PWMTOVIBL_DA_PATH; - p_ab8500_codec_configuration->cr15_pwmlctrl = - AB8500_CODEC_CR15_PWMLCTRL_PWMNPLGPOL; - p_ab8500_codec_configuration->cr15_pwmnlctrl = - AB8500_CODEC_CR15_PWMNLCTRL_PWMNLGPOL; - p_ab8500_codec_configuration->cr15_pwmplctrl = - AB8500_CODEC_CR15_PWMPLCTRL_PWMPLGPOL; - p_ab8500_codec_configuration->cr15_pwmtovibr = - AB8500_CODEC_CR15_PWMTOVIBR_DA_PATH; - p_ab8500_codec_configuration->cr15_pwmrctrl = - AB8500_CODEC_CR15_PWMRCTRL_PWMNPRGPOL; - p_ab8500_codec_configuration->cr15_pwmnrctrl = - AB8500_CODEC_CR15_PWMNRCTRL_PWMNRGPOL; - p_ab8500_codec_configuration->cr15_pwmprctrl = - AB8500_CODEC_CR15_PWMPRCTRL_PWMPRGPOL; - - } - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_DestPowerControlUpdateCR(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_GetVersion */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* This routine populates the pVersion structure with */ -/* the current version of HCL. */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* p_version: this parameter is used to return current HCL version. */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_ERROR: if p_version is NULL. */ -/* AB8500_CODEC_OK: if successful */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Re-Entrant */ -/* REENTRANCY ISSUES: No Issues */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_GetVersion(OUT t_version * p_version) -{ - DBGENTER1(" (%lx)", p_version); - if (p_version != NULL) { - p_version->minor = AB8500_CODEC_HCL_MINOR_ID; - p_version->major = AB8500_CODEC_HCL_MAJOR_ID; - p_version->version = AB8500_CODEC_HCL_VERSION_ID; - DBGEXIT0(AB8500_CODEC_OK); - return (AB8500_CODEC_OK); - } else { - DBGEXIT0(AB8500_CODEC_INVALID_PARAMETER); - return (AB8500_CODEC_INVALID_PARAMETER); - } -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_SetDbgLevel */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Set the debug level used by the debug module (mask-like value). */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* debug_level: debug level to be set */ -/* OUT: */ -/* None */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_OK: always */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Re-Entrant */ -/* REENTRANCY ISSUES: No Issues */ - -/****************************************************************************/ -/* -PUBLIC t_ab8500_codec_error AB8500_CODEC_SetDbgLevel(IN t_dbg_level dbg_level) -{ - DBGENTER1(" (%d)", dbg_level); - dbg_level = dbg_level; -#ifdef __DEBUG - MY_DEBUG_LEVEL_VAR_NAME = dbg_level; -#endif - DBGEXIT(AB8500_CODEC_OK); - return(AB8500_CODEC_OK); -}*/ - -/****************************************************************************/ -/* NAME: AB8500_CODEC_GetDbgLevel */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Set the debug level used by the debug module (mask-like value). */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* p_dbg_level: this parameter is used to return debug level. */ -/* */ -/* RETURN: */ -/* AB8500_CODEC_ERROR: if p_version is NULL. */ -/* AB8500_CODEC_OK: if successful */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Re-Entrant */ -/* REENTRANCY ISSUES: No Issues */ - -/****************************************************************************/ -/* -PUBLIC t_ab8500_codec_error AB8500_CODEC_GetDbgLevel(OUT t_dbg_level *p_dbg_level) -{ - if (NULL == p_dbg_level) - { - DBGEXIT(AB8500_CODEC_INVALID_PARAMETER); - return(AB8500_CODEC_INVALID_PARAMETER); - } - -#ifdef __DEBUG - * p_dbg_level = MY_DEBUG_LEVEL_VAR_NAME; -#endif - DBGEXIT(AB8500_CODEC_OK); - return(AB8500_CODEC_OK); -} -*/ -/****************************************************************************/ -/* NAME: AB8500_CODEC_ADSlotAllocation */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* AD Data Allocation in slots. */ -/* */ -/* ARGUMENTS */ -/* IN: t_ab8500_codec_slot: The slot to be allocated. */ -/* IN: t_ab8500_codec_cr31_to_cr46_ad_data_allocation: The value */ -/* to be allocated. */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_INVALID_PARAMETER: If invalid slot number */ -/* AB8500_CODEC_OK: if successful. */ -/* REMARK: */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_ADSlotAllocation - (IN t_ab8500_codec_slot ad_slot, - IN t_ab8500_codec_cr31_to_cr46_ad_data_allocation value) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - DBGENTER2(" (%lx %lx)", ad_slot, value); - - if (ad_slot <= AB8500_CODEC_SLOT7) { - ab8500_codec_error = - ab8500_codec_ADSlotAllocationSwitch1(ad_slot, value); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else if (ad_slot <= AB8500_CODEC_SLOT15) { - ab8500_codec_error = - ab8500_codec_ADSlotAllocationSwitch2(ad_slot, value); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else if (ad_slot <= AB8500_CODEC_SLOT23) { - ab8500_codec_error = - ab8500_codec_ADSlotAllocationSwitch3(ad_slot, value); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else if (ad_slot <= AB8500_CODEC_SLOT31) { - ab8500_codec_error = - ab8500_codec_ADSlotAllocationSwitch4(ad_slot, value); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else { - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_DASlotAllocation */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Allocate the Audio Interface slot for DA paths. */ -/* */ -/* ARGUMENTS */ -/* IN: t_ab8500_codec_da_channel_number: Channel number 1/2/3/4/5/6 */ -/* IN: t_ab8500_codec_cr51_to_cr56_sltoda: Slot number */ -/* */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_INVALID_PARAMETER: If invalid channel number */ -/* AB8500_CODEC_OK: if successful. */ -/* REMARK: */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_DASlotAllocation - (IN t_ab8500_codec_da_channel_number channel_number, - IN t_ab8500_codec_cr51_to_cr56_sltoda slot) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - t_ab8500_codec_cr0_powerup ab8500_codec_cr0_powerup; - - DBGENTER2(" (%lx %lx)", channel_number, slot); - - p_ab8500_codec_configuration->cr51_da12_voice = - AB8500_CODEC_CR51_DA12_VOICE_LOWLATENCYFILTER; - - switch (channel_number) { - case AB8500_CODEC_DA_CHANNEL_NUMBER_1: - p_ab8500_codec_configuration->cr51_sltoda1 = slot; - break; - - case AB8500_CODEC_DA_CHANNEL_NUMBER_2: - p_ab8500_codec_configuration->cr52_sltoda2 = slot; - break; - - case AB8500_CODEC_DA_CHANNEL_NUMBER_3: - p_ab8500_codec_configuration->cr53_sltoda3 = slot; - break; - - case AB8500_CODEC_DA_CHANNEL_NUMBER_4: - p_ab8500_codec_configuration->cr54_sltoda4 = slot; - break; - - case AB8500_CODEC_DA_CHANNEL_NUMBER_5: - p_ab8500_codec_configuration->cr55_sltoda5 = slot; - break; - - case AB8500_CODEC_DA_CHANNEL_NUMBER_6: - p_ab8500_codec_configuration->cr56_sltoda6 = slot; - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_cr0_powerup = p_ab8500_codec_configuration->cr0_powerup; - - p_ab8500_codec_configuration->cr0_powerup = - AB8500_CODEC_CR0_POWERUP_OFF; - - ab8500_codec_error = ab8500_codec_UpdateCR0(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR51(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR52(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR53(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR54(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR55(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR56(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - p_ab8500_codec_configuration->cr0_powerup = ab8500_codec_cr0_powerup; - - ab8500_codec_error = ab8500_codec_UpdateCR0(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_ConfigureBurstFifo */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Configuration for Burst FIFO control */ -/* */ -/* ARGUMENTS */ -/* IN: t_ab8500_codec_burst_fifo_config: structure for configuration of */ -/* burst FIFO */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_INVALID_PARAMETER: If invalid parameter */ -/* AB8500_CODEC_UNSUPPORTED_FEATURE: If interface 1 selected */ -/* AB8500_CODEC_OK: if successful. */ -/* REMARK: */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -t_ab8500_codec_error AB8500_CODEC_ConfigureBurstFifo(IN - t_ab8500_codec_burst_fifo_config - const *const - p_burst_fifo_config) -{ - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER1(" (%lx)", p_burst_fifo_config); - - if (AB8500_CODEC_AUDIO_INTERFACE_0 == - g_ab8500_codec_system_context.audio_interface) { - if (AB8500_CODEC_CR27_EN_MASTGEN_ENABLED == - p_ab8500_codec_configuration->cr27_en_mastgen) { - p_ab8500_codec_configuration->cr104_bfifoint = - p_burst_fifo_config->cr104_bfifoint; - - p_ab8500_codec_configuration->cr105_bfifotx = - p_burst_fifo_config->cr105_bfifotx; - - p_ab8500_codec_configuration->cr106_bfifofsext = - p_burst_fifo_config->cr106_bfifofsext; - p_ab8500_codec_configuration->cr106_bfifomsk = - p_burst_fifo_config->cr106_bfifomsk; - p_ab8500_codec_configuration->cr106_bfifomstr = - p_burst_fifo_config->cr106_bfifomstr; - p_ab8500_codec_configuration->cr106_bfifostrt = - p_burst_fifo_config->cr106_bfifostrt; - - p_ab8500_codec_configuration->cr107_bfifosampnr = - p_burst_fifo_config->cr107_bfifosampnr; - - p_ab8500_codec_configuration->cr108_bfifowakeup = - p_burst_fifo_config->cr108_bfifowakeup; - - ab8500_codec_error = ab8500_codec_UpdateCR104(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR105(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR106(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR107(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR108(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else { - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else { - ab8500_codec_error = AB8500_CODEC_UNSUPPORTED_FEATURE; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_EnableBurstFifo */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Enable the Burst FIFO for Interface 0 */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_UNSUPPORTED_FEATURE: If Interface 1 is selected */ -/* AB8500_CODEC_OK: if successful. */ -/* REMARK: */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_EnableBurstFifo(void) -{ - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER0(); - - if (AB8500_CODEC_AUDIO_INTERFACE_0 == - g_ab8500_codec_system_context.audio_interface) { - p_ab8500_codec_configuration->cr29_if0bfifoen = - AB8500_CODEC_CR29_IF0BFIFOEN_BURST_MODE; - - ab8500_codec_error = ab8500_codec_UpdateCR29(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else { - ab8500_codec_error = AB8500_CODEC_UNSUPPORTED_FEATURE; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -/****************************************************************************/ -/* NAME: AB8500_CODEC_DisableBurstFifo */ -/*--------------------------------------------------------------------------*/ -/* DESCRIPTION: */ -/* Disable the Burst FIFO for Interface 0 */ -/* */ -/* ARGUMENTS */ -/* IN: */ -/* None */ -/* OUT: */ -/* None */ -/* RETURN: */ -/* AB8500_CODEC_UNSUPPORTED_FEATURE: If Interface 1 is selected */ -/* AB8500_CODEC_OK: if successful. */ -/* REMARK: */ -/*--------------------------------------------------------------------------*/ -/* REENTRANCY: Non Re-Entrant */ - -/****************************************************************************/ -PUBLIC t_ab8500_codec_error AB8500_CODEC_DisableBurstFifo(void) -{ - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - DBGENTER0(); - - if (AB8500_CODEC_AUDIO_INTERFACE_0 == - g_ab8500_codec_system_context.audio_interface) { - p_ab8500_codec_configuration->cr29_if0bfifoen = - AB8500_CODEC_CR29_IF0BFIFOEN_NORMAL_MODE; - - ab8500_codec_error = ab8500_codec_UpdateCR29(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - } else { - ab8500_codec_error = AB8500_CODEC_UNSUPPORTED_FEATURE; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch1 - (IN t_ab8500_codec_slot ad_slot, - IN t_ab8500_codec_cr31_to_cr46_ad_data_allocation value) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (ad_slot) { - case AB8500_CODEC_SLOT0: - p_ab8500_codec_configuration->cr31_adotoslot0 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR31(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT1: - p_ab8500_codec_configuration->cr31_adotoslot1 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR31(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT2: - p_ab8500_codec_configuration->cr32_adotoslot2 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR32(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT3: - p_ab8500_codec_configuration->cr32_adotoslot3 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR32(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT4: - p_ab8500_codec_configuration->cr33_adotoslot4 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR33(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT5: - p_ab8500_codec_configuration->cr33_adotoslot5 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR33(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT6: - p_ab8500_codec_configuration->cr34_adotoslot6 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR34(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT7: - p_ab8500_codec_configuration->cr34_adotoslot7 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR34(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch2 - (IN t_ab8500_codec_slot ad_slot, - IN t_ab8500_codec_cr31_to_cr46_ad_data_allocation value) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (ad_slot) { - case AB8500_CODEC_SLOT8: - p_ab8500_codec_configuration->cr35_adotoslot8 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR35(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT9: - p_ab8500_codec_configuration->cr35_adotoslot9 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR35(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT10: - p_ab8500_codec_configuration->cr36_adotoslot10 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR36(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT11: - p_ab8500_codec_configuration->cr36_adotoslot11 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR36(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT12: - p_ab8500_codec_configuration->cr37_adotoslot12 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR37(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT13: - p_ab8500_codec_configuration->cr37_adotoslot13 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR37(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT14: - p_ab8500_codec_configuration->cr38_adotoslot14 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR38(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT15: - p_ab8500_codec_configuration->cr38_adotoslot15 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR38(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch3 - (IN t_ab8500_codec_slot ad_slot, - IN t_ab8500_codec_cr31_to_cr46_ad_data_allocation value) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (ad_slot) { - case AB8500_CODEC_SLOT16: - p_ab8500_codec_configuration->cr39_adotoslot16 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR39(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT17: - p_ab8500_codec_configuration->cr39_adotoslot17 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR39(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT18: - p_ab8500_codec_configuration->cr40_adotoslot18 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR40(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT19: - p_ab8500_codec_configuration->cr40_adotoslot19 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR40(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT20: - p_ab8500_codec_configuration->cr41_adotoslot20 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR41(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT21: - p_ab8500_codec_configuration->cr41_adotoslot21 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR41(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT22: - p_ab8500_codec_configuration->cr42_adotoslot22 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR42(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT23: - p_ab8500_codec_configuration->cr42_adotoslot23 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR42(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ADSlotAllocationSwitch4 - (IN t_ab8500_codec_slot ad_slot, - IN t_ab8500_codec_cr31_to_cr46_ad_data_allocation value) { - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (ad_slot) { - case AB8500_CODEC_SLOT24: - p_ab8500_codec_configuration->cr43_adotoslot24 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR43(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT25: - p_ab8500_codec_configuration->cr43_adotoslot25 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR43(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT26: - p_ab8500_codec_configuration->cr44_adotoslot26 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR44(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT27: - p_ab8500_codec_configuration->cr44_adotoslot27 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR44(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT28: - p_ab8500_codec_configuration->cr45_adotoslot28 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR45(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT29: - p_ab8500_codec_configuration->cr45_adotoslot29 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR45(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT30: - p_ab8500_codec_configuration->cr46_adotoslot30 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR46(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - case AB8500_CODEC_SLOT31: - p_ab8500_codec_configuration->cr46_adotoslot31 = value; - - ab8500_codec_error = ab8500_codec_UpdateCR46(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_SrcPowerControlSwitch1(IN - t_ab8500_codec_src - src_device, - t_ab8500_codec_src_state - state) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (src_device) { - case AB8500_CODEC_SRC_LINEIN: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_ENABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_DISABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_DISABLED; - - p_ab8500_codec_configuration->cr7_linrsel = - AB8500_CODEC_CR7_LINRSEL_LINR; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_ENABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_ENABLED; - } else { - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - - p_ab8500_codec_configuration->cr7_linrsel = - AB8500_CODEC_CR7_LINRSEL_MIC2; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - } - break; - - case AB8500_CODEC_SRC_MICROPHONE_1A: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_DISABLED; - - p_ab8500_codec_configuration->cr7_mic1sel = - AB8500_CODEC_CR7_MIC1SEL_MIC1A; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - } else { - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_DISABLED; - } - break; - - case AB8500_CODEC_SRC_MICROPHONE_1B: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_DISABLED; - - p_ab8500_codec_configuration->cr7_mic1sel = - AB8500_CODEC_CR7_MIC1SEL_MIC1B; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - } else { - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_DISABLED; - } - break; - - case AB8500_CODEC_SRC_MICROPHONE_2: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_linrsel = - AB8500_CODEC_CR7_LINRSEL_MIC2; - } else { - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - p_ab8500_codec_configuration->cr7_linrsel = - AB8500_CODEC_CR7_LINRSEL_LINR; - } - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_1: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_ENABLED; - - p_ab8500_codec_configuration->cr63_ad1sel = - AB8500_CODEC_CR63_AD1SEL_DMIC1_SELECTED; - } else { - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - - p_ab8500_codec_configuration->cr63_ad1sel = - AB8500_CODEC_CR63_AD1SEL_LINLADL_SELECTED; - } - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_2: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_ENABLED; - - p_ab8500_codec_configuration->cr63_ad2sel = - AB8500_CODEC_CR63_AD2SEL_DMIC2_SELECTED; - } else { - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - - p_ab8500_codec_configuration->cr63_ad2sel = - AB8500_CODEC_CR63_AD2SEL_LINRADR_SELECTED; - } - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_SrcPowerControlSwitch2(IN - t_ab8500_codec_src - src_device, - t_ab8500_codec_src_state - state) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (src_device) { - case AB8500_CODEC_SRC_D_MICROPHONE_3: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_ENABLED; - - p_ab8500_codec_configuration->cr63_ad3sel = - AB8500_CODEC_CR63_AD3SEL_DMIC3_SELECTED; - } else { - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - - p_ab8500_codec_configuration->cr63_ad3sel = - AB8500_CODEC_CR63_AD3SEL_ADMO_SELECTED; - } - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_4: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_ENABLED; - } else { - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - } - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_5: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_ENABLED; - - p_ab8500_codec_configuration->cr63_ad5sel = - AB8500_CODEC_CR63_AD5SEL_DMIC5_SELECTED; - } else { - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - - p_ab8500_codec_configuration->cr63_ad5sel = - AB8500_CODEC_CR63_AD5SEL_AMADR_SELECTED; - } - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_6: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_ENABLED; - - p_ab8500_codec_configuration->cr63_ad6sel = - AB8500_CODEC_CR63_AD6SEL_DMIC6_SELECTED; - } else { - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - - p_ab8500_codec_configuration->cr63_ad6sel = - AB8500_CODEC_CR63_AD6SEL_ADMO_SELECTED; - } - break; - - case AB8500_CODEC_SRC_ALL: - - if (AB8500_CODEC_SRC_STATE_ENABLE == state) { - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_ENABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_ENABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_ENABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_ENABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_ENABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_ENABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_ENABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_ENABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_ENABLED; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_DISABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_DISABLED; - } else { - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_DISABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - } - break; - case AB8500_CODEC_SRC_FM_RX: - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_SetModeAndDirectionUpdateCR(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - t_ab8500_codec_cr0_powerup ab8500_codec_cr0_powerup; - - ab8500_codec_cr0_powerup = p_ab8500_codec_configuration->cr0_powerup; - - p_ab8500_codec_configuration->cr0_powerup = - AB8500_CODEC_CR0_POWERUP_OFF; - - ab8500_codec_error = ab8500_codec_UpdateCR0(); - if (AB8500_CODEC_OK != ab8500_codec_error) { - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR2(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR3(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR26(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR28(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR30(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR63(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - p_ab8500_codec_configuration->cr0_powerup = ab8500_codec_cr0_powerup; - - ab8500_codec_error = ab8500_codec_UpdateCR0(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_SetSrcVolumeUpdateCR(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - ab8500_codec_error = ab8500_codec_UpdateCR20(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR21(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR22(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR23(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR65(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR66(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR67(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR68(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR69(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR70(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_SetDestVolumeUpdateCR(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - ab8500_codec_error = ab8500_codec_UpdateCR16(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR17(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR18(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR19(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR22(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR23(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR71(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR72(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR73(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR74(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR75(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR76(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR79(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR80(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR101(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR102(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR103(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ProgramDirectionIN(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (g_ab8500_codec_system_context.ab8500_codec_src) { - case AB8500_CODEC_SRC_LINEIN: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_ENABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_ENABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_linrsel = - AB8500_CODEC_CR7_LINRSEL_LINR; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_ENABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_ENABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_DISABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_MICROPHONE_1A: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_mic1sel = - AB8500_CODEC_CR7_MIC1SEL_MIC1A; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_MICROPHONE_1B: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_mic1sel = - AB8500_CODEC_CR7_MIC1SEL_MIC1B; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_MICROPHONE_2: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_ENABLED; - - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - p_ab8500_codec_configuration->cr7_linrsel = - AB8500_CODEC_CR7_LINRSEL_MIC2; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_DISABLED; - - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_1: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_ENABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr63_ad1sel = - AB8500_CODEC_CR63_AD1SEL_DMIC1_SELECTED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_2: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_ENABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr63_ad2sel = - AB8500_CODEC_CR63_AD2SEL_DMIC2_SELECTED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_3: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_ENABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr63_ad3sel = - AB8500_CODEC_CR63_AD3SEL_DMIC3_SELECTED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_4: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_ENABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_5: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_ENABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_DISABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr63_ad5sel = - AB8500_CODEC_CR63_AD5SEL_DMIC5_SELECTED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_D_MICROPHONE_6: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_DISABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_DISABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_DISABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_DISABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_DISABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_DISABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_DISABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_ENABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_DISABLED; - - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_DISABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_DISABLED; - - p_ab8500_codec_configuration->cr63_ad6sel = - AB8500_CODEC_CR63_AD6SEL_DMIC6_SELECTED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_ENABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_ENABLED; - - break; - - case AB8500_CODEC_SRC_ALL: - p_ab8500_codec_configuration->cr5_enlinl = - AB8500_CODEC_CR5_ENLINL_ENABLED; - p_ab8500_codec_configuration->cr5_enlinr = - AB8500_CODEC_CR5_ENLINR_ENABLED; - p_ab8500_codec_configuration->cr5_enmic1 = - AB8500_CODEC_CR5_ENMIC1_ENABLED; - p_ab8500_codec_configuration->cr5_enmic2 = - AB8500_CODEC_CR5_ENMIC2_ENABLED; - p_ab8500_codec_configuration->cr6_endmic1 = - AB8500_CODEC_CR6_ENDMIC1_ENABLED; - p_ab8500_codec_configuration->cr6_endmic2 = - AB8500_CODEC_CR6_ENDMIC2_ENABLED; - p_ab8500_codec_configuration->cr6_endmic3 = - AB8500_CODEC_CR6_ENDMIC3_ENABLED; - p_ab8500_codec_configuration->cr6_endmic4 = - AB8500_CODEC_CR6_ENDMIC4_ENABLED; - p_ab8500_codec_configuration->cr6_endmic5 = - AB8500_CODEC_CR6_ENDMIC5_ENABLED; - p_ab8500_codec_configuration->cr6_endmic6 = - AB8500_CODEC_CR6_ENDMIC6_ENABLED; - p_ab8500_codec_configuration->cr7_enadcmic = - AB8500_CODEC_CR7_ENADCMIC_ENABLED; - p_ab8500_codec_configuration->cr7_enadclinl = - AB8500_CODEC_CR7_ENADCLINL_ENABLED; - p_ab8500_codec_configuration->cr7_enadclinr = - AB8500_CODEC_CR7_ENADCLINR_ENABLED; - - p_ab8500_codec_configuration->cr5_mutlinl = - AB8500_CODEC_CR5_MUTLINL_DISABLED; - p_ab8500_codec_configuration->cr5_mutlinr = - AB8500_CODEC_CR5_MUTLINR_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic1 = - AB8500_CODEC_CR5_MUTMIC1_DISABLED; - p_ab8500_codec_configuration->cr5_mutmic2 = - AB8500_CODEC_CR5_MUTMIC2_DISABLED; - - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_ProgramDirectionOUT(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - t_ab8500_codec_configuration *p_ab8500_codec_configuration = - &g_ab8500_codec_system_context.ab8500_codec_configuration; - - switch (g_ab8500_codec_system_context.ab8500_codec_dest) { - case AB8500_CODEC_DEST_HEADSET: - p_ab8500_codec_configuration->cr7_endrvhsl = - AB8500_CODEC_CR7_ENDRVHSL_ENABLED; - p_ab8500_codec_configuration->cr7_endrvhsr = - AB8500_CODEC_CR7_ENDRVHSR_ENABLED; - - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_DISABLED; - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_ENABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_ENABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_DISABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_DISABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_DISABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_DISABLED; - - p_ab8500_codec_configuration->cr9_endachsl = - AB8500_CODEC_CR9_ENDACHSL_ENABLED; - p_ab8500_codec_configuration->cr9_endachsr = - AB8500_CODEC_CR9_ENDACHSR_ENABLED; - - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_ENABLED; - - p_ab8500_codec_configuration->cr12_encphs = - AB8500_CODEC_CR12_ENCPHS_ENABLED; - - break; - - case AB8500_CODEC_DEST_EARPIECE: - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_ENABLED; - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_DISABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_DISABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_DISABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_DISABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_DISABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_DISABLED; - - p_ab8500_codec_configuration->cr9_endacear = - AB8500_CODEC_CR9_ENDACEAR_ENABLED; - - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_DISABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_ENABLED; - - break; - - case AB8500_CODEC_DEST_HANDSFREE: - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_DISABLED; - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_DISABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_DISABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_ENABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_ENABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_DISABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_DISABLED; - - p_ab8500_codec_configuration->cr9_endachfl = - AB8500_CODEC_CR9_ENDACHFL_ENABLED; - p_ab8500_codec_configuration->cr9_endachfr = - AB8500_CODEC_CR9_ENDACHFR_ENABLED; - - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_ENABLED; - - break; - - case AB8500_CODEC_DEST_VIBRATOR_L: - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_DISABLED; - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_DISABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_DISABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_DISABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_DISABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_ENABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_DISABLED; - - p_ab8500_codec_configuration->cr9_endacvibl = - AB8500_CODEC_CR9_ENDACVIBL_ENABLED; - - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_ENABLED; - - p_ab8500_codec_configuration->cr15_pwmtovibl = - AB8500_CODEC_CR15_PWMTOVIBL_PWM; - p_ab8500_codec_configuration->cr15_pwmlctrl = - AB8500_CODEC_CR15_PWMLCTRL_PWMNPLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnlctrl = - AB8500_CODEC_CR15_PWMNLCTRL_PWMNLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmplctrl = - AB8500_CODEC_CR15_PWMPLCTRL_PWMPLDUTYCYCLE; - - break; - - case AB8500_CODEC_DEST_VIBRATOR_R: - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_DISABLED; - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_DISABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_DISABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_DISABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_DISABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_DISABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_ENABLED; - - p_ab8500_codec_configuration->cr9_endacvibr = - AB8500_CODEC_CR9_ENDACVIBR_ENABLED; - - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_ENABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_ENABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_DISABLED; - - p_ab8500_codec_configuration->cr15_pwmtovibr = - AB8500_CODEC_CR15_PWMTOVIBR_PWM; - p_ab8500_codec_configuration->cr15_pwmrctrl = - AB8500_CODEC_CR15_PWMRCTRL_PWMNPRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnrctrl = - AB8500_CODEC_CR15_PWMNRCTRL_PWMNRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmprctrl = - AB8500_CODEC_CR15_PWMPRCTRL_PWMPRDUTYCYCLE; - - break; - - case AB8500_CODEC_DEST_ALL: - p_ab8500_codec_configuration->cr8_enhsl = - AB8500_CODEC_CR8_ENHSL_ENABLED; - p_ab8500_codec_configuration->cr8_enhsr = - AB8500_CODEC_CR8_ENHSR_ENABLED; - p_ab8500_codec_configuration->cr8_enear = - AB8500_CODEC_CR8_ENEAR_ENABLED; - p_ab8500_codec_configuration->cr8_enhfl = - AB8500_CODEC_CR8_ENHFL_ENABLED; - p_ab8500_codec_configuration->cr8_enhfr = - AB8500_CODEC_CR8_ENHFR_ENABLED; - p_ab8500_codec_configuration->cr8_envibl = - AB8500_CODEC_CR8_ENVIBL_ENABLED; - p_ab8500_codec_configuration->cr8_envibr = - AB8500_CODEC_CR8_ENVIBR_ENABLED; - - p_ab8500_codec_configuration->cr9_endacear = - AB8500_CODEC_CR9_ENDACEAR_ENABLED; - p_ab8500_codec_configuration->cr9_endachfl = - AB8500_CODEC_CR9_ENDACHFL_ENABLED; - p_ab8500_codec_configuration->cr9_endachfr = - AB8500_CODEC_CR9_ENDACHFR_ENABLED; - p_ab8500_codec_configuration->cr9_endacvibl = - AB8500_CODEC_CR9_ENDACVIBL_ENABLED; - p_ab8500_codec_configuration->cr9_endacvibr = - AB8500_CODEC_CR9_ENDACVIBR_ENABLED; - - p_ab8500_codec_configuration->cr10_mutehsl = - AB8500_CODEC_CR10_MUTEHSL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehsr = - AB8500_CODEC_CR10_MUTEHSR_DISABLED; - p_ab8500_codec_configuration->cr10_muteear = - AB8500_CODEC_CR10_MUTEEAR_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfl = - AB8500_CODEC_CR10_MUTEHFL_DISABLED; - p_ab8500_codec_configuration->cr10_mutehfr = - AB8500_CODEC_CR10_MUTEHFR_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibl = - AB8500_CODEC_CR10_MUTEVIBL_DISABLED; - p_ab8500_codec_configuration->cr10_mutevibr = - AB8500_CODEC_CR10_MUTEVIBR_DISABLED; - - p_ab8500_codec_configuration->cr15_pwmtovibl = - AB8500_CODEC_CR15_PWMTOVIBL_PWM; - p_ab8500_codec_configuration->cr15_pwmlctrl = - AB8500_CODEC_CR15_PWMLCTRL_PWMNPLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnlctrl = - AB8500_CODEC_CR15_PWMNLCTRL_PWMNLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmplctrl = - AB8500_CODEC_CR15_PWMPLCTRL_PWMPLDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmtovibr = - AB8500_CODEC_CR15_PWMTOVIBR_PWM; - p_ab8500_codec_configuration->cr15_pwmrctrl = - AB8500_CODEC_CR15_PWMRCTRL_PWMNPRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmnrctrl = - AB8500_CODEC_CR15_PWMNRCTRL_PWMNRDUTYCYCLE; - p_ab8500_codec_configuration->cr15_pwmprctrl = - AB8500_CODEC_CR15_PWMPRCTRL_PWMPRDUTYCYCLE; - - break; - - default: - ab8500_codec_error = AB8500_CODEC_INVALID_PARAMETER; - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} - -PRIVATE t_ab8500_codec_error ab8500_codec_DestPowerControlUpdateCR(void) -{ - t_ab8500_codec_error ab8500_codec_error = AB8500_CODEC_OK; - - ab8500_codec_error = ab8500_codec_UpdateCR8(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR9(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR10(); - if (ab8500_codec_error != AB8500_CODEC_OK) { - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); - } - - ab8500_codec_error = ab8500_codec_UpdateCR15(); - - DBGEXIT(ab8500_codec_error); - return (ab8500_codec_error); -} |