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

📄 device.h

📁 最新MTK手机软件源码
💻 H
📖 第 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:
 * ---------
 * DEVICE.H
 *
 * Project:
 * --------
 *   MAUI
 *
 * Description:
 * ------------
 *   This file is intends for definition of all hardware device requirement.
 *
 * 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!
 *
 *------------------------------------------------------------------------------
 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
 *============================================================================
 ****************************************************************************/

/********************************************************************************
*  Copyright Statement:
*  --------------------
*
*  This product has been developed using a protocol stack
*  developed by Sasken Communication Technologies Limited.
*
********************************************************************************/


#ifndef _DEVICE_H
#define _DEVICE_H

/***************************************************************************** 
* Include
*****************************************************************************/
#include "pmic6318_sw.h"


/***************************************************************************** 
* Define
*****************************************************************************/
/* Add by Yuchuan */
#define UEM_GREETING_LEN      62
#define UEM_EQUIP_ID_LEN      30

/* Define the ring compose capability */
#define MAX_RING_COMPOSE_NUM        5
#define MAX_RING_COMPOSE_LEN        300

/* Define the display text maximum len */
#define UEM_DISPLAY_TEXT_LEN  30
#define UEM_MAX_GREETING_LEN  30


/***************************************************************************** 
* Typedef
*****************************************************************************/
typedef enum {
   L4_BCD = 0x01,
   L4_ASCII = 0x04,
   L4_UCS2 = 0x08
} L4_charset_enum;


typedef enum {
   MMI_PS_AT_LANG_DEFAULT,
   MMI_PS_AT_LANG_UNKWN,
   MMI_PS_AT_LANG_EN,
   MMI_PS_AT_LANG_TW,
   MMI_PS_AT_LANG_ZH,
   MMI_PS_AT_LANG_LAST
} L4_AT_lang_enum;


/***************************************************************************** 
* Audio Interface 
*****************************************************************************/
   
/* Define the audio device type */
typedef enum {
    AUDIO_DEVICE_SPEAKER = 0  ,     /* Tone, Keypad sound to play on audio device. */
    AUDIO_DEVICE_MICROPHONE   ,     /* Microphone sound to send on audio device. */
    AUDIO_DEVICE_BUZZER       ,     /* Ring tone sound to play on audio device. */
    AUDIO_DEVICE_GMI          ,     /* MIDI/Melody sound to play on audio device */
    AUDIO_DEVICE_SPEAKER2     ,     /* earphone, carkit */
    AUDIO_DEVICE_LOUDSPEAKER  ,     /* loudspeaker for free sound */
    AUDIO_DEVICE_SPEAKER_BOTH ,
    MAX_AUDIO_DEVICE_NUM      
}audio_type_enum;


/* Define the audio device type */
typedef enum {
    AUDIO_DEVICE_MIC1 = 0 ,    /* ME */
    AUDIO_DEVICE_MIC2     ,    /* Headset */
    AUDIO_DEVICE_FMRR          /* FM Radio */
}audio_input_path_enum;


/* Define volume category */
typedef enum {
    VOL_NORMAL   = 0 ,
    VOL_HEADSET      ,  
    VOL_HANDFREE     ,  
    MAX_VOL_CATE,
    VOL_TV_OUT = MAX_VOL_CATE
}volume_category_enum;


/* Define volume type.*/
typedef enum {
    VOL_TYPE_CTN  = 0 ,   /* MMI can apply to associate volume; call tone attribute */
    VOL_TYPE_KEY      ,   /* MMI can apply to associate volume; keypad tone attribute */
    VOL_TYPE_MIC      ,   /* microphone attribute */
    VOL_TYPE_GMI      ,   /* MMI can apply to associate volume; melody, imelody, midi attribute */
    VOL_TYPE_SPH      ,   /* MMI can apply to associate volume; speech sound attribute */
    VOL_TYPE_SID	  ,   /* side tone attribute */
    VOL_TYPE_MEDIA    ,   /* MMI can apply to associate volume; As MP3, Wave,... attribute */
    MAX_VOL_TYPE           
}volume_type_enum;


/* Volume level. based index is from 0..(MAX_VOL_LEVEL-1) */
#define MAX_VOL_LEVEL               7



/* Define the audio play style. */
typedef enum {
    DEVICE_AUDIO_PLAY_CRESCENDO  = 0 ,  /* Play sound for crescendo. */
    DEVICE_AUDIO_PLAY_INFINITE       ,  /* Play sound for infinite. */
    DEVICE_AUDIO_PLAY_ONCE           ,  /* Play sound for once. */
    DEVICE_AUDIO_PLAY_DESCENDO         /* Play sound for descendo. */
}audio_play_style_enum;


typedef struct {
   kal_uint8 first_out_amp[MAX_AUDIO_DEVICE_NUM][MAX_VOL_LEVEL];
   kal_uint8 second_out_amp[MAX_AUDIO_DEVICE_NUM][MAX_VOL_LEVEL];
   kal_uint8 side[MAX_AUDIO_DEVICE_NUM][MAX_VOL_LEVEL];
   kal_uint8 volume[MAX_AUDIO_DEVICE_NUM];
} acoustic_gain_struct;


/***************************************************************************** 
* Keypad  Interface 
*****************************************************************************/

/* Define the keypad status. */
typedef enum {
    KEY_PRESSED        = 0   /* Keypad is pressed. */
    ,KEY_RELEASED            /* Keypad is released. */
    ,KEY_LONGPRESS           /* Keypad is longpressed. */
    ,KEY_REPEATED            /* Keypad is repeated. */
#ifdef TWO_KEY_ENABLE
    ,KEY_PRESSED_TWOKEY      /* Two Keypad is pressed. */
    ,KEY_RELEASED_TWOKEY     /* Two Keypad is released. */
#endif   /*TWO_KEY_ENABLE*/
}keypad_status_enum;


/* Define the keypad code value. */
typedef kal_uint8 keypad_code_enum;


/***************************************************************************** 
* RTC  Interface 
*****************************************************************************/

/* Define the RTC type. */
typedef enum {
    RTC_TIME_CLOCK_IND  = 0 , /* The time clock indication. */
    RTC_ALARM_IND             /* The alarm indication */
}rtc_type_enum;


/* Define the type to setting RTC. */
typedef enum {
    RTC_SETTING_TYPE_DATETIME  = 0 , 
    RTC_SETTING_TYPE_DATE          ,
    RTC_SETTING_TYPE_TIME             
}rtc_setting_type_enum;

/* Define the RTC alarm id. */
typedef kal_uint8 rtc_alarm_id_enum;
#define RTC_ALARM1_IND     0 /* The alarm indication */
#define RTC_ALARM2_IND     1 /* The alarm indication */
#define RTC_ALARM3_IND     2 /* The alarm indication */
#define MAX_ALARM_NUM      3

/* Define the Alarm type */
typedef enum {
    RTC_ALARM_VIBRATOR  = 0x01 , 
    RTC_ALARM_LED       = 0x02 , 
    RTC_ALARM_SOUND     = 0x04 , 
    RTC_ALARM_SILENT    = 0x08 
}rtc_alarm_type_enum;


/* Define the Alarm recurr */
typedef enum {
 RTC_ALARM_DAY1    = 0x01 ,
 RTC_ALARM_DAY2    = 0x02 ,
 RTC_ALARM_DAY3    = 0x04 ,
 RTC_ALARM_DAY4    = 0x08 ,
 RTC_ALARM_DAY5    = 0x10 ,
 RTC_ALARM_DAY6    = 0x20 ,
 RTC_ALARM_DAY7    = 0x40 ,
 RTC_ALARM_DAY_ALL = 0x7F
}rtc_alarm_recurr_enum;

/* Define the Date/Time format type. */
typedef enum {
    DATE_DD_MMM_YYYY  = 1 
/*
    ,DATE_DD_MM_YY_H     
    ,DATE_MM_DD_YY       
    ,DATE_DD_MM_YY_S     
    ,DATE_DD_MM_YY_P     
    ,DATE_YYMMDD         
    ,DATE_YY_MM_DD       
*/

    ,DATE_DD_MM_YYYY_S 	  = 8
    ,DATE_MM_DD_YYYY_S		
    ,DATE_YYYY_MM_DD_S		
    ,DATE_YYYY_MM_DD_H		
    ,DATE_MMM_DD_YYYY		
}date_format_enum;


#define   DATE_AUX_YY_MM_DD   1
#define   DATE_AUX_YYYY_MM_DD 2


typedef enum {
    TIME_HH_MM_24 = 1 ,
    TIME_HH_MM_12    
}time_format_enum;


/* Define the RTC clock/alarm format type. */
/* Could be rtc_alarm_format_enum or rtc_clock_format_enum */
typedef kal_uint8 rtc_format_enum; 


/*Y:Year,M:Month,W:DOW,D:DOM,H:Hour,M:Min,S:SEC*/
typedef enum {
    DEVICE_AL_EN_None     = 0 ,
    DEVICE_AL_EN_ChkS         ,
    DEVICE_AL_EN_ChkMS        ,
    DEVICE_AL_EN_ChkHMS       ,
    DEVICE_AL_EN_ChkDHMS      ,
    DEVICE_AL_EN_ChkWHMS      ,
    DEVICE_AL_EN_ChkMDHMS     ,
    DEVICE_AL_EN_ChkYMDHMS    ,
    DEVICE_AL_EN_NoChange    
}rtc_alarm_format_enum;


typedef enum {
    DEVICE_TC_EN_None    = 0 ,
    DEVICE_TC_EN_ChkS        ,
    DEVICE_TC_EN_ChkM        ,
    DEVICE_TC_EN_ChkH        ,
    DEVICE_TC_EN_ChkD        ,
    DEVICE_TC_EN_ChkW        ,
    DEVICE_TC_EN_ChkMon      ,
    DEVICE_TC_EN_ChkY        ,
    DEVICE_TC_EN_NoChange        
}rtc_clock_format_enum;

/* Define the alarm status. */
typedef enum {
    ALARM_STATUS_ON_POWEROFF_CHARING  =0 , /* The alarm is started when it's power off with charging status. */
    ALARM_STATUS_ON_POWEROFF             , /* The alarm is started when it's power off status without charging. */
    ALARM_STATUS_ON_POWERON                /* The alarm is started when it's power on status. */
}alarm_status_enum;


/* Define the calling status */
typedef enum {
  UEM_CALL_UNKNOW     = 0 ,
  UEM_CALL_SETUP          , 
  UEM_CALL_CONNECT        ,
  UEM_CALL_DISCONNECT           
}uem_call_state_enum;


/***************************************************************************** 
* GPIO / EINT  Interface 
*****************************************************************************/

/* Define the internal GPIO device type. */
/* Becareful!!!! 
   MAX_GPIO_DEVICE_NUM Will impact the size of uem_context_rmi_struct data item !!!!! */

