⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triton_audio.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
📖 第 1 页 / 共 3 页
字号:
{
  UWORD8 auto_charge = 0x00;
//Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);

  if (carkit_charge == AUDIO_CARKIT_CHARGE_AUTO) 
    auto_charge += 0x08; 

  if (auxo_charge == AUDIO_AUXO_CHARGE_AUTO) 
    auto_charge += 0x04; 

  if (ear_charge == AUDIO_EAR_CHARGE_AUTO) 
    auto_charge += 0x02; 

  if (hso_charge == AUDIO_HSO_CHARGE_AUTO) 
    auto_charge += 0x01; 

  if (auto_charge != 0x00)
    MSI2C_MasterPollingSendAbb(AUDIO_POPAUTO, auto_charge ); 

  if (auto_charge != 0x0F)
    MSI2C_MasterPollingSendAbb(AUDIO_POPMAN, (carkit_charge | auxo_charge | ear_charge | hso_charge));

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Stereo_Sampling_Rate_Freq
//
// DESCRIPTION : this function sets stereo sampling rate frequency
//
// PARAMETERS  :  stereo_sample_rate_freq
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_48KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_44_1KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_32KHz 
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_24KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_22_05KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_16KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_12KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_11_025KHz
//                    AUDIO_STEREO_SAMPLE_RATE_FREQ_8KHz
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Stereo_Sampling_Rate_Freq(UWORD8 stereo_sample_rate_freq)
{
  UWORD8 reg_val;

//Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);

  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL5);
  reg_val = ( ( reg_val & 0xF0 ) | ( stereo_sample_rate_freq & 0x0F) );
  MSI2C_MasterPollingSendAbb( AUDIO_CTRL5, reg_val );

  return;
}
//---------------------------------------------------------------------
// NAME        :  Triton_PLL_settings
//
// DESCRIPTION : this function sets all PLL's
//
// PARAMETERS  :  audio_stereo_pll_power
//                    AUDIO_STEREO_PLL_POWER_ON
//                    AUDIO_STEREO_PLL_POWER_OFF
//                audio_stereo_pll_speedup
//                    AUDIO_STEREO_PLL_SPEEDUP_ACTIVE
//                    AUDIO_STEREO_PLL_SPEEDUP_INACTIVE
//                voice_pll_power
//                    AUDIO_VOICE_PLL_POWER_ON
//                    AUDIO_VOICE_PLL_POWER_OFF
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_PLL_Settings(UWORD8 audio_stereo_pll_power, UWORD8 audio_stereo_pll_speedup, UWORD8 voice_pll_power)
{
//Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL6, ( ( audio_stereo_pll_power | audio_stereo_pll_speedup | voice_pll_power ) & 0x1F ) );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Audio_Inputs_Selection
//
// DESCRIPTION : this function selects triton audio inputs
//
// PARAMETERS  :  audio_input_select
//                    AUDIO_INPUT_NONE
//                    AUDIO_INPUT_MIC
//                    AUDIO_INPUT_HSMIC_FMR_GAIN_4_9dB
//                    AUDIO_INPUT_HSMIC_FMR_GAIN_25_6dB
//                    AUDIO_INPUT_FM_STEREO
//                    AUDIO_INPUT_HSMIC
//                    AUDIO_INPUT_FMR_GAIN_4_9dB
//                    AUDIO_INPUT_FMR_GAIN_28_2dB
//                    AUDIO_INPUT_FML
//                    AUDIO_INPUT_CARKIT_MONO
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Audio_Inputs_Selection(UWORD8 audio_input_select)
{
  UWORD8 reg_val;
  
//Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL3);
  reg_val = ( ( reg_val & 0xF0 ) | ( audio_input_select & 0x0F) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL3, reg_val );

  return;
}
//---------------------------------------------------------------------
// NAME        :  Triton_Speaker_Amp_Gain_Settings
//
// DESCRIPTION : this function sets speaker amplifier gain
//
// PARAMETERS  :  spkamp_gain
//                    AUDIO_SPKAMP_GAIN__22_5dB
//                    AUDIO_SPKAMP_GAIN__3_5dB
//                    AUDIO_SPKAMP_GAIN_2_5dB
//                    AUDIO_SPKAMP_GAIN_8_5dB
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Speaker_Amp_Gain_Settings(UWORD8 spkamp_gain)
{
  UWORD8 reg_val;
  
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL3);
  reg_val = ( ( reg_val & 0x8F ) | ( spkamp_gain & 0x70 ) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL3, reg_val );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Ear_Amp_Gain_Settings
//
// DESCRIPTION : this function sets ear amplifier gain
//
// PARAMETERS  :  earamp_gain
//                    AUDIO_EAR_AMP__11dB
//                    AUDIO_EAR_AMP_1dB
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Ear_Amp_Gain_Settings(UWORD8 earamp_gain)
{
  UWORD8 reg_val;
  
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL5);
  reg_val = ( ( reg_val & 0xDF ) | ( earamp_gain & 0x20 ) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL5, reg_val );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Hook_Enable
//
// DESCRIPTION : this function sets ear amplifier gain
//
// PARAMETERS  :  hook_sel
//                    AUDIO_HOOK_ENABLE
//                    AUDIO_HOOK_DISABLE
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Hook_Enable(UWORD8 hook_sel)
{
  UWORD8 reg_val;
  
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL5);
  reg_val = ( ( reg_val & 0xEF ) | ( hook_sel & 0x10 ) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL5, reg_val );

  return;
}

