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

📄 device.h

📁 最新MTK手机软件源码
💻 H
📖 第 1 页 / 共 2 页
字号:
   PMIC_LOWBATTEMP,     /* The temperature of battery is too low. BMT_LOWBATTEMP */
   PMIC_OVERCHARGECURRENT, /* Charge current is too large. BMT_OVERCHARGECURRENT */
   PMIC_CHARGE_COMPLETE,   /* Charge is completed. BMT_CHARGE_COMPLETE */
   PMIC_INVALID_BATTERY,    /* invalid battery  BMT_INVALID_BAT*/
   PMIC_INVALID_CHARGER,   /* invalid charger BMT_INVALID_CHARGER*/
   PMIC_CHARGING_TIMEOUT, /* Bad battery BMT_CHARGE_TIMEOUT */ 
   PMIC_LOWCHARGECURRENT, /* Charge current is too Low. BMT_LOWCHARGECURRENT */
   PMIC_CHARGE_BAD_CONTACT, /* Charger Bad Contact */
   PMIC_BATTERY_BAD_CONTACT, /* Battery Bad Contact */
   PMIC_USB_CHARGER_IN,   /* Usb Charger plug in */
   PMIC_USB_CHARGER_OUT,   /* Usb Charger plug out */
   PMIC_USB_NO_CHARGER_IN,
   PMIC_USB_NO_CHARGER_OUT
} pmic_status_enum;
typedef pmic_status_enum battery_status_enum;

typedef enum 
{
   BATTERY_LOW_POWEROFF = 0,
   BATTERY_LOW_TX_PROHIBIT,
   BATTERY_LOW_WARNING,
   BATTERY_LEVEL_0,
   BATTERY_LEVEL_1,
   BATTERY_LEVEL_2,
   BATTERY_LEVEL_3, 
   BATTERY_LEVEL_4 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_4 */
   BATTERY_LEVEL_5 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_5 */
   BATTERY_LEVEL_6 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_6 */
   BATTERY_LEVEL_LAST = 9

} battery_level_enum;


/* Define the power on status. */
typedef enum 
{
	POWER_ON_KEYPAD	     = 0 ,
	POWER_ON_ALARM			 ,
	POWER_ON_CHARGER_IN		 ,
	POWER_ON_EXCEPTION		 ,
	POWER_ON_USB			 ,
	POWER_ON_UNINIT			 ,
	POWER_ON_PRECHARGE	 = 8
} power_on_status_enum;

#define	POWERON(mode) (	(mode == POWER_ON_KEYPAD) || \
									(mode == POWER_ON_ALARM) || \
									(mode == POWER_ON_CHARGER_IN) ||\
									(mode == POWER_ON_USB) ||\
									(mode == POWER_ON_EXCEPTION) ||\
									(mode == POWER_ON_PRECHARGE) )

/* Define the POWER reset type. This is to use for the power restablish, while it's on charging or alarm status. */
typedef enum
{
   NORMAL_RESET,
   CHARGING_RESET,
   ALARM_RESET
} pmic_reset_type_enum;

typedef enum
{
	PMIC_GET_CHR_STATE
	,PMIC_GET_AC_USB
	,PMIC_GET_LED_CONFIG
	,PMIC_GET_RGB_DIM
	,PMIC_GET_BL_DIM
	,PMIC_GET_SPEAKER_STATE
	,PMIC_GET_SPEAKER_GAIN
	,PMIC_GET_MISC_LDO_STATE
	,PMIC_READ_REG
	,PMIC_WRITE_REG
	,PMIC_CHR_ENABLE
	,PMIC_CHR_CURRENT_CTRL
	,PMIC_USB_CHR_ENABLE
	,PMIC_LED_ENABLE
	,PMIC_LED_CONFIG
	,PMIC_RGB_DIM_CLK
	,PMIC_CHR_PUMP_ENABLE
	,PMIC_CHR_PUMP_CURRENT
	,PMIC_BL_DIM_CLK
	,PMIC_BL_DIV_BYPASS
	,PMIC_SPEAKER_ENABLE
	,PMIC_SPEAKER_GAIN
	,PMIC_VIBRATOR_ENABLE
	,PMIC_VIBRATOR_SEL
	,PMIC_VMC_ENABLE
	,PMIC_VMC_SEL
	,PMIC_VASW_ENABLE
	,PMIC_VASW_SEL
	,PMIC_USB_REG_ENABLE
	,PMIC_VBAT_ENABLE
	,PMIC_ISENSE_ENABLE
	,PMIC_BL_PWM
	,PMIC_MAX_NUM
}pmic_config_req_enum;

