blob: 271fd12c070dfe3e5dbfd0e8f3051f1cfa058eb9 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
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 * dcl_pmu6235_sw.h
41 *
42 * Project:
43 * --------
44 * Maui_Software
45 *
46 * Description:
47 * ------------
48 * This file is for PMU6235
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 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 *
66 * removed!
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 * removed!
77 *
78 * removed!
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 * removed!
85 *
86 * removed!
87 * removed!
88 * removed!
89 *
90 *
91 *------------------------------------------------------------------------------
92 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
93 *============================================================================
94 ****************************************************************************/
95
96
97#ifndef __DCL_PMU6235_SW_H_STRUCT__
98#define __DCL_PMU6235_SW_H_STRUCT__
99
100
101#if defined(PMIC_6235_REG_API) || defined(PMIC_6238_REG_API)
102
103//workaround till pmu_sw.h is removed
104#if !defined(PMU6235_OLD_STR)
105#define PMU6235_OLD_STR
106
107typedef enum
108{
109 ICAL_RF_1_0=0,
110 ICAL_RF_0_5=1,
111 ICAL_RF_2_0=2,
112 ICAL_RF_3_0=3
113}pmu_icalrf_code;
114
115typedef enum
116{
117 ICAL_CORE_1_0=0,
118 ICAL_CORE_0_5=1,
119 ICAL_CORE_2_0=2,
120 ICAL_CORE_3_0=3
121}pmu_icalcore_code;
122
123typedef enum
124{
125 ICAL_IO_1_0=0,
126 ICAL_IO_0_5=1,
127 ICAL_IO_2_0=2,
128 ICAL_IO_3_0=3
129}pmu_icalio_code;
130
131typedef enum
132{
133 ICAL_M_1_0=0,
134 ICAL_M_0_5=1,
135 ICAL_M_2_0=2,
136 ICAL_M_3_0=3
137}pmu_icalm_code;
138
139typedef enum
140{
141 ICAL_SIM_1_0=0,
142 ICAL_SIM_0_5=1,
143 ICAL_SIM_2_0=2,
144 ICAL_SIM_3_0=3
145}pmu_icalsim_code;
146
147typedef enum
148{
149 VSIM_SEL_1_8=0,
150 VSIM_SEL_3_0
151}pmu_vsim_volt;
152
153
154
155typedef enum
156{
157 CHR_CUR_OFFSET_NONE=0,
158 CHR_CUR_OFFSET_PLUS_1=1,
159 CHR_CUR_OFFSET_PLUS_2=2,
160 CHR_CUR_OFFSET_MINUS_2=6,
161 CHR_CUR_OFFSET_MINUS_1=7
162}pmu_chr_cur_offset;
163
164typedef enum
165{
166 CHR_CUR_50=0,
167 CHR_CUR_87_5=1,
168 CHR_CUR_150=2,
169 CHR_CUR_225=3,
170 CHR_CUR_300=4,
171 CHR_CUR_450=5,
172 CHR_CUR_650=6,
173 CHR_CUR_800=7
174}pmu_chr_cur_level;
175
176
177typedef enum
178{
179 THERMAL_THRES_INIT=0x0000,
180 THERMAL_THRES_PLUS_10C=0x0001,
181 THERMAL_THRES_MINUS_20C=0x0010,
182 THERMAL_THRES_MINUS_10C=0x0011
183}pmu_chr_thermal_thres;
184
185typedef enum
186{
187 VOLT_STEP_INIT=0,
188 VOLT_STEP_MINUS_1=1,
189 VOLT_STEP_MINUS_2=2,
190 VOLT_STEP_MINUS_3=3,
191 VOLT_STEP_PLUS_4=4,
192 VOLT_STEP_PLUS_3=5,
193 VOLT_STEP_PLUS_2=6,
194 VOLT_STEP_PLUS_1=7
195}pmu_ref_volt_step;
196
197typedef enum
198{
199 VBG_VOLT_1_2_V = 0,
200 VBG_VOLT_1_205_V = 1,
201 VBG_VOLT_1_210_V = 2,
202 VBG_VOLT_1_215_V = 3,
203 VBG_VOLT_1_180_V = 4,
204 VBG_VOLT_1_185_V = 5,
205 VBG_VOLT_1_190_V = 6,
206 VBG_VOLT_1_195_V = 7
207}pmu_vbg_volt;
208
209typedef enum
210{
211 GPIO_DRV_8MA = 0,
212 GPIO_DRV_4MA = 1
213}pmu_gpio_drv_strength;
214
215typedef enum
216{
217 UVLO_VOLT_2_9_V=0,
218 UVLO_VOLT_2_75_V=1,
219 UVLO_VOLT_2_6_V=2,
220 UVLO_VOLT_AS_DDLO=3
221}pmu_uvlo_volt;
222
223typedef enum
224{
225 RBGSEL_INIT=0,
226 RBGSEL_PLUS_1_STEP=1,
227 RBGSEL_PLUS_2_STEP=2,
228 RBGSEL_PLUS_3_STEP=3,
229 RBGSEL_MINUS_4_STEP=4,
230 RBGSEL_MINUS_3_STEP=5,
231 RBGSEL_MINUS_2_STEP=6,
232 RBGSEL_MINUS_1_STEP=7
233}pmu_rbgsel;
234
235typedef enum
236{
237 IBGSEL_INIT=0,
238 IBGSEL_PLUS_1_STEP=1,
239 IBGSEL_MINUS_2_STEP=2,
240 IBGSEL_MINUS_1_STEP=3
241}pmu_ibgsel;
242
243typedef enum
244{
245 CK_SEL_10KHZ=0,
246 CK_SEL_5KHZ=1
247}pmu_cksel;
248
249typedef enum
250{
251 VBS_SEL_1200K=0,
252 VBS_SEL_1320K=1,
253 VBS_SEL_960K=2,
254 VBS_SEL_1080K=3
255}pmu_vbssel;
256
257typedef enum
258{
259 OV_HYS_ENB_LOWER=0,
260 OV_HYS_ENB_HIGHER=1
261}pmu_ov_hys_enb;
262
263typedef enum
264{
265 OV_THFREEZE_AUTO=0,
266 OV_THFREEZE_FIXED=1
267}pmu_ov_thfreeze;
268
269typedef enum
270{
271 SDM_1ST_ORDER = 0,
272 SDM_2ND_ORDER = 1
273}pmu_sdm_order;
274
275typedef enum
276{
277 PID_GAIN_P_0_25 = 0,
278 PID_GAIN_P_0_375 = 1,
279 PID_GAIN_P_0_5 = 2,
280 PID_GAIN_P_0_75 = 3,
281 PID_GAIN_P_1 = 4,
282 PID_GAIN_P_1_5 = 5,
283 PID_GAIN_P_2 = 6,
284 PID_GAIN_P_3 = 7
285}pmu_pid_gain_p;
286
287typedef enum
288{
289 PID_GAIN_0_015625 = 0,
290 PID_GAIN_0_0234375 = 1,
291 PID_GAIN_0_03125 = 2,
292 PID_GAIN_0_046875 = 3,
293 PID_GAIN_0_0625 = 4,
294 PID_GAIN_0_09375 = 5,
295 PID_GAIN_0_125 = 6,
296 PID_GAIN_0_1875 = 7
297}pmu_pid_gain;
298
299typedef enum
300{
301 PID_GAIN_D_2 = 0,
302 PID_GAIN_D_3 = 1,
303 PID_GAIN_D_4 = 2,
304 PID_GAIN_D_6 = 3,
305 PID_GAIN_D_8 = 4,
306 PID_GAIN_D_12 = 5,
307 PID_GAIN_D_16 = 6,
308 PID_GAIN_D_24 = 7
309}pmu_pid_gain_d;
310
311typedef enum
312{
313 VCORE_1_8V = 0,
314 VCORE_1_2V = 1
315}pmu_vcore_volt;
316
317typedef enum
318{
319 DCV_INTERNAL = 0,
320 DCV_CLK_TCXO = 1
321}pmu_dcv_ck;
322
323typedef enum
324{
325 ISEL_0_25 = 0,
326 ISEL_1_5 = 1,
327 ISEL_1 = 2,
328 ISEL_2 = 3
329}pmu_isel;
330
331typedef enum
332{
333 MODE_SET_PWM = 0,
334 MODE_SET_PFM = 1
335}pmu_mode_set;
336
337typedef enum
338{
339 MODE_CMP_LOW_OFFSET = 0,
340 MODE_CMP_AUTO_ZERO = 1
341}pmu_mode_cmp;
342
343typedef enum
344{
345 MODE_NDC = 0,
346 MODE_AVE_CURRENT = 1
347}pmu_mode_ave_current;
348
349#endif //#if !defined(PMU6235_OLD_STR)
350
351/* PFM max load current select. Can OR together. */
352#define PFM_MAX_160_MA_EN 0x08
353#define PFM_MAX_80_MA_EN 0x04
354#define PFM_MAX_40_MA_EN 0x02
355#define PFM_MAX_20_MA_EN 0x01
356
357/* PFM max load resistor select. Can OR together*/
358#define PFM_RESISTOR_50_OHM 0x04
359#define PFM_RESISTOR_100_OHM 0x02
360#define PFM_RESISTOR_200_OHM 0x01
361
362typedef enum
363{
364 NDC_OFFSET_MINUS_3mV = 0,
365 NDC_OFFSET_5mV = 1,
366 NDC_OFFSET_12mV = 2,
367 NDC_OFFSET_17mV = 3
368}pmu_ndc_offset;
369
370typedef enum
371{
372 IASEL_50mV = 0,
373 IASEL_100mV = 1,
374 IASEL_150mV = 2,
375 IASEL_200mV = 3
376}pmu_iasel;
377
378typedef enum
379{
380 RSEL_32k = 0,
381 RSEL_28k = 1,
382 RSEL_24k = 2,
383 RSEL_18k = 3
384}pmu_rsel;
385
386typedef enum
387{
388 ICAL_USB_1_0=0,
389 ICAL_USB_0_5=1,
390 ICAL_USB_2_0=2,
391 ICAL_USB_3_0=3
392}pmu_icalusb_code;
393
394typedef enum
395{
396 CLK_SRC_FROM_CLKSQ=0,
397 CLK_SRC_FROM_TCXO26M_CK=1
398}pmu_clk_src_sel;
399
400typedef enum
401{
402 VTCXO_LDO_WITH_VTCXO_EN=0,
403 VTCXO_LDO_WITH_RG_VTCXO_EN=1
404}pmu_vtcxo_on_sel;
405
406typedef enum
407{
408 ICAL_SIM2_1_0=0,
409 ICAL_SIM2_0_5=1,
410 ICAL_SIM2_2_0=2,
411 ICAL_SIM2_3_0=3
412}pmu_icalsim2_code;
413
414//typedef enum
415//{
416// ICAL_MC_1_0=0,
417// ICAL_MC_0_5=1,
418// ICAL_MC_2_0=2,
419// ICAL_MC_3_0=3
420//}pmu_icalmc_code;
421// vmc related items are changed as vbt
422typedef enum
423{
424 ICAL_BT_1_0=0,
425 ICAL_BT_0_5=1,
426 ICAL_BT_2_0=2,
427 ICAL_BT_3_0=3
428}pmu_icalbt_code;
429
430//typedef enum
431//{
432// VMC_SEL_1_8=0,
433// VMC_SEL_3_0
434//}pmu_vmc_volt;
435// vmc related items are changed as vbt
436typedef enum
437{
438 VBT_SEL_2_8=0,
439 VBT_SEL_3_0
440}pmu_vbt_volt;
441
442//typedef enum
443//{
444// ICAL_CAMERA_1_0=0,
445// ICAL_CAMERA_0_5=1,
446// ICAL_CAMERA_2_0=2,
447// ICAL_CAMERA_3_0=3
448//}pmu_icalcamera_code;
449// vcamera ==> vcam_d
450typedef enum
451{
452 ICAL_CAM_D_1_0=0,
453 ICAL_CAM_D_0_5=1,
454 ICAL_CAM_D_2_0=2,
455 ICAL_CAM_D_3_0=3
456}pmu_icalcam_d_code;
457
458//typedef enum
459//{
460// VCAMERA_SEL_1_3=0,
461// VCAMERA_SEL_1_5=1,
462// VCAMERA_SEL_1_8=2,
463// VCAMERA_SEL_2_8=3
464//}pmu_vcamera_volt;
465// vcamera ==> vcam_d
466typedef enum
467{
468 VCAM_D_SEL_1_3=0,
469 VCAM_D_SEL_1_5=1,
470 VCAM_D_SEL_1_8=2,
471 VCAM_D_SEL_2_8=3
472}pmu_vcam_d_volt;
473
474//typedef enum
475//{
476// ICAL_SW_1_0=0,
477// ICAL_SW_0_5=1,
478// ICAL_SW_2_0=2,
479// ICAL_SW_3_0=3
480//}pmu_icalsw_code;
481typedef enum
482{
483 ICAL_CAM_A_1_0=0,
484 ICAL_CAM_A_0_5=1,
485 ICAL_CAM_A_2_0=2,
486 ICAL_CAM_A_3_0=3
487}pmu_icalcam_a_code;
488
489//typedef enum
490//{
491// VSW_A_SEL_1_3=0,
492// VSW_A_SEL_1_5=1,
493// VSW_A_SEL_1_8=2,
494// VSW_A_SEL_2_8=3
495//}pmu_vsw_a_volt;
496typedef enum
497{
498 VCAM_A_SEL_1_3=0,
499 VCAM_A_SEL_1_5=1,
500 VCAM_A_SEL_1_8=2,
501 VCAM_A_SEL_2_8=3
502}pmu_vcam_a_volt;
503
504typedef enum
505{
506 ICAL_A_1_0=0,
507 ICAL_A_0_5=1,
508 ICAL_A_2_0=2,
509 ICAL_A_3_0=3
510}pmu_icala_code;
511
512typedef enum
513{
514 ICAL_TCXO_1_0=0,
515 ICAL_TCXO_0_5=1,
516 ICAL_TCXO_2_0=2,
517 ICAL_TCXO_3_0=3
518}pmu_icaltcxo_code;
519
520typedef enum
521{
522 VREF_BG_INIT=0,
523 VREF_BG_PLUS_1_STEP=1,
524 VREF_BG_PLUS_2_STEP=2,
525 VREF_BG_PLUS_3_STEP=3,
526 VREF_BG_MINUS_4_STEP=4,
527 VREF_BG_MINUS_3_STEP=5,
528 VREF_BG_MINUS_2_STEP=6,
529 VREF_BG_MINUS_1_STEP=7
530}pmu_vref_bg;
531
532typedef enum
533{
534 THR_SEL_INIT=0,
535 THR_SEL_PLUS_10C=1,
536 THR_SEL_MINUS_20C=2,
537 THR_SEL_MINUS_10C=3
538}pmu_thr_sel;
539
540#define PMU_ADC_VISENSE_CH_NUM 4
541#define PMU_ADC_VBAT_CH_NUM 5
542#define PMU_ADC_VCHARGER_CH_NUM 6
543
544#define PMU_ADC_FACTOR_VBAT 100
545#define PMU_ADC_FACTOR_VISENSE 100
546#define PMU_ADC_FACTOR_VCHARGER 250
547
548#define PMU_BMT_CV_TARGET_VOLTAGE PMU_VOLT_04_200000_V
549
550#if defined(PMIC_FIXED_CHR_EINT)
551#define PMU_CHR_EINT_PIN 8
552#endif // #if defined(PMIC_FIXED_CHR_EINT)
553
554/*
555typedef enum
556{
557 VCORE,
558 VIO,
559 VRF,
560 VA,
561 VRTC,
562 VM,
563 VSIM,
564 VTCXO,
565 VSIM2,
566 VUSB,
567 VBT,
568 VCAMA,
569 VCAMD,
570 PMU_LDO_BUCK_MAX,
571 VMC,
572 VIBR,
573 VRF18,
574 VFM
575}PMU_LDO_BUCK_LIST_ENUM;
576
577typedef enum
578{
579 VPA1,
580 PMU_VPA_MAX
581}PMU_VPA_LIST_ENUM;
582
583
584typedef enum
585{
586 KPLED,
587 PMU_KPLED_MAX
588}PMU_KPLED_LIST_ENUM;
589
590typedef enum
591{
592 CHR,
593 PMU_CHR_MAX
594}PMU_CHR_LIST_ENUM;
595
596typedef enum
597{
598 PMU_ISINK_MAX
599}PMU_ISINK_LIST_ENUM;
600
601typedef enum
602{
603 PMU_BOOST_MAX
604}PMU_BOOST_LIST_ENUM;
605
606typedef enum
607{
608 PMU_SPK_MAX
609}PMU_SPK_LIST_ENUM;
610*/
611
612#endif //#if defined(PMIC_6235_REG_API)
613#endif //#ifndef __DCL_PMU6255_SW_H_STRUCT__
614
615
616
617
618
619
620
621