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

📄 custom_equipment.c

📁 最新MTK手机软件源码
💻 C
📖 第 1 页 / 共 2 页
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/

/*****************************************************************************
 *
 * Filename:
 * ---------
 *   custom_equipment.c
 *
 * Project:
 * --------
 *   Maui_Software
 *
 * Description:
 * ------------
 *   The file contains definition of custom component module configuration
 *   variables, and routines handle for equipment device.
 *
 * Author:
 * -------
 * -------
 *
 *============================================================================
 *             HISTORY
 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *------------------------------------------------------------------------------
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 *
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 * removed!
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/
#ifndef __L1_STANDALONE__

/*
**   Includes
*/
#include "kal_release.h"
#include "stack_types.h"
#include "syscomp_config.h"
#include "custom_config.h"
#include "stack_buff_pool.h"
#include "ctrl_buff_pool.h"

#include "device.h"
#include "l1audio.h"
#include "resource_audio.h"
#include "custom_equipment.h"
#include "custom_hw_default.h"
#include "custom_em.h"

/*
**   Typedefs
*/

/*
**   Defines
*/

/* 
**   Extern Functions
*/
#ifndef __CUST_NEW__
extern void GPIO_WriteIO(char data, char port);
extern void PWM_level(kal_uint8 level);
extern void PWM2_level(kal_uint8 level);
extern void PWM2_Configure(kal_uint32 freq, kal_uint8 duty);
extern void PWM2_Start(void);
extern void PWM2_Stop(void);
#endif /* __CUST_NEW__ */
//extern void Alter_level(kal_uint8 level);

/* 
**   Extern Varibales 
*/


/* 
**   Globol Varibales 
*/

/* 
**   Local Functions 
*/

/* 
**   Local Variables 
*/
static kal_uint8  l_ext_device_id = EXT_DEV_NONE;

#ifndef __CUST_NEW__
/***********************************************************
  **
  **  GPIO MAPPING TABLE
  **
  ***********************************************************/

const unsigned char netname[][MAX_NETNAME_TEXT] = {
/*0,  GPIO_LABEL_CAMERA_PWR_EN */	"GP1_CAMPWREN",
/*1,  GPIO_LABEL_CMLIGHT_EN */  "GP2_CMlight_EN",
/*2,  GPIO_LABEL_BT_DATASEL */  "GP3_BTDATA",
/*3,  GPIO_LABEL_BT_DISCON */   "GP4_BTDISCON",
/*4,  GPIO_LABEL_LCM_BL_EN */   "GP5_LCMBLEN",
/*5,  GPIO_LABEL_CMFLASH_EN */  "GP6_CMFLASH",
/*6,  GPIO_LABEL_VIB_EN */      "GP7_VIBEN",
/*7,  GPIO_LABELID_RLED_EN */     "GP0_RLEDEN",
/*8,  GPIO_LABELID_BT_AUDIOSEL */  "GP10_BTAUDIO",
/*9,  GPIO_LABELID_PRE_LED_EN  */  "GPIO11_PRELEDEN",
/*10, GPIO_LABELID_BTPWR_EN  */    "GPIO12_BTPWREN",
/*11, GPIO_LABELID_CHR_CTL  */     "GP31_CHRCTL",
/*12, GPIO_LABELID_BT_RESET */     "GP39_BTRESET",
/*13, GPIO_LABELID_BLED_EN  */     "GP38_BLED_EN",
/*14, GPIO_LABELID_KELEDPWM  */    "GP23_KPLEDPWM",
/*15, GPIO_LABELID_GLED_EN   */    "GPIO52_GLED0",
/*16, GPIO_LABEL_OP1_ON */         "GPO1_OPON",
/*17, GPIO_LABEL_OP2_ON */         "GP54_OPON",
/*18, GPIO_LABEL_USB_EN */ 	     "GPO2_USBEN",
   "GPIO#19",
   "GPIO#20",
   "GPO#0",
   "GPO#1",
   "GPO#2"
};