typedef struct
{
	pmic_chr_stat status;/*input*/
	kal_uint8 charger_status;/*output*/
}pmic_chr_state_struct;

typedef struct
{
	chr_type type;/*input*/
	kal_bool chr_enable;/*output*/
	kal_uint32 current;/*output*/
}pmic_get_ac_usb_status_struct;

typedef struct
{
	pmic_led_type type;/*input*/
	kal_uint8 duty;/*output*/
	kal_uint32 current;/*output*/
}pmic_get_led_config_struct;

typedef struct
{
	kal_bool pump_enable;/*output*/
	kal_uint32 pump_current;/*output*/
	kal_uint32 clk;/*output*/
}pmic_get_rgb_dim_struct;

typedef struct
{
	kal_bool div_enable;/*output*/
	kal_uint32 clk;/*output*/
}pmic_get_bl_dim_struct;

typedef struct
{
	kal_uint8 state;/*output*/
}pmic_get_speaker_state_struct;

typedef struct
{
	kal_uint8 gain;/*output*/
}pmic_get_speaker_gain_struct;

typedef struct
{
	pmic_misc_stat type;/*input*/
	kal_bool enable;/*output*/
}pmic_get_misc_ldo_stat_struct;

typedef struct
{
	kal_uint8 result;/*output*/
	kal_uint16 register_index;/*input*/
}pmic_read_reg_struct;

typedef struct
{
	kal_uint8 data;/*input*/
	kal_uint16 register_index;/*input*/
}pmic_write_reg_struct;


typedef struct
{
       kal_bool enable; /*input*/
}pmic_chr_enable_struct;

typedef struct
{
       pmic_charging_current chr_current; /*input*/
}pmic_chr_current_control_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_usb_chr_enable_struct;

typedef struct
{
	pmic_led_type type;/*input*/
       kal_bool enable; /*input*/
}pmic_led_enable_struct;

typedef struct
{
	pmic_led_struct led_conf;/*input*/
}pmic_led_config_struct;

typedef struct
{
       kal_uint32 dim_clk; /*input*/
}pmic_rgb_dim_clk_setting_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_chr_pump_enable_struct;

typedef struct
{
	kal_uint32 level; /*output */
}pmic_chr_pump_current_struct;

typedef struct
{
       kal_uint16 dim_clk; /*input*/
}pmic_bl_dim_clk_setting_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_bl_div_bypass_enable_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_speaker_enable_struct;

typedef struct
{
       kal_uint8 gain; /*input*/
}pmic_speaker_gain_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_vibrator_enable_struct;

typedef struct
{
       vibrator_sel_enum value; /*input*/
}pmic_vibrator_sel_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_vmc_enable_struct;

typedef struct
{
       vmc_sel_enum vmc_sel_value; /*input*/
}pmic_vmc_sel_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_vasw_enable_struct;

typedef struct
{
       vasw_a_sel_enum value; /*input*/
}pmic_vasw_sel_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_usb_regulator_enable_struct;

typedef struct
{
       kal_bool enable; /*input*/
}pmic_vbat_enable_struct;

typedef struct
{
       adc_type adc_value; /*input*/
}pmic_isense_enable_struct;

typedef struct
{ 
       kal_uint8 result;/*output*/
}pmic_bl_pwm_struct;