//---------------------------------------------------------------------
// NAME        :  Triton_Hand_Free_Activation
//
// DESCRIPTION : this function 
//
// PARAMETERS  :  hand_free_activation
//                    AUDIO_HAND_FREE_DIG_PART_ACTIVE
//                    AUDIO_HAND_FREE_DIG_PART_INACTIVE
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Hand_Free_Activation(UWORD8 hand_free_activation)
{
  UWORD8 reg_val;
  
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL3);
  reg_val = ( ( reg_val & 0x7F ) | ( hand_free_activation & 0x80 ) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL3, reg_val );

  return;
}
//---------------------------------------------------------------------
// NAME        :  Triton_Voice_Memo_Activation
//
// DESCRIPTION : this function activates voice memo application
//
// PARAMETERS  :  voice_memo_activation
//                    AUDIO_VOICE_MEMO_ACTIVE
//                    AUDIO_VOICE_MEMO_INACTIVE
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_Voice_Memo_Activation(UWORD8 voice_memo_activation)
{
  UWORD8 reg_val;
  
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL4);
  reg_val = ( ( reg_val & 0x7F ) | ( voice_memo_activation & 0x80 ) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL4, reg_val );

  return;
}
//---------------------------------------------------------------------
// NAME        :  Triton_I2S_Power
//
// DESCRIPTION : this function sets I2S power on/off
//
// PARAMETERS  :  i2s_power
//                    AUDIO_I2S_ON
//                    AUDIO_I2S_OFF
//
// RETURN VALUE: none
//              
//
// LIMITATIONS : None
//---------------------------------------------------------------------
void Triton_I2S_Power(UWORD8 i2s_power)
{
  UWORD8 reg_val;
  
  //Init I2C Interface
  MSI2C_InitConnectionAbb();
  MSI2C_AccessPage(AUDIO_page);
  
  reg_val = MSI2C_MasterPollingReceiveAbb(AUDIO_CTRL4);
  reg_val = ( ( reg_val & 0xBF ) | ( i2s_power & 0x40 ) );

  MSI2C_MasterPollingSendAbb( AUDIO_CTRL4, reg_val );

  return;
}
//---------------------------------------------------------------------
// NAME        :  Triton_Audio_Stereo_Settings
//

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -