📄 device.h
字号:
/*****************************************************************************
* 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 + -