typedef struct
{
	pmic_chr_state_struct chr_state;
	pmic_get_ac_usb_status_struct ac_usb_status;
	pmic_get_led_config_struct led_config;
	pmic_get_rgb_dim_struct rgb_dim;
	pmic_get_bl_dim_struct bl_dim;
	pmic_get_speaker_state_struct speaker_state;
	pmic_get_speaker_gain_struct speaker_gin;
	pmic_get_misc_ldo_stat_struct misc_ldo_state;
	pmic_read_reg_struct read_reg;
	pmic_write_reg_struct write_reg;
	pmic_chr_enable_struct chr_enable;
	pmic_chr_current_control_struct chr_current_control;	
	pmic_usb_chr_enable_struct usb_chr_enable;
	pmic_led_enable_struct led_enable;
	pmic_led_config_struct led_setting;
	pmic_rgb_dim_clk_setting_struct rgb_dim_clk_setting;
	pmic_chr_pump_enable_struct chr_pump_enable;
	pmic_chr_pump_current_struct chr_pump_current_level;
	pmic_bl_dim_clk_setting_struct bl_dim_clk_setting;
	pmic_bl_div_bypass_enable_struct bl_div_bypass_enable;
	pmic_speaker_enable_struct speaker_enable;
	pmic_speaker_gain_struct speaker_gain;
	pmic_vibrator_enable_struct vibrator_enable;
	pmic_vibrator_sel_struct vibrator_sel;
	pmic_vmc_enable_struct vmc_enable;
	pmic_vmc_sel_struct vmc_sel;
	pmic_vasw_enable_struct vasw_enable;
	pmic_vasw_sel_struct vasw_sel;
	pmic_usb_regulator_enable_struct usb_reg_enable;
	pmic_vbat_enable_struct vbat_enable;
	pmic_isense_enable_struct isense_enable;     
    pmic_bl_pwm_struct bl_pwm_setting;
}pmic_config_param_struct;


/***************************************************************
  **   FM Radio
  ***************************************************************/
typedef enum
{
    FM_RADIO_CMD_MONO = 0,
    FM_RADIO_CMD_STEREO,
    FM_RADIO_CMD_RSSI,
    FM_RADIO_CMD_IF_COUNT,
    FM_RADIO_CMD_RSSI_INFO
}fm_radio_config_cmd_enum;

typedef enum
{
    FM_RADIO_COMMON_DISABLE = 0,
    FM_RADIO_COMMON_ENABLE,      /* in mono, only represent enable; in stereo, represent enable + sblend On */
    FM_RADIO_COMMON_ENABLE_EXTRA   /* in stereo, represent enable + sblend Off */
}fm_radio_common_state_enum;

typedef struct
{
    kal_uint8 mono_enable;    /* input */
}fm_radio_mono_struct;
  
typedef struct
{
    kal_uint8 stereo_enable;  /* input */
    kal_uint8 sblend_onoff;    /* input */
}fm_radio_stereo_struct;

typedef struct
{
    kal_uint8 level;                  /* input */   
}fm_radio_rssi_struct;

typedef struct
{
    kal_uint8 item_value;          /* input */   
}fm_radio_if_count_delta_struct;

typedef struct
{
    fm_radio_mono_struct fm_radio_mono;
    fm_radio_stereo_struct fm_radio_stereo;   
    fm_radio_rssi_struct fm_radio_rssi;    
    fm_radio_if_count_delta_struct fm_radio_if;
}fm_radio_config_param_struct;


/***************************************************************
  **   RF Test Tool -- GSM 
  ***************************************************************/
typedef enum
{
    RF_TEST_GSM_TX_BAND_850,
    RF_TEST_GSM_TX_BAND_900,
    RF_TEST_GSM_TX_BAND_1800,
    RF_TEST_GSM_TX_BAND_1900
}rf_test_gsm_tx_band_enum;
  
typedef enum
{
    RF_TEST_GSM_STOP,
    RF_TEST_GSM_TX_TEST,
    RF_TEST_GSM_RX_TEST,
    RF_TEST_GSM_POWER_SCAN
}rf_test_gsm_req_enum;

typedef struct
{
    kal_uint16 arfcn;    /* input */
    kal_int16 afc;       /* input */
    kal_uint8 band;      /* input */
    kal_int8   tsc;      /* input */
    kal_int8   pcl;      /* input */
    kal_uint8   pattern; /* input */
}rf_test_gsm_tx_test_struct;

typedef struct
{
    kal_int16 arfcn;      /* input */
    kal_int16 gain;       /* input */
    kal_uint8 band;       /* input */
    kal_uint8  pattern;   /* input */
}rf_test_gsm_rx_test_struct;

typedef struct
{
    kal_uint8 band;                /* input */   
    kal_int16 arfcn_in;            /* input */
    kal_int16 arfcn_out[20];       /* output */
    kal_int16 power[20];           /* output */    
}rf_test_gsm_power_scan_struct;

typedef struct
{
    rf_test_gsm_tx_test_struct gsm_tx_test;
    rf_test_gsm_rx_test_struct gsm_rx_test;   
    rf_test_gsm_power_scan_struct gsm_power_scan;    
}rf_test_gsm_param_struct;


/***************************************************************************** 
* Misc  Interface 
*****************************************************************************/
/* Indicator data type */
typedef enum 
{
    IND_BATTCHG  = 0 ,
    IND_SIGNAL       ,  
    IND_SERVICE      ,  
    IND_SOUNDER      ,  
    IND_MESSAGE      ,  
    IND_CALL         ,  
    IND_VOX          ,  
    IND_ROAM         ,  
    IND_SMSFULL       
} indicator_type_enum;


/* Define the equipment to return the string mapping. */
typedef enum 
{
    EQ_ME_MANUFACTURE_ID      = 0 ,
    EQ_ME_MODEL_ID                ,
    EQ_ME_REVISION_ID             ,
    EQ_ME_SERIAL_NUMBER_ID        ,
    EQ_ME_GLOBAL_OBJECT_ID        ,
    EQ_ME_MANUFACTURE_INFO_ID     ,
    EQ_ME_COMP_CAP_LIST_ID        ,
    MAX_ME_ID_NUM                    
} equip_id_enum;


#define MAX_ME_ID_LEN               30


/* Define the device process status. */
typedef enum 
{
    DEV_OK                    = 0 , /* The device status is ok to process. */
    DEV_FAIL                      , /* The device status is fail to process*/
    DEV_FAIL_VM_NO_FREE_ENTRY     , /* voice mail fail cause */
    DEV_FAIL_VM_BUFFER_FULL       ,
    DEV_FAIL_VM_PLAY_NO_DATA     
} dev_status_enum;


/***************************************************************************** 
* USB  Interface 
*****************************************************************************/
typedef enum 
{
    DEVUSB_DETECT_ACTION_UNKNOWN = 0 ,
    DEVUSB_DETECT_ACTION_PLUGIN      , 
    DEVUSB_DETECT_ACTION_PLUGOUT     ,
    DEVUSB_DETECT_ACTION_MAX_ID   
} devusb_detect_action_enum;


typedef enum 
{
    DEVUSB_CFG_ACTION_UNKNOWN     =	0 ,
    DEVUSB_CFG_ACTION_CDC_ACM         ,
    DEVUSB_CFG_ACTION_MASS_STORAGE    ,
    DEVUSB_CFG_ACTION_COMPOSITE       ,
    DEVUSB_CFG_ACTION_WEBCAM          ,
    DEVUSB_CFG_ACTION_STOP_MS         ,
    DEVUSB_CFG_ACTION_IRDBG           ,
    DEVUSB_CFG_ACTION_MAX_ID			  
} devusb_cfg_action_enum;


typedef enum 
{
    USB_SWITCH_PORT_APP_DATA     = 0 ,
    USB_SWITCH_PORT_APP_DEBUG   
} usb_switch_port_app_enum;

#endif  /* _DEVICE_H */


⌨️ 快捷键说明

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