blob: e3acf5ac5355ae508d6a21666598820a245fd622 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * DEVICE.H
41 *
42 * Project:
43 * --------
44 * MAUI
45 *
46 * Description:
47 * ------------
48 * This file is intends for definition of all hardware device requirement.
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 *
60 * removed!
61 * removed!
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 * removed!
68 * removed!
69 * removed!
70 * removed!
71 *
72 * removed!
73 * removed!
74 * removed!
75 *
76 * removed!
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 *
96 * removed!
97 * removed!
98 * removed!
99 *
100 * removed!
101 * removed!
102 * removed!
103 *
104 * removed!
105 * removed!
106 * removed!
107 *
108 * removed!
109 * removed!
110 * removed!
111 *
112 * removed!
113 * removed!
114 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 * removed!
131 *
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 * removed!
139 *
140 * removed!
141 * removed!
142 * removed!
143 *
144 * removed!
145 * removed!
146 * removed!
147 *
148 * removed!
149 * removed!
150 * removed!
151 *
152 * removed!
153 * removed!
154 * removed!
155 *
156 * removed!
157 * removed!
158 * removed!
159 *
160 * removed!
161 * removed!
162 * removed!
163 *
164 * removed!
165 * removed!
166 * removed!
167 *
168 * removed!
169 * removed!
170 * removed!
171 *
172 * removed!
173 * removed!
174 * removed!
175 *
176 * removed!
177 * removed!
178 * removed!
179 *
180 * removed!
181 * removed!
182 * removed!
183 *
184 * removed!
185 * removed!
186 * removed!
187 *
188 * removed!
189 * removed!
190 * removed!
191 *
192 * removed!
193 * removed!
194 * removed!
195 *
196 * removed!
197 * removed!
198 * removed!
199 *
200 * removed!
201 * removed!
202 * removed!
203 *
204 * removed!
205 * removed!
206 * removed!
207 *
208 * removed!
209 * removed!
210 * removed!
211 *
212 * removed!
213 * removed!
214 * removed!
215 *
216 * removed!
217 * removed!
218 * removed!
219 *
220 * removed!
221 * removed!
222 * removed!
223 *
224 * removed!
225 * removed!
226 * removed!
227 *
228 * removed!
229 * removed!
230 * removed!
231 *
232 * removed!
233 * removed!
234 * removed!
235 *
236 * removed!
237 * removed!
238 * removed!
239 *
240 * removed!
241 * removed!
242 * removed!
243 *
244 * removed!
245 * removed!
246 * removed!
247 *
248 * removed!
249 * removed!
250 * removed!
251 *
252 * removed!
253 * removed!
254 * removed!
255 *
256 * removed!
257 * removed!
258 * removed!
259 *
260 * removed!
261 * removed!
262 * removed!
263 *
264 * removed!
265 * removed!
266 * removed!
267 *
268 * removed!
269 * removed!
270 * removed!
271 *
272 * removed!
273 * removed!
274 * removed!
275 *
276 * removed!
277 * removed!
278 * removed!
279 *
280 * removed!
281 * removed!
282 * removed!
283 *
284 * removed!
285 * removed!
286 * removed!
287 *
288 * removed!
289 * removed!
290 * removed!
291 *
292 * removed!
293 * removed!
294 * removed!
295 *
296 * removed!
297 * removed!
298 * removed!
299 *
300 * removed!
301 * removed!
302 * removed!
303 *
304 * removed!
305 * removed!
306 * removed!
307 *
308 * removed!
309 * removed!
310 * removed!
311 *
312 *------------------------------------------------------------------------------
313 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
314 *============================================================================
315 ****************************************************************************/
316
317/********************************************************************************
318* Copyright Statement:
319* --------------------
320*
321* This product has been developed using a protocol stack
322* developed by Sasken Communication Technologies Limited.
323*
324********************************************************************************/
325
326
327#ifndef _DEVICE_H
328#define _DEVICE_H
329
330/*****************************************************************************
331* Include
332*****************************************************************************/
333#include "kal_general_types.h"
334//#include "pmic6318_sw.h"
335#include "ps_public_struct.h"
336#include "dcl.h"
337
338/*****************************************************************************
339* Define
340*****************************************************************************/
341/* Add by Yuchuan */
342#define UEM_GREETING_LEN 62
343#define UEM_EQUIP_ID_LEN 64
344
345/* Define the ring compose capability */
346#define MAX_RING_COMPOSE_NUM 5
347#define MAX_RING_COMPOSE_LEN 300
348
349/* Define the display text maximum len */
350#define UEM_DISPLAY_TEXT_LEN 30
351#define UEM_MAX_GREETING_LEN 30
352
353/* For UEM GPIO*/
354#define MAX_LED_GPIO 3 /* 3 LED lights */
355#define MAX_LCD_BACKLIGHT 1 /* 1 backlight */
356#define MAX_VIBRATOR 1 /* 1 vibrator */
357
358#define GPIO_INVAILD 0x0
359#define GPIO_VAILD 0x01
360#define GPO_VAILD 0x02
361#define MAX_NETNAME_TEXT 32
362
363//#ifdef __CUST_NEW__
364#define GPIO_INVALID GPIO_INVAILD
365#define GPIO_VALID GPIO_VAILD
366#define GPO_VALID GPO_VAILD
367//#endif /* __CUST_NEW__ */
368
369/*****************************************************************************
370* Typedef
371*****************************************************************************/
372typedef enum {
373 L4_BCD = 0x01,
374 L4_ASCII = 0x04,
375 L4_UCS2 = 0x08
376} L4_charset_enum;
377
378
379typedef enum {
380 MMI_PS_AT_LANG_DEFAULT,
381 MMI_PS_AT_LANG_UNKWN,
382 MMI_PS_AT_LANG_EN,
383 MMI_PS_AT_LANG_TW,
384 MMI_PS_AT_LANG_ZH,
385 MMI_PS_AT_LANG_LAST
386} L4_AT_lang_enum;
387
388typedef enum {
389 L4_WB_AUDIO_INPUT_FIR,
390 L4_WB_AUDIO_OUTPUT_FIR,
391 L4_WB_ADUIO_MODE_PARAM
392}l4_wb_audio_para_action_enum;
393/*****************************************************************************
394* Audio Interface
395*****************************************************************************/
396
397/* Define the audio device type */
398typedef enum {
399 AUDIO_DEVICE_SPEAKER = 0 , /* Tone, Keypad sound to play on audio device. */
400 AUDIO_DEVICE_MICROPHONE , /* Microphone sound to send on audio device. */
401 AUDIO_DEVICE_BUZZER , /* Ring tone sound to play on audio device. */
402 AUDIO_DEVICE_GMI , /* MIDI/Melody sound to play on audio device */
403 AUDIO_DEVICE_SPEAKER2 , /* earphone, carkit */
404 AUDIO_DEVICE_LOUDSPEAKER , /* loudspeaker for free sound */
405 AUDIO_DEVICE_SPEAKER_BOTH ,
406 MAX_AUDIO_DEVICE_NUM
407}audio_type_enum;
408
409
410/* Define the audio device type */
411typedef enum {
412 AUDIO_DEVICE_MIC1 = 0 , /* ME */
413 AUDIO_DEVICE_MIC2 , /* Headset */
414 AUDIO_DEVICE_FMRR , /* FM Radio */
415 AUDIO_DEVICE_MIC3 /* Loud Spkear */
416}audio_input_path_enum;
417
418
419/* Define volume category */
420typedef enum {
421 VOL_NORMAL = 0 ,
422 VOL_HEADSET ,
423 VOL_HANDFREE ,
424 MAX_VOL_CATE,
425 VOL_TV_OUT = MAX_VOL_CATE
426}volume_category_enum;
427
428
429/* Define volume type.*/
430typedef enum {
431 VOL_TYPE_CTN = 0 , /* MMI can apply to associate volume; call tone attribute */
432 VOL_TYPE_KEY , /* MMI can apply to associate volume; keypad tone attribute */
433 VOL_TYPE_MIC , /* microphone attribute */
434 VOL_TYPE_GMI , /* MMI can apply to associate volume; melody, imelody, midi attribute */
435 VOL_TYPE_SPH , /* MMI can apply to associate volume; speech sound attribute */
436 VOL_TYPE_SID , /* side tone attribute */
437 VOL_TYPE_MEDIA , /* MMI can apply to associate volume; As MP3, Wave,... attribute */
438 MAX_VOL_TYPE
439}volume_type_enum;
440
441
442/* Volume level. based index is from 0..(MAX_VOL_LEVEL-1) */
443#define MAX_VOL_LEVEL 7
444
445
446
447/* Define the audio play style. */
448typedef enum {
449 DEVICE_AUDIO_PLAY_CRESCENDO = 0 , /* Play sound for crescendo. */
450 DEVICE_AUDIO_PLAY_INFINITE , /* Play sound for infinite. */
451 DEVICE_AUDIO_PLAY_ONCE , /* Play sound for once. */
452 DEVICE_AUDIO_PLAY_DESCENDO /* Play sound for descendo. */
453}audio_play_style_enum;
454
455
456typedef struct {
457 kal_uint8 first_out_amp[MAX_AUDIO_DEVICE_NUM][MAX_VOL_LEVEL];
458 kal_uint8 second_out_amp[MAX_AUDIO_DEVICE_NUM][MAX_VOL_LEVEL];
459 kal_uint8 side[MAX_AUDIO_DEVICE_NUM][MAX_VOL_LEVEL];
460 kal_uint8 volume[MAX_AUDIO_DEVICE_NUM];
461} acoustic_gain_struct;
462
463
464/*****************************************************************************
465* Keypad Interface
466*****************************************************************************/
467
468/* Define the keypad status. */
469typedef enum {
470 KEY_PRESSED = 0 /* Keypad is pressed. */
471 ,KEY_RELEASED /* Keypad is released. */
472 ,KEY_LONGPRESS /* Keypad is longpressed. */
473 ,KEY_REPEATED /* Keypad is repeated. */
474#ifdef TWO_KEY_ENABLE
475 ,KEY_PRESSED_TWOKEY /* Two Keypad is pressed. */
476 ,KEY_RELEASED_TWOKEY /* Two Keypad is released. */
477#endif /*TWO_KEY_ENABLE*/
478}keypad_status_enum;
479
480
481/* Define the keypad code value. */
482typedef kal_uint8 keypad_code_enum;
483
484
485/*****************************************************************************
486* RTC Interface
487*****************************************************************************/
488
489/* Define the RTC type. */
490typedef enum {
491 RTC_TIME_CLOCK_IND = 0 , /* The time clock indication. */
492 RTC_ALARM_IND /* The alarm indication */
493}rtc_type_enum;
494
495
496/* Define the type to setting RTC. */
497typedef enum {
498 RTC_SETTING_TYPE_DATETIME = 0 ,
499 RTC_SETTING_TYPE_DATE ,
500 RTC_SETTING_TYPE_TIME
501}rtc_setting_type_enum;
502
503/* Define the RTC alarm id. */
504typedef kal_uint8 rtc_alarm_id_enum;
505#define RTC_ALARM1_IND 0 /* The alarm indication */
506#define RTC_ALARM2_IND 1 /* The alarm indication */
507#define RTC_ALARM3_IND 2 /* The alarm indication */
508#define MAX_ALARM_NUM 3
509
510/* Define the Alarm type */
511typedef enum {
512 RTC_ALARM_VIBRATOR = 0x01 ,
513 RTC_ALARM_LED = 0x02 ,
514 RTC_ALARM_SOUND = 0x04 ,
515 RTC_ALARM_SILENT = 0x08
516}rtc_alarm_type_enum;
517
518
519/* Define the Alarm recurr */
520typedef enum {
521 RTC_ALARM_DAY1 = 0x01 ,
522 RTC_ALARM_DAY2 = 0x02 ,
523 RTC_ALARM_DAY3 = 0x04 ,
524 RTC_ALARM_DAY4 = 0x08 ,
525 RTC_ALARM_DAY5 = 0x10 ,
526 RTC_ALARM_DAY6 = 0x20 ,
527 RTC_ALARM_DAY7 = 0x40 ,
528 RTC_ALARM_DAY_ALL = 0x7F
529}rtc_alarm_recurr_enum;
530
531/* Define the Date/Time format type. */
532typedef enum {
533 DATE_DD_MMM_YYYY = 1
534/*
535 ,DATE_DD_MM_YY_H
536 ,DATE_MM_DD_YY
537 ,DATE_DD_MM_YY_S
538 ,DATE_DD_MM_YY_P
539 ,DATE_YYMMDD
540 ,DATE_YY_MM_DD
541*/
542
543 ,DATE_DD_MM_YYYY_S = 8
544 ,DATE_MM_DD_YYYY_S
545 ,DATE_YYYY_MM_DD_S
546 ,DATE_YYYY_MM_DD_H
547 ,DATE_MMM_DD_YYYY
548}date_format_enum;
549
550
551#define DATE_AUX_YY_MM_DD 1
552#define DATE_AUX_YYYY_MM_DD 2
553
554
555typedef enum {
556 TIME_HH_MM_24 = 1 ,
557 TIME_HH_MM_12
558}time_format_enum;
559
560
561/* Define the RTC clock/alarm format type. */
562/* Could be rtc_alarm_format_enum or rtc_clock_format_enum */
563typedef kal_uint8 rtc_format_enum;
564
565
566/*Y:Year,M:Month,W:DOW,D:DOM,H:Hour,M:Min,S:SEC*/
567typedef enum {
568 DEVICE_AL_EN_None = 0 ,
569 DEVICE_AL_EN_ChkS ,
570 DEVICE_AL_EN_ChkMS ,
571 DEVICE_AL_EN_ChkHMS ,
572 DEVICE_AL_EN_ChkDHMS ,
573 DEVICE_AL_EN_ChkWHMS ,
574 DEVICE_AL_EN_ChkMDHMS ,
575 DEVICE_AL_EN_ChkYMDHMS ,
576 DEVICE_AL_EN_NoChange
577}rtc_alarm_format_enum;
578
579
580typedef enum {
581 DEVICE_TC_EN_None = 0 ,
582 DEVICE_TC_EN_ChkS ,
583 DEVICE_TC_EN_ChkM ,
584 DEVICE_TC_EN_ChkH ,
585 DEVICE_TC_EN_ChkD ,
586 DEVICE_TC_EN_ChkW ,
587 DEVICE_TC_EN_ChkMon ,
588 DEVICE_TC_EN_ChkY ,
589 DEVICE_TC_EN_NoChange
590}rtc_clock_format_enum;
591
592/* Define the alarm status. */
593typedef enum {
594 ALARM_STATUS_ON_POWEROFF_CHARING =0 , /* The alarm is started when it's power off with charging status. */
595 ALARM_STATUS_ON_POWEROFF , /* The alarm is started when it's power off status without charging. */
596 ALARM_STATUS_ON_POWERON /* The alarm is started when it's power on status. */
597}alarm_status_enum;
598
599
600/* Define the calling status */
601typedef enum {
602 UEM_CALL_UNKNOW = 0 ,
603 UEM_CALL_SETUP ,
604 UEM_CALL_CONNECT ,
605 UEM_CALL_DISCONNECT
606}uem_call_state_enum;
607
608
609/*****************************************************************************
610* GPIO / EINT Interface
611*****************************************************************************/
612
613/* Define the internal GPIO device type. */
614/* Becareful!!!!
615 MAX_GPIO_DEVICE_NUM Will impact the size of uem_context_rmi_struct data item !!!!! */
616
617typedef enum {
618 GPIO_DEV_LED_MAINLCD = 0 , /* Main LCD backlight */
619 GPIO_DEV_LED_SUBLCD , /* Sub LCD backlight */
620 GPIO_DEV_LED_STATUS_1 , /* Status LED R*/
621 GPIO_DEV_LED_STATUS_2 , /* Status LED G*/
622 GPIO_DEV_LED_STATUS_3 , /* Status LED B*/
623 GPIO_DEV_LED_KEY , /* Keypad backlight */
624 GPIO_DEV_VIBRATOR , /* Vibrator */
625 GPIO_DEV_FLASHLIGHT , /* FlashLight */
626 GPIO_DEV_FTE_FEEDBACK_VIB , /* Reserve_1 */
627 GPIO_DEV_LED_BACKLIGHT_DIMMING, /* Reserve_2 */
628 GPIO_DEV_RESERVED3 , /* Reserve_3 */
629 GPIO_DEV_RESERVED4 , /* Reserve_4 */
630 GPIO_DEV_RESERVED5 , /* Reserve_4 */
631 GPIO_DEV_RESERVED6 , /* Reserve_4 */
632 GPIO_DEV_RESERVED7 , /* Reserve_4 */
633 GPIO_DEV_RESERVED8 , /* Reserve_4 */
634 GPIO_DEV_RESERVED9 , /* Reserve_4 */
635 GPIO_DEV_RESERVED10 , /* Reserve_4 */
636 GPIO_DEV_RESERVED11 , /* Reserve_4 */
637 GPIO_DEV_RESERVED12 , /* Reserve_4 */
638 MAX_GPIO_DEVICE_NUM
639}gpio_device_enum;
640
641
642/* Define the LED light level. For LCD bright level, Keypad backlight, Flashlight */
643typedef enum {
644 LED_LIGHT_LEVEL0 =0 , /* turn off */
645 LED_LIGHT_LEVEL1 ,
646 LED_LIGHT_LEVEL2 ,
647 LED_LIGHT_LEVEL3 ,
648 LED_LIGHT_LEVEL4 ,
649 LED_LIGHT_LEVEL5 ,
650#if defined (WISDOM_MMI)
651 LED_LIGHT_LEVEL6 ,
652#endif
653 LED_LIGHT_LEVEL_MAX
654}gpio_device_led_level_typedef;
655
656typedef enum
657{
658 /* LED status pattern */
659 LED_PATTERN_BEGIN,
660
661 LED_POWER_ON = LED_PATTERN_BEGIN,
662 LED_POWER_OFF,
663 LED_BATTERY_WARNING,
664 LED_BATTERY_LOW,
665 LED_Connect900,
666 LED_Connect1800,
667 LED_OnCharging,
668 LED_FullCharging,
669 LED_MessageIn,
670 LED_MessageRemind,
671 LED_Caller1,
672 LED_Caller2,
673 LED_Caller3,
674 LED_Caller4,
675 LED_Caller5,
676 LED_Caller6,
677 LED_LimitService,
678 LED_NoService,
679 LED_Connect1900,
680 LED_Roaming,
681 LED_PATTERN_END = 50,
682
683 /* lcd backlight pattern */
684 LCD_PATTERN_BEGIN,
685 LCD_PATTERN_1 = LCD_PATTERN_BEGIN,
686 LCD_PATTERN_2,
687 LCD_PATTERN_END = 100,
688
689 /* vibrator pattern */
690 VIB_PATTERN_BEGIN,
691 VIB_PATTERN_1 = VIB_PATTERN_BEGIN,
692 VIB_PATTERN_2,
693 VIB_PATTERN_3, /* Incomming SMS */
694 VIB_PATTERN_4, /* FTE feedback*/
695 VIB_PATTERN_A,
696 VIB_PATTERN_B,
697 VIB_PATTERN_C,
698 VIB_PATTERN_END = 150,
699
700 MAX_PATTERN_ID = VIB_PATTERN_END
701} PATTERN_ID;
702
703typedef enum
704{
705 PLAY_STOP,
706 PLAY_REPEAT,
707 PLAY_ONCE,
708 MAX_PATTERN_TYPE = PLAY_ONCE
709} PATTERN_TYPE;
710
711typedef struct
712{
713 kal_uint8 gpio_control[MAX_LED_GPIO];
714 kal_uint16 duration_time; /* max time 65535 msec */
715} LED_PATTERN_STRUCT;
716
717typedef struct
718{
719 kal_uint8 gpio_control[MAX_LCD_BACKLIGHT];
720 kal_uint16 duration_time; /* max time 65535 msec */
721} LCD_PATTERN_STRUCT;
722
723typedef struct
724{
725 kal_uint8 gpio_control[MAX_VIBRATOR];
726 kal_uint16 duration_time; /* max time 65535 msec */
727} VIB_PATTERN_STRUCT;
728
729extern LCD_PATTERN_STRUCT *custom_get_lcd_patterns(PATTERN_ID lcd_pattern_id);
730extern LED_PATTERN_STRUCT *custom_get_led_patterns(PATTERN_ID led_pattern_id);
731extern VIB_PATTERN_STRUCT *custom_get_vib_patterns(PATTERN_ID vib_pattern_id);
732extern kal_bool uem_play_pattern(PATTERN_ID pattern_id, PATTERN_TYPE pattern_type);
733extern kal_uint8 custom_get_led_label(kal_uint8 id);
734extern kal_uint8 custom_get_lcd_label(kal_uint8 id);
735extern kal_uint8 custom_get_vib_label(kal_uint8 id);
736extern void custom_uem_set_rmi_lang_id(kal_uint8 *lang_id);
737extern kal_bool custom_uem_gpio_set_level(kal_uint8 gpio_dev_type, kal_uint8 gpio_dev_level);
738extern kal_uint8* custom_uem_get_equip_id(kal_uint8 equip_id);
739#ifdef __VIBRATION_SPEAKER_SUPPORT__
740typedef void (*custom_uem_spkvib_func)(kal_bool);
741extern void custom_uem_set_spkvib_func(void (*func)(kal_bool));
742#endif
743extern kal_uint32 custom_uem_get_bl_level_num(void);
744extern kal_uint32 custom_uem_get_pwm_bl_mode(kal_uint8 gpio_dev_type);
745
746/* It is a time from backlight dimming to backlight drak*/
747#define GPIO_BRIGHTNESS_DIMMING_TIME 5000
748
749/* Define the Vibrator level. */
750typedef enum {
751 VIBRATOR_OFF =0 , /* turn off */
752 VIBRATOR_ON /* turn on */
753}gpio_device_vibrator_level_typedef;
754
755
756typedef enum {
757 AUD_MODE_NORMAL =0 , /* Normal Mode */
758 AUD_MODE_HEADSET , /* HeadSet (Earphone) Mode */
759 AUD_MODE_LOUDSPK , /* Loudspeaker Mode */
760 MAX_AUD_MODE_NUM
761}audio_mode_enum;
762
763
764/* Define the external GPIO device interrupt. */
765typedef enum {
766 EXT_DEV_NONE = 0 , /* None, if there is no external device */
767 EXT_DEV_HANDFREE , /* Hand-free */
768 EXT_DEV_EARPHONE , /* Earphone */
769 EXT_DEV_CARKIT , /* Car-Kit */
770 EXT_DEV_KEY_1 , /* Send Key */
771 EXT_DEV_KEY_2 , /* Reserved */
772 EXT_DEV_UART ,
773 EXT_DEV_CLAM_OPEN = 8 ,
774 EXT_DEV_CLAM_CLOSE ,
775 EXT_DEV_HOOK_ON , /* for FWP */
776 EXT_DEV_HOOK_OFF , /* for FWP */
777 EXT_DEV_AUX_DETECT_DONE ,
778 EXT_DEV_TRANSMITTER_HOLD_ON,
779 EXT_DEV_TRANSMITTER_PUT_DOWN,
780 MAX_EXT_DEVICE_NUM
781}ext_device_enum;
782
783
784typedef enum {
785 AUD_LOOPBACK_MODE_NORMAL =0 , /* Normal Mode */
786 AUD_LOOPBACK_MODE_HEADSET_PREFER , /* Loudspk_prefer */
787 AUD_LOOPBACK_MODE_HEADSET , /* HeadSet (Earphone) Mode */
788 AUD_LOOPBACK_MODE_LOUDSPK , /* Loudspeaker Mode */
789 MAX_AUD_LOOPBACK_MODE_NUM
790}audio_loopback_mode_enum;
791
792
793/**************************************************************
794 **
795 ** Set UART Port Function Type
796 **
797 **************************************************************/
798typedef enum
799{
800 UART_NVRAM_LID_FUNC_UART_CONFIG,
801 UART_NVRAM_LID_FUNC_HIGH_SPEED_SIM,
802 UART_NVRAM_LID_FUNC_SWDBG,
803 UART_NVRAM_LID_FUNC_UART_POWER,
804 UART_NVRAM_LID_FUNC_TST_OUTPUT_MODE,
805 UART_NVRAM_LID_FUNC_USB_LOGGING
806} uart_nvram_lid_function_enum;
807
808
809/*****************************************************************************
810* PMIC Interface
811*****************************************************************************/
812typedef enum
813{
814 PMIC_VBAT_STATUS, /* Notify the battery voltage, BMT_VBAT_STATUS */
815 PMIC_CHARGER_IN, /* Charger plug in, BMT_CHARGER_IN */
816 PMIC_CHARGER_OUT, /* Charger plug out, BMT_CHARGER_OUT */
817 PMIC_OVERVOLPROTECT, /* The voltage of battery is too high. BMT_OVERVOLPROTECT */
818 PMIC_OVERBATTEMP, /* The temperature of battery is too high. BMT_OVERBATTEMP */
819 PMIC_LOWBATTEMP, /* The temperature of battery is too low. BMT_LOWBATTEMP */
820 PMIC_OVERCHARGECURRENT, /* Charge current is too large. BMT_OVERCHARGECURRENT */
821 PMIC_CHARGE_COMPLETE, /* Charge is completed. BMT_CHARGE_COMPLETE */
822 PMIC_INVALID_BATTERY, /* invalid battery BMT_INVALID_BAT*/
823 PMIC_INVALID_CHARGER, /* invalid charger BMT_INVALID_CHARGER*/
824 PMIC_CHARGING_TIMEOUT, /* Bad battery BMT_CHARGE_TIMEOUT */
825 PMIC_LOWCHARGECURRENT, /* Charge current is too Low. BMT_LOWCHARGECURRENT */
826 PMIC_CHARGE_BAD_CONTACT, /* Charger Bad Contact */
827 PMIC_BATTERY_BAD_CONTACT, /* Battery Bad Contact */
828 PMIC_USB_CHARGER_IN, /* Usb Charger plug in */
829 PMIC_USB_CHARGER_OUT, /* Usb Charger plug out */
830 PMIC_USB_NO_CHARGER_IN,
831 PMIC_USB_NO_CHARGER_OUT,
832 PMIC_BATTERY_IN,
833 PMIC_BATTERY_OUT
834} pmic_status_enum;
835typedef pmic_status_enum battery_status_enum;
836
837typedef enum
838{
839 BATTERY_LOW_POWEROFF = 0,
840 BATTERY_LOW_TX_PROHIBIT,
841 BATTERY_LOW_WARNING,
842 BATTERY_LEVEL_0,
843 BATTERY_LEVEL_1,
844 BATTERY_LEVEL_2,
845 BATTERY_LEVEL_3,
846 BATTERY_LEVEL_4 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_4 */
847 BATTERY_LEVEL_5 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_5 */
848 BATTERY_LEVEL_6 = BATTERY_LEVEL_3, /* BATTERY_LEVEL_6 */
849 BATTERY_LEVEL_LAST = 9
850
851} battery_level_enum;
852
853
854/* Define the power on status. */
855typedef enum
856{
857 POWER_ON_KEYPAD = 0 ,
858 POWER_ON_ALARM ,
859 POWER_ON_CHARGER_IN ,
860 POWER_ON_EXCEPTION ,
861 POWER_ON_USB ,
862 POWER_ON_UNINIT ,
863 POWER_ON_PRECHARGE = 8
864} power_on_status_enum;
865
866#define POWERON(mode) ( (mode == POWER_ON_KEYPAD) || \
867 (mode == POWER_ON_ALARM) || \
868 (mode == POWER_ON_CHARGER_IN) ||\
869 (mode == POWER_ON_USB) ||\
870 (mode == POWER_ON_EXCEPTION) ||\
871 (mode == POWER_ON_PRECHARGE) )
872
873extern power_on_status_enum uem_get_power_on_mode(void);
874
875/* Define the POWER reset type. This is to use for the power restablish, while it's on charging or alarm status. */
876typedef enum
877{
878 NORMAL_RESET,
879 CHARGING_RESET,
880 ALARM_RESET,
881 WM_RESET
882} pmic_reset_type_enum;
883
884typedef enum
885{
886 PMIC_GET_CHR_STATE
887 ,PMIC_GET_AC_USB
888 ,PMIC_GET_LED_CONFIG
889 ,PMIC_GET_RGB_DIM
890 ,PMIC_GET_BL_DIM
891 ,PMIC_GET_SPEAKER_STATE
892 ,PMIC_GET_SPEAKER_GAIN
893 ,PMIC_GET_MISC_LDO_STATE
894 ,PMIC_READ_REG
895 ,PMIC_WRITE_REG
896 ,PMIC_CHR_ENABLE
897 ,PMIC_CHR_CURRENT_CTRL
898 ,PMIC_USB_CHR_ENABLE
899 ,PMIC_LED_ENABLE
900 ,PMIC_LED_CONFIG
901 ,PMIC_RGB_DIM_CLK
902 ,PMIC_CHR_PUMP_ENABLE
903 ,PMIC_CHR_PUMP_CURRENT
904 ,PMIC_BL_DIM_CLK
905 ,PMIC_BL_DIV_BYPASS
906 ,PMIC_SPEAKER_ENABLE
907 ,PMIC_SPEAKER_GAIN
908 ,PMIC_VIBRATOR_ENABLE
909 ,PMIC_VIBRATOR_SEL
910 ,PMIC_VMC_ENABLE
911 ,PMIC_VMC_SEL
912 ,PMIC_VASW_ENABLE
913 ,PMIC_VASW_SEL
914 ,PMIC_USB_REG_ENABLE
915 ,PMIC_VBAT_ENABLE
916 ,PMIC_ISENSE_ENABLE
917 ,PMIC_BL_PWM
918 ,PMIC_MAX_NUM
919}pmic_config_req_enum;
920
921/***************************************************************
922 ** FM Radio
923 ***************************************************************/
924typedef enum
925{
926 FM_RADIO_CMD_MONO = 0,
927 FM_RADIO_CMD_STEREO,
928 FM_RADIO_CMD_RSSI,
929 FM_RADIO_CMD_IF_COUNT,
930 FM_RADIO_CMD_RSSI_INFO
931}fm_radio_config_cmd_enum;
932
933typedef enum
934{
935 FM_RADIO_COMMON_DISABLE = 0,
936 FM_RADIO_COMMON_ENABLE, /* in mono, only represent enable; in stereo, represent enable + sblend On */
937 FM_RADIO_COMMON_ENABLE_EXTRA /* in stereo, represent enable + sblend Off */
938}fm_radio_common_state_enum;
939
940/***************************************************************
941 ** RF Test Tool -- GSM
942 ***************************************************************/
943typedef enum
944{
945 RF_TEST_GSM_TX_BAND_850,
946 RF_TEST_GSM_TX_BAND_900,
947 RF_TEST_GSM_TX_BAND_1800,
948 RF_TEST_GSM_TX_BAND_1900
949}rf_test_gsm_tx_band_enum;
950
951typedef enum
952{
953 RF_TEST_GSM_STOP,
954 RF_TEST_GSM_TX_TEST,
955 RF_TEST_GSM_RX_TEST,
956 RF_TEST_GSM_POWER_SCAN,
957 RF_TEST_GSM_TX_TEST_MULTI_SLOT,
958 RF_TEST_GSM_RX_TEST_TWO_PATH, //5
959 RF_TEST_GSM_GET_TX_POWER //6
960}rf_test_gsm_req_enum;
961
962/***************************************************************
963 ** RF Test Tool -- WiFi
964 ***************************************************************/
965
966typedef enum
967{
968 RF_TEST_WIFI_STOP,
969 RF_TEST_WIFI_TEST_MODE,
970 RF_TEST_WIFI_NORMAL_MODE,
971 RF_TEST_WIFI_TX_GET_DAC_OFFSET,
972 RF_TEST_WIFI_TX_OUTPUT_POWER,
973 RF_TEST_WIFI_TX_CARRIER_SUPP,
974 RF_TEST_WIFI_TX_LOCAL_FREQ,
975 RF_TEST_WIFI_TX_CONT_PKT,
976 RF_TEST_WIFI_RX_CONT_PKT,
977 RF_TEST_WIFI_POWER_SAVE,
978 RF_TEST_WIFI_REG_MCR32_WRITE,
979 RF_TEST_WIFI_REG_MCR32_READ,
980 RF_TEST_WIFI_REG_MCR16_WRITE,
981 RF_TEST_WIFI_REG_MCR16_READ,
982 RF_TEST_WIFI_REG_BBCR_WRITE,
983 RF_TEST_WIFI_REG_BBCR_READ,
984 RF_TEST_WIFI_REG_EEPROM_WRITE,
985 RF_TEST_WIFI_REG_EEPROM_READ,
986 RF_TEST_WIFI_REG_EFUSE_WRITE,
987 RF_TEST_WIFI_REG_EFUSE_READ
988}rf_test_wifi_req_enum;
989
990/*****************************************************************************
991* Misc Interface
992*****************************************************************************/
993/* Indicator data type */
994typedef enum
995{
996 IND_BATTCHG = 0 ,
997 IND_SIGNAL ,
998 IND_SERVICE ,
999 IND_SOUNDER ,
1000 IND_MESSAGE ,
1001 IND_CALL ,
1002 IND_VOX ,
1003 IND_ROAM ,
1004 IND_SMSFULL
1005} indicator_type_enum;
1006
1007
1008/* Define the equipment to return the string mapping. */
1009typedef enum
1010{
1011 EQ_ME_MANUFACTURE_ID = 0 ,
1012 EQ_ME_MODEL_ID ,
1013 EQ_ME_REVISION_ID ,
1014 EQ_ME_SERIAL_NUMBER_ID ,
1015 EQ_ME_SERIAL_NUMBER_SIM2_ID ,
1016 EQ_ME_GLOBAL_OBJECT_ID ,
1017 EQ_ME_MANUFACTURE_INFO_ID ,
1018 EQ_ME_COMP_CAP_LIST_ID ,
1019 EQ_ME_SERIAL_NUMBER_SIM3_ID ,
1020 EQ_ME_SERIAL_NUMBER_SIM4_ID ,
1021 MAX_ME_ID_NUM
1022} equip_id_enum;
1023
1024
1025#define MAX_ME_ID_LEN 30
1026
1027
1028/* Define the device process status. */
1029typedef enum
1030{
1031 DEV_OK = 0 , /* The device status is ok to process. */
1032 DEV_FAIL , /* The device status is fail to process*/
1033 DEV_FAIL_VM_NO_FREE_ENTRY , /* voice mail fail cause */
1034 DEV_FAIL_VM_BUFFER_FULL ,
1035 DEV_FAIL_VM_PLAY_NO_DATA
1036} dev_status_enum;
1037
1038
1039/*****************************************************************************
1040* USB Interface
1041*****************************************************************************/
1042typedef enum
1043{
1044 DEVUSB_DETECT_ACTION_UNKNOWN = 0 ,
1045 DEVUSB_DETECT_ACTION_PLUGIN ,
1046 DEVUSB_DETECT_ACTION_PLUGOUT ,
1047 DEVUSB_DETECT_ACTION_USB_SUSPEND ,
1048 DEVUSB_DETECT_ACTION_MAX_ID
1049} devusb_detect_action_enum;
1050
1051
1052typedef enum
1053{
1054 DEVUSB_CFG_ACTION_UNKNOWN = 0 ,
1055 DEVUSB_CFG_ACTION_CDC_ACM ,
1056 DEVUSB_CFG_ACTION_MASS_STORAGE ,
1057 DEVUSB_CFG_ACTION_MULTI_COM,
1058 DEVUSB_CFG_ACTION_WEBCAM ,
1059 DEVUSB_CFG_ACTION_STOP_MS ,
1060 DEVUSB_CFG_ACTION_IRDBG ,
1061 DEVUSB_CFG_ACTION_PICTBRIGE ,
1062 DEVUSB_CFG_ACTION_MTP ,
1063 DEVUSB_CFG_ACTION_STOP_MTP ,
1064 DEVUSB_CFG_ACTION_MAX_ID
1065} devusb_cfg_action_enum;
1066
1067
1068typedef enum
1069{
1070 USB_SWITCH_PORT_APP_DATA = 0 ,
1071 USB_SWITCH_PORT_APP_DEBUG,
1072 USB_SWITCH_PORT_APP_NULL
1073} usb_switch_port_app_enum;
1074
1075#if (defined(MT6229) || defined(MT6227) || defined(MT6228) || defined(MT6225) || defined(MT6268T) || defined(MT6268H) || defined(MT6230) || defined(MT6227D) || defined(MT6223) || defined(MT6226D) || defined(MT6223P))
1076#if (defined(MT6227) || defined(MT6227D) || defined(MT6226D))
1077typedef enum
1078{
1079
1080 EM_SWDBG_OFF,
1081 EM_SWDBG_DSP_L1_PS,
1082 EM_SWDBG_L1_PS,
1083 EM_SWDBG_MCU,
1084 EM_SWDBG_RESET,
1085 EM_SWDBG_MAX
1086} EM_SWDBG_ITEM;
1087
1088#elif defined(MT6228)
1089typedef enum
1090{
1091
1092 EM_SWDBG_OFF,
1093 EM_SWDBG_DSP_L1_PS,
1094 EM_SWDBG_L1_PS,
1095 EM_SWDBG_MCU,
1096 EM_SWDBG_MCU_DSP,
1097 EM_SWDBG_RESET,
1098 EM_SWDBG_MAX
1099} EM_SWDBG_ITEM;
1100
1101#else
1102typedef enum
1103{
1104
1105 EM_SWDBG_OFF,
1106 EM_SWDBG_DSP_L1,
1107 EM_SWDBG_DSP_PS,
1108 EM_SWDBG_L1_PS,
1109 EM_SWDBG_MCU,
1110 EM_SWDBG_MCU_DSP,
1111 EM_SWDBG_RESET,
1112 EM_SWDBG_MAX
1113} EM_SWDBG_ITEM;
1114
1115#endif
1116#endif /* #if (defined(MT6229) || defined(MT6227) || defined(MT6228) || defined(MT6225) || defined(MT6268T)|| defined(MT6268H) || defined(MT6230) || defined(MT6227D)) */
1117
1118typedef enum
1119{
1120 EM_USB_LOGGING_NONE,
1121#ifdef __DSPIRDBG__
1122 EM_USB_LOGGING_IRDBG,
1123#endif
1124
1125
1126 EM_USB_LOGGING_MAX
1127} EM_USB_LOGGING_ITEM;
1128
1129
1130//#if defined(MT6223PMU)
1131/***************************************************************
1132 ** PMU6223
1133 ***************************************************************/
1134/* Enum */
1135typedef enum
1136{
1137 MT6223PMU_READ_REG
1138 ,MT6223PMU_WRITE_REG
1139 ,MT6223PMU_GET_CHR_STATUS
1140 ,MT6223PMU_SET_CHR_GET_CHR_EN
1141 ,MT6223PMU_SET_CHR_SET_CHR_EN
1142 ,MT6223PMU_SET_CHR_GET_CHR_CUR
1143 ,MT6223PMU_SET_CHR_SET_CHR_CUR
1144 ,MT6223PMU_SET_CHR_GET_CHR_CUR_OFFSET
1145 ,MT6223PMU_SET_CHR_SET_CHR_CUR_OFFSET
1146// ,MT6223PMU_SET_CHR_GET_OV_TH_FREEZE
1147// ,MT6223PMU_SET_CHR_SET_OV_TH_FREEZE
1148 ,MT6223PMU_SET_CHR_GET_CV_THRESHOLD
1149 ,MT6223PMU_SET_CHR_SET_CV_THRESHOLD
1150 ,MT6223PMU_GET_DRIVER_INFO
1151 ,MT6223PMU_SET_DRIVER_INFO
1152 ,MT6223PMU_GET_LDO_VOLTAGE
1153 ,MT6223PMU_SET_LDO_VOLTAGE
1154 ,MT6223PMU_GET_LDO_ENABLE
1155 ,MT6223PMU_SET_LDO_ENABLE
1156 ,MT6223PMU_GET_BIAS_CURRENT
1157 ,MT6223PMU_SET_BIAS_CURRENT
1158
1159 ,MT6223PMU_MAX_NUM
1160}EM_MT6223PMU_REQ_ENUM;
1161
1162
1163typedef enum
1164{
1165 PMU6223_CHR_STATE_CHR_DET = 0,
1166 PMU6223_CHR_STATE_BAT_ON,
1167 PMU6223_CHR_STATE_CV,
1168 PMU6223_CHR_STATE_CHR_OVP,
1169 PMU6223_CHR_STATE_CHARGING,
1170 PMU6223_CHR_STATE_MAX
1171}PMU6223_CHR_STATE;
1172
1173typedef enum
1174{
1175 PMU6223_CHR_CUR_OFFSET_P1 = 0,
1176 PMU6223_CHR_CUR_OFFSET_P2,
1177 PMU6223_CHR_CUR_OFFSET_M2,
1178 PMU6223_CHR_CUR_OFFSET_M1
1179}PMU6223_CHR_CUR_OFFSET;
1180
1181typedef enum
1182{
1183 PMU6223_DRIVE_INFO_VIB = 0,
1184 PMU6223_DRIVE_INFO_LED
1185}PMU6223_DRIVE_INFO;
1186
1187typedef enum
1188{
1189 PMU6223_LDO_VOLTAGE_VRF = 0,
1190 PMU6223_LDO_VOLTAGE_VCORE,
1191 PMU6223_LDO_VOLTAGE_VM,
1192 PMU6223_LDO_VOLTAGE_VIO,
1193 PMU6223_LDO_VOLTAGE_VA,
1194 PMU6223_LDO_VOLTAGE_VTCXO,
1195 PMU6223_LDO_VOLTAGE_VSIM,
1196 PMU6223_LDO_VOLTAGE_VRTC1
1197// PMU6223_LDO_VOLTAGE_VRTC2
1198}PMU6223_LDO_VOLTAGE_TYPE;
1199
1200typedef enum
1201{
1202 PMU6223_LDO_ENABLE_VRF = 0,
1203 PMU6223_LDO_ENABLE_VTCXO,
1204 PMU6223_LDO_ENABLE_VSIM
1205}PMU6223_LDO_ENABLE;
1206
1207typedef enum
1208{
1209 PMU6223_BIAS_CALIBRATE_VRF = 0,
1210 PMU6223_BIAS_CALIBRATE_VM,
1211 PMU6223_BIAS_CALIBRATE_VIO,
1212 PMU6223_BIAS_CALIBRATE_VSIM,
1213 PMU6223_BIAS_CALIBRATE_VCORE_CAL
1214}PMU6223_BIAS_CALIBRATE_TYPE;
1215
1216#if 0
1217/* under construction !*/
1218/* under construction !*/
1219/* under construction !*/
1220/* under construction !*/
1221/* under construction !*/
1222/* under construction !*/
1223/* under construction !*/
1224/* under construction !*/
1225/* under construction !*/
1226/* under construction !*/
1227/* under construction !*/
1228#endif /* if 0 */
1229
1230/***************************************************************
1231 ** PMU6238
1232 ***************************************************************/
1233/* Enum */
1234typedef enum
1235{
1236 MT6238PMU_READ_REG
1237 ,MT6238PMU_WRITE_REG
1238 ,MT6238PMU_GET_CHR_STATUS
1239 ,MT6238PMU_SET_CHR_GET_CHR_EN
1240 ,MT6238PMU_SET_CHR_SET_CHR_EN
1241 ,MT6238PMU_SET_CHR_GET_CHR_CUR
1242 ,MT6238PMU_SET_CHR_SET_CHR_CUR
1243 ,MT6238PMU_SET_CHR_GET_CHR_CUR_OFFSET
1244 ,MT6238PMU_SET_CHR_SET_CHR_CUR_OFFSET
1245 ,MT6238PMU_SET_CHR_GET_OV_TH_FREEZE
1246 ,MT6238PMU_SET_CHR_SET_OV_TH_FREEZE
1247 ,MT6238PMU_SET_CHR_GET_CV_THRESHOLD
1248 ,MT6238PMU_SET_CHR_SET_CV_THRESHOLD
1249 ,MT6238PMU_GET_DRIVER_INFO
1250 ,MT6238PMU_SET_DRIVER_INFO
1251 ,MT6238PMU_GET_LDO_VOL_SEL_VBT /* MC */
1252 ,MT6238PMU_SET_LDO_VOL_SEL_VBT /* MC */
1253 ,MT6238PMU_GET_LDO_VOL_SEL_VCAMD /* CAMERA */
1254 ,MT6238PMU_SET_LDO_VOL_SEL_VCAMD /* CAMERA */
1255 ,MT6238PMU_GET_LDO_VOL_SEL_VCAMA /* SW_A */
1256 ,MT6238PMU_SET_LDO_VOL_SEL_VCAMA /* SW_A */
1257 ,MT6238PMU_GET_LDO_VOL_SEL_VSIM
1258 ,MT6238PMU_SET_LDO_VOL_SEL_VSIM
1259 ,MT6238PMU_GET_LDO_VOLTAGE_CAL
1260 ,MT6238PMU_SET_LDO_VOLTAGE_CAL
1261 ,MT6238PMU_GET_LDO_ENABLE
1262 ,MT6238PMU_SET_LDO_ENABLE
1263 ,MT6238PMU_GET_DC_CONTROL
1264 ,MT6238PMU_SET_DC_CONTROL
1265 ,MT6238PMU_GET_BIAS_CURRENT
1266 ,MT6238PMU_SET_BIAS_CURRENT
1267
1268 ,MT6238PMU_MAX_NUM
1269}EM_MT6238PMU_REQ_ENUM;
1270
1271typedef enum
1272{
1273 EM_MT6238PMU_OV_TH_FREEZE_AUTO = 0,
1274 EM_MT6238PMU_OV_TH_FREEZE_FIXED
1275} EM_MT6238PMU_OV_TH_FREEZE_TYPE;
1276
1277
1278typedef enum
1279{
1280 PMU6238_CHR_CUR_OFFSET_P1 = 0,
1281 PMU6238_CHR_CUR_OFFSET_P2,
1282 PMU6238_CHR_CUR_OFFSET_M2,
1283 PMU6238_CHR_CUR_OFFSET_M1
1284}PMU6238_CHR_CUR_OFFSET;
1285
1286typedef enum
1287{
1288 PMU6238_DRIVE_INFO_VIB = 0,
1289 PMU6238_DRIVE_INFO_LED
1290}PMU6238_DRIVE_INFO;
1291
1292typedef enum
1293{
1294 PMU6238_LDO_VOLTAGE_VCORE = 0, /* FBADJ */
1295 PMU6238_LDO_VOLTAGE_VCORE_SLEEP, /* FBADJ_SLEEP */
1296 PMU6238_LDO_VOLTAGE_VRF,
1297 PMU6238_LDO_VOLTAGE_VM,
1298 PMU6238_LDO_VOLTAGE_VIO,
1299 PMU6238_LDO_VOLTAGE_VA,
1300 PMU6238_LDO_VOLTAGE_VTCXO,
1301 PMU6238_LDO_VOLTAGE_VSIM,
1302 PMU6238_LDO_VOLTAGE_VRTC1,
1303 PMU6238_LDO_VOLTAGE_VRTC2,
1304 PMU6238_LDO_VOLTAGE_VUSB,
1305 PMU6238_LDO_VOLTAGE_VBT, /* VMC */
1306 PMU6238_LDO_VOLTAGE_VCAMD, /* VCAMERA */
1307 PMU6238_LDO_VOLTAGE_VCAMA, /* VSW_A */
1308 PMU6238_LDO_VOLTAGE_VSIM2
1309}PMU6238_LDO_VOLTAGE_TYPE;
1310
1311
1312typedef enum
1313{
1314 PMU6238_LDO_ENABLE_VRF_ON_SEL = 0,
1315 PMU6238_LDO_ENABLE_VRF_EN,
1316 PMU6238_LDO_ENABLE_VTCXO_ON_SEL,
1317 PMU6238_LDO_ENABLE_VTCXO_EN,
1318 PMU6238_LDO_ENABLE_VUSB,
1319 PMU6238_LDO_ENABLE_VBT, /* VMC */
1320 PMU6238_LDO_ENABLE_VCAM_D, /* CAMERA */
1321 PMU6238_LDO_ENABLE_VCAM_A, /* SW_A */
1322 PMU6238_LDO_ENABLE_VSIM1,
1323 PMU6238_LDO_ENABLE_VSIM2
1324}PMU6238_LDO_ENABLE;
1325
1326
1327typedef enum
1328{
1329 PMU6238_DC_CONTROL_GAINP = 0,
1330 PMU6238_DC_CONTROL_GAIN,
1331 PMU6238_DC_CONTROL_GAIND,
1332 PMU6238_DC_CONTROL_DIR_CTRL_EN,
1333 PMU6238_DC_CONTROL_DCVCK_SEL,
1334 PMU6238_DC_CONTROL_ISEL,
1335 PMU6238_DC_CONTROL_ADJCKSEL,
1336 PMU6238_DC_CONTROL_MODESET,
1337 PMU6238_DC_CONTROL_MODEEN,
1338 PMU6238_DC_CONTROL_PFMSEL_0_3,
1339 PMU6238_DC_CONTROL_PFMSEL_4_6,
1340 PMU6238_DC_CONTROL_IASEL,
1341 PMU6238_DC_CONTROL_SLEW_CTRL
1342}PMU6238_DC_CONTROL_TYPE;
1343
1344typedef enum
1345{
1346 PMU6238_BIAS_CALIBRATE_VRF = 0,
1347 PMU6238_BIAS_CALIBRATE_VM,
1348 PMU6238_BIAS_CALIBRATE_VIO,
1349 PMU6238_BIAS_CALIBRATE_VA,
1350 PMU6238_BIAS_CALIBRATE_VTCXO,
1351 PMU6238_BIAS_CALIBRATE_VSIM,
1352 PMU6238_BIAS_CALIBRATE_VUSB,
1353 PMU6238_BIAS_CALIBRATE_VBT,
1354 PMU6238_BIAS_CALIBRATE_VCAMD,
1355 PMU6238_BIAS_CALIBRATE_VCAMA,
1356 PMU6238_BIAS_CALIBRATE_VSIM2
1357}PMU6238_BIAS_CALIBRATE_TYPE;
1358
1359/***************************************************************
1360 ** PMU6326
1361 ***************************************************************/
1362/* Enum */
1363typedef enum
1364{
1365 MT6326PMU_READ_REG
1366 ,MT6326PMU_WRITE_REG
1367 ,MT6326PMU_MAX_NUM
1368}EM_MT6326PMU_REQ_ENUM;
1369
1370/***************************************************************
1371 ** PMU6253
1372 ***************************************************************/
1373/* Enum */
1374typedef enum
1375{
1376 MT6253PMU_READ_REG
1377 ,MT6253PMU_WRITE_REG
1378 ,MT6253PMU_MAX_NUM
1379}EM_MT6253PMU_REQ_ENUM;
1380
1381#endif /* _DEVICE_H */
1382
1383