GPIO_MAP_ENTRY gpio_map_tbl[] = {
/*GPIO_LABEL_CAMERA_PWR_EN */		{GPIO_VAILD, GPIO_PORT_1, netname[0], NULL },
/*GPIO_LABEL_CMLIGHT_EN */  	{GPIO_VAILD, GPIO_PORT_2, netname[1], NULL },
/*GPIO_LABEL_BT_DATASEL */    {GPIO_VAILD, GPIO_PORT_3, netname[2], NULL },
/*GPIO_LABEL_BT_DISCON */      	{GPIO_VAILD, GPIO_PORT_4, netname[3], NULL },
/*GPIO_LABEL_LCM_BL_EN */      	{GPIO_VAILD, GPIO_PORT_5, netname[4], NULL },
/*GPIO_LABEL_CMFLASH_EN */      	{GPIO_VAILD, GPIO_PORT_6, netname[5], NULL },
/*GPIO_LABEL_VIB_EN  */      	{GPIO_VAILD, GPIO_PORT_7, netname[6], NULL },
/*GPIO_LABELID_RLED_EN */      	{GPIO_VAILD, GPIO_PORT_0, netname[7], NULL },
/*GPIO_LABEL_BT_AUDIOSEL */      	{GPIO_VAILD, GPIO_PORT_10, netname[8], NULL },
/*GPIO_LABEL_PRE_LED_EN */ 	{GPIO_VAILD, GPIO_PORT_11, netname[9], NULL },
/*GPIO_LABELID_BTPWR_EN */       {GPIO_VAILD, GPIO_PORT_12, netname[10], NULL },
/*GPIO_LABELID_CHR_CTL */     {GPIO_VAILD, GPIO_PORT_31, netname[11], NULL },
/*GPIO_LABELID_BT_RESET */      {GPIO_VAILD, GPIO_PORT_39, netname[12], NULL },
/*GPIO_LABELID_BLED_EN */      {GPIO_VAILD, GPIO_PORT_38, netname[13], NULL },
/*GPIO_LABELID_KELEDPWM */      {GPIO_VAILD, GPIO_PORT_23, netname[14], NULL },
/*GPIO_LABELID_GLED_EN */      {GPIO_VAILD, GPIO_PORT_52, netname[15], NULL },
/*GPIO_LABELID_OP1_ON  */      {GPIO_VAILD, GPO_PORT_1, netname[16], NULL },
/*GPIO_LABELID_OP2_ON*/      {GPIO_VAILD, GPIO_PORT_54, netname[17], NULL },
/* GPIO_LABEL_USB_EN */		  {GPIO_VAILD, GPO_PORT_2, netname[18], NULL },
/*GPIO_LABELID_19 */      {GPIO_INVAILD, GPIO_PORT_19, netname[GPIO_PORT_19], NULL },
/*GPIO_LABELID_20 */      {GPIO_INVAILD, GPIO_PORT_20, netname[GPIO_PORT_20], NULL },
/*GPO_LABELID_0 */    	  {GPIO_INVAILD, 0, netname[21], NULL },
/*GPO_LABELID_1 */     	  {GPIO_INVAILD, 0, netname[22], NULL },
/*GPO_LABELID_2 */        {GPIO_INVAILD, 0, netname[23], NULL }
};

/***********************************************************
  **
  **  EINT MAPPING TABLE  ( Execution Table )
  **
  ***********************************************************/

const unsigned char eintname[][MAX_NETNAME_TEXT] = {
   "Earphone",
   "Cable",
   "Charger",
   "Bluetooth"

   
  
 
   
};

GPIO_MAP_ENTRY eint_map_tbl[] = {
/*EINT_LABELID_0 */      {GPIO_VAILD, 0, eintname[0], NULL },
/*EINT_LABELID_1 */      {GPIO_VAILD, 1, eintname[1], NULL },
/*EINT_LABELID_2 */      {GPIO_VAILD, 1, eintname[2], NULL },
/*EINT_LABELID_3 */      {GPIO_VAILD, 1, eintname[3], NULL },
/*EINT_LABELID_4 */      {GPIO_INVAILD, 2, eintname[4], NULL },
};



/***********************************************************
  **
  **  ADC MAPPING TABLE  ( Execution Table )
  **
  ***********************************************************/
const unsigned char adcname[][MAX_NETNAME_TEXT] = {
   "VBAT",
   "Current",
   "BTemp",
   "VChgr",
   "VAUX",
   
};

GPIO_MAP_ENTRY adc_map_tbl[] = {
/*ADC_LABELID_0 */      {GPIO_VAILD, 0, adcname[0], NULL },
/*ADC_LABELID_1 */      {GPIO_VAILD, 1, adcname[1], NULL },
/*ADC_LABELID_2 */      {GPIO_VAILD, 2, adcname[2], NULL },
/*ADC_LABELID_3 */      {GPIO_VAILD, 3, adcname[3], NULL },
/*ADC_LABELID_4 */      {GPIO_VAILD, 4, adcname[4], NULL },
};
#endif /* __CUST_NEW__*/

/* 
*   Function 
*      custom_cfg_audio_ec_range
*   DESCRIPTION
*      The function is used to customize the audio volume level for echo cancellation.
*     And it will be used by media task.
*   PARAMETERS
* 	   min_vol   min volume level  
* 	   max_vol   max volume level  
*   RETURNS
*      void
*   GLOBALS AFFECTED
*/
void custom_cfg_audio_ec_range
(
 kal_uint8 *min_vol, /* min volume level */
 kal_uint8 *max_vol /* max volume level */
 )
{   
   ASSERT(min_vol!=NULL && max_vol!=NULL);

   *min_vol=1;
   *max_vol=6;
}



/* 
*   Function 
*      custom_cfg_audio_out_device
*   DESCRIPTION
*      The function is used to customize the audio output path.
*     And it will be used by audio manager.
*   PARAMETERS
*      audio_sound_id      IN
*     out_device_path      IN/OUT
*   RETURNS
*      kal_bool

⌨️ 快捷键说明

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