typedef enum {
    GPIO_DEV_LED_MAINLCD   = 0 ,  /* Main LCD backlight */
    GPIO_DEV_LED_SUBLCD        ,  /* Sub LCD backlight */
    GPIO_DEV_LED_STATUS_1      ,  /* Status LED  R*/
    GPIO_DEV_LED_STATUS_2      ,  /* Status LED  G*/
    GPIO_DEV_LED_STATUS_3      ,  /* Status LED   B*/
    GPIO_DEV_LED_KEY           ,  /* Keypad backlight */
    GPIO_DEV_VIBRATOR          ,  /* Vibrator */
    GPIO_DEV_FLASHLIGHT        ,  /* FlashLight */
    GPIO_DEV_RESERVED1         ,  /* Reserve_1 */
    GPIO_DEV_RESERVED2         ,  /* Reserve_2 */
    GPIO_DEV_RESERVED3         ,  /* Reserve_3 */
    GPIO_DEV_RESERVED4         ,  /* Reserve_4 */
    GPIO_DEV_RESERVED5         ,  /* Reserve_4 */
    GPIO_DEV_RESERVED6         ,  /* Reserve_4 */
    GPIO_DEV_RESERVED7         ,  /* Reserve_4 */
    GPIO_DEV_RESERVED8         ,  /* Reserve_4 */
    GPIO_DEV_RESERVED9         ,  /* Reserve_4 */
    GPIO_DEV_RESERVED10        ,  /* Reserve_4 */
    GPIO_DEV_RESERVED11        ,  /* Reserve_4 */
    GPIO_DEV_RESERVED12        ,  /* Reserve_4 */
    MAX_GPIO_DEVICE_NUM           
}gpio_device_enum;


/* Define the LED light level. For LCD bright level, Keypad backlight,  Flashlight */
typedef enum {
    LED_LIGHT_LEVEL0   =0  ,  /* turn off */
    LED_LIGHT_LEVEL1       ,
    LED_LIGHT_LEVEL2       ,
    LED_LIGHT_LEVEL3       ,
    LED_LIGHT_LEVEL4       ,
    LED_LIGHT_LEVEL5       ,
    LED_LIGHT_LEVEL_MAX     
}gpio_device_led_level_typedef;


/* Define the Vibrator level. */
typedef enum {
    VIBRATOR_OFF  =0 ,  /* turn off */
    VIBRATOR_ON         /* turn on */     
}gpio_device_vibrator_level_typedef;


typedef enum {
    AUD_MODE_NORMAL   =0 , /* Normal Mode */
    AUD_MODE_HEADSET     , /* HeadSet (Earphone) Mode */
    AUD_MODE_LOUDSPK     , /* Loudspeaker Mode */
    MAX_AUD_MODE_NUM     
}audio_mode_enum;


/* Define the external GPIO device interrupt. */
typedef enum {
    EXT_DEV_NONE      = 0  , /* None, if there is no external device */
    EXT_DEV_HANDFREE       , /* Hand-free */
    EXT_DEV_EARPHONE       , /* Earphone */
    EXT_DEV_CARKIT         , /* Car-Kit */
    EXT_DEV_KEY_1          , /* Send Key */
    EXT_DEV_KEY_2          , /* Reserved */
    EXT_DEV_UART           , 
    EXT_DEV_CLAM_OPEN  = 8 ,
    EXT_DEV_CLAM_CLOSE     , 
    MAX_EXT_DEVICE_NUM   
}ext_device_enum;



/**************************************************************
  **
  **      Set UART Port Function Type
  ** 
  **************************************************************/
typedef enum
{
   UART_NVRAM_LID_FUNC_UART_CONFIG,
   UART_NVRAM_LID_FUNC_HIGH_SPEED_SIM,
   UART_NVRAM_LID_FUNC_SWDBG,
   UART_NVRAM_LID_FUNC_UART_POWER
} uart_nvram_lid_function_enum;


/***************************************************************************** 
* PMIC  Interface 
*****************************************************************************/
typedef enum
{
   PMIC_VBAT_STATUS,    /* Notify the battery voltage, BMT_VBAT_STATUS */
   PMIC_CHARGER_IN,     /* Charger plug in, BMT_CHARGER_IN */
   PMIC_CHARGER_OUT,    /* Charger plug out, BMT_CHARGER_OUT */
   PMIC_OVERVOLPROTECT,    /* The voltage of battery is too high. BMT_OVERVOLPROTECT */
   PMIC_OVERBATTEMP,    /* The temperature of battery is too high. BMT_OVERBATTEMP */

⌨️ 快捷键说明

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