@@ -37,7 +37,7 @@ struct mt6358_regulator_info {
37
37
#define to_regulator_info (x ) container_of((x), struct mt6358_regulator_info, desc)
38
38
39
39
#define MT6358_BUCK (match , vreg , min , max , step , \
40
- volt_ranges , vosel_mask , _da_vsel_reg , _da_vsel_mask , \
40
+ vosel_mask , _da_vsel_reg , _da_vsel_mask , \
41
41
_modeset_reg , _modeset_shift ) \
42
42
[MT6358_ID_##vreg] = { \
43
43
.desc = { \
@@ -48,8 +48,8 @@ struct mt6358_regulator_info {
48
48
.id = MT6358_ID_##vreg, \
49
49
.owner = THIS_MODULE, \
50
50
.n_voltages = ((max) - (min)) / (step) + 1, \
51
- .linear_ranges = volt_ranges , \
52
- .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
51
+ .min_uV = (min) , \
52
+ .uV_step = (step), \
53
53
.vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
54
54
.vsel_mask = vosel_mask, \
55
55
.enable_reg = MT6358_BUCK_##vreg##_CON0, \
@@ -89,7 +89,7 @@ struct mt6358_regulator_info {
89
89
}
90
90
91
91
#define MT6358_LDO1 (match , vreg , min , max , step , \
92
- volt_ranges , _da_vsel_reg , _da_vsel_mask , \
92
+ _da_vsel_reg , _da_vsel_mask , \
93
93
vosel , vosel_mask ) \
94
94
[MT6358_ID_##vreg] = { \
95
95
.desc = { \
@@ -100,8 +100,8 @@ struct mt6358_regulator_info {
100
100
.id = MT6358_ID_##vreg, \
101
101
.owner = THIS_MODULE, \
102
102
.n_voltages = ((max) - (min)) / (step) + 1, \
103
- .linear_ranges = volt_ranges, \
104
- .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
103
+ .min_uV = (min), \
104
+ .uV_step = (step), \
105
105
.vsel_reg = vosel, \
106
106
.vsel_mask = vosel_mask, \
107
107
.enable_reg = MT6358_LDO_##vreg##_CON0, \
@@ -133,7 +133,7 @@ struct mt6358_regulator_info {
133
133
}
134
134
135
135
#define MT6366_BUCK (match , vreg , min , max , step , \
136
- volt_ranges , vosel_mask , _da_vsel_reg , _da_vsel_mask , \
136
+ vosel_mask , _da_vsel_reg , _da_vsel_mask , \
137
137
_modeset_reg , _modeset_shift ) \
138
138
[MT6366_ID_##vreg] = { \
139
139
.desc = { \
@@ -144,8 +144,8 @@ struct mt6358_regulator_info {
144
144
.id = MT6366_ID_##vreg, \
145
145
.owner = THIS_MODULE, \
146
146
.n_voltages = ((max) - (min)) / (step) + 1, \
147
- .linear_ranges = volt_ranges , \
148
- .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
147
+ .min_uV = (min) , \
148
+ .uV_step = (step), \
149
149
.vsel_reg = MT6358_BUCK_##vreg##_ELR0, \
150
150
.vsel_mask = vosel_mask, \
151
151
.enable_reg = MT6358_BUCK_##vreg##_CON0, \
@@ -185,7 +185,7 @@ struct mt6358_regulator_info {
185
185
}
186
186
187
187
#define MT6366_LDO1 (match , vreg , min , max , step , \
188
- volt_ranges , _da_vsel_reg , _da_vsel_mask , \
188
+ _da_vsel_reg , _da_vsel_mask , \
189
189
vosel , vosel_mask ) \
190
190
[MT6366_ID_##vreg] = { \
191
191
.desc = { \
@@ -196,8 +196,8 @@ struct mt6358_regulator_info {
196
196
.id = MT6366_ID_##vreg, \
197
197
.owner = THIS_MODULE, \
198
198
.n_voltages = ((max) - (min)) / (step) + 1, \
199
- .linear_ranges = volt_ranges, \
200
- .n_linear_ranges = ARRAY_SIZE(volt_ranges), \
199
+ .min_uV = (min), \
200
+ .uV_step = (step), \
201
201
.vsel_reg = vosel, \
202
202
.vsel_mask = vosel_mask, \
203
203
.enable_reg = MT6358_LDO_##vreg##_CON0, \
@@ -228,21 +228,6 @@ struct mt6358_regulator_info {
228
228
.qi = BIT(15), \
229
229
}
230
230
231
- static const struct linear_range buck_volt_range1 [] = {
232
- REGULATOR_LINEAR_RANGE (500000 , 0 , 0x7f , 6250 ),
233
- };
234
-
235
- static const struct linear_range buck_volt_range2 [] = {
236
- REGULATOR_LINEAR_RANGE (500000 , 0 , 0x7f , 12500 ),
237
- };
238
-
239
- static const struct linear_range buck_volt_range3 [] = {
240
- REGULATOR_LINEAR_RANGE (500000 , 0 , 0x3f , 50000 ),
241
- };
242
-
243
- static const struct linear_range buck_volt_range4 [] = {
244
- REGULATOR_LINEAR_RANGE (1000000 , 0 , 0x7f , 12500 ),
245
- };
246
231
247
232
static const unsigned int vdram2_voltages [] = {
248
233
600000 , 1800000 ,
@@ -466,8 +451,8 @@ static unsigned int mt6358_regulator_get_mode(struct regulator_dev *rdev)
466
451
}
467
452
468
453
static const struct regulator_ops mt6358_volt_range_ops = {
469
- .list_voltage = regulator_list_voltage_linear_range ,
470
- .map_voltage = regulator_map_voltage_linear_range ,
454
+ .list_voltage = regulator_list_voltage_linear ,
455
+ .map_voltage = regulator_map_voltage_linear ,
471
456
.set_voltage_sel = regulator_set_voltage_sel_regmap ,
472
457
.get_voltage_sel = mt6358_get_buck_voltage_sel ,
473
458
.set_voltage_time_sel = regulator_set_voltage_time_sel ,
@@ -502,32 +487,23 @@ static const struct regulator_ops mt6358_volt_fixed_ops = {
502
487
/* The array is indexed by id(MT6358_ID_XXX) */
503
488
static const struct mt6358_regulator_info mt6358_regulators [] = {
504
489
MT6358_BUCK ("buck_vdram1" , VDRAM1 , 500000 , 2087500 , 12500 ,
505
- buck_volt_range2 , 0x7f , MT6358_BUCK_VDRAM1_DBG0 , 0x7f ,
506
- MT6358_VDRAM1_ANA_CON0 , 8 ),
490
+ 0x7f , MT6358_BUCK_VDRAM1_DBG0 , 0x7f , MT6358_VDRAM1_ANA_CON0 , 8 ),
507
491
MT6358_BUCK ("buck_vcore" , VCORE , 500000 , 1293750 , 6250 ,
508
- buck_volt_range1 , 0x7f , MT6358_BUCK_VCORE_DBG0 , 0x7f ,
509
- MT6358_VCORE_VGPU_ANA_CON0 , 1 ),
492
+ 0x7f , MT6358_BUCK_VCORE_DBG0 , 0x7f , MT6358_VCORE_VGPU_ANA_CON0 , 1 ),
510
493
MT6358_BUCK ("buck_vpa" , VPA , 500000 , 3650000 , 50000 ,
511
- buck_volt_range3 , 0x3f , MT6358_BUCK_VPA_DBG0 , 0x3f ,
512
- MT6358_VPA_ANA_CON0 , 3 ),
494
+ 0x3f , MT6358_BUCK_VPA_DBG0 , 0x3f , MT6358_VPA_ANA_CON0 , 3 ),
513
495
MT6358_BUCK ("buck_vproc11" , VPROC11 , 500000 , 1293750 , 6250 ,
514
- buck_volt_range1 , 0x7f , MT6358_BUCK_VPROC11_DBG0 , 0x7f ,
515
- MT6358_VPROC_ANA_CON0 , 1 ),
496
+ 0x7f , MT6358_BUCK_VPROC11_DBG0 , 0x7f , MT6358_VPROC_ANA_CON0 , 1 ),
516
497
MT6358_BUCK ("buck_vproc12" , VPROC12 , 500000 , 1293750 , 6250 ,
517
- buck_volt_range1 , 0x7f , MT6358_BUCK_VPROC12_DBG0 , 0x7f ,
518
- MT6358_VPROC_ANA_CON0 , 2 ),
498
+ 0x7f , MT6358_BUCK_VPROC12_DBG0 , 0x7f , MT6358_VPROC_ANA_CON0 , 2 ),
519
499
MT6358_BUCK ("buck_vgpu" , VGPU , 500000 , 1293750 , 6250 ,
520
- buck_volt_range1 , 0x7f , MT6358_BUCK_VGPU_ELR0 , 0x7f ,
521
- MT6358_VCORE_VGPU_ANA_CON0 , 2 ),
500
+ 0x7f , MT6358_BUCK_VGPU_ELR0 , 0x7f , MT6358_VCORE_VGPU_ANA_CON0 , 2 ),
522
501
MT6358_BUCK ("buck_vs2" , VS2 , 500000 , 2087500 , 12500 ,
523
- buck_volt_range2 , 0x7f , MT6358_BUCK_VS2_DBG0 , 0x7f ,
524
- MT6358_VS2_ANA_CON0 , 8 ),
502
+ 0x7f , MT6358_BUCK_VS2_DBG0 , 0x7f , MT6358_VS2_ANA_CON0 , 8 ),
525
503
MT6358_BUCK ("buck_vmodem" , VMODEM , 500000 , 1293750 , 6250 ,
526
- buck_volt_range1 , 0x7f , MT6358_BUCK_VMODEM_DBG0 , 0x7f ,
527
- MT6358_VMODEM_ANA_CON0 , 8 ),
504
+ 0x7f , MT6358_BUCK_VMODEM_DBG0 , 0x7f , MT6358_VMODEM_ANA_CON0 , 8 ),
528
505
MT6358_BUCK ("buck_vs1" , VS1 , 1000000 , 2587500 , 12500 ,
529
- buck_volt_range4 , 0x7f , MT6358_BUCK_VS1_DBG0 , 0x7f ,
530
- MT6358_VS1_ANA_CON0 , 8 ),
506
+ 0x7f , MT6358_BUCK_VS1_DBG0 , 0x7f , MT6358_VS1_ANA_CON0 , 8 ),
531
507
MT6358_REG_FIXED ("ldo_vrf12" , VRF12 ,
532
508
MT6358_LDO_VRF12_CON0 , 0 , 1200000 ),
533
509
MT6358_REG_FIXED ("ldo_vio18" , VIO18 ,
@@ -577,48 +553,35 @@ static const struct mt6358_regulator_info mt6358_regulators[] = {
577
553
MT6358_LDO ("ldo_vsim2" , VSIM2 , vsim_voltages , vsim_idx ,
578
554
MT6358_LDO_VSIM2_CON0 , 0 , MT6358_VSIM2_ANA_CON0 , 0xf00 ),
579
555
MT6358_LDO1 ("ldo_vsram_proc11" , VSRAM_PROC11 , 500000 , 1293750 , 6250 ,
580
- buck_volt_range1 , MT6358_LDO_VSRAM_PROC11_DBG0 , 0x7f00 ,
581
- MT6358_LDO_VSRAM_CON0 , 0x7f ),
556
+ MT6358_LDO_VSRAM_PROC11_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON0 , 0x7f ),
582
557
MT6358_LDO1 ("ldo_vsram_others" , VSRAM_OTHERS , 500000 , 1293750 , 6250 ,
583
- buck_volt_range1 , MT6358_LDO_VSRAM_OTHERS_DBG0 , 0x7f00 ,
584
- MT6358_LDO_VSRAM_CON2 , 0x7f ),
558
+ MT6358_LDO_VSRAM_OTHERS_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON2 , 0x7f ),
585
559
MT6358_LDO1 ("ldo_vsram_gpu" , VSRAM_GPU , 500000 , 1293750 , 6250 ,
586
- buck_volt_range1 , MT6358_LDO_VSRAM_GPU_DBG0 , 0x7f00 ,
587
- MT6358_LDO_VSRAM_CON3 , 0x7f ),
560
+ MT6358_LDO_VSRAM_GPU_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON3 , 0x7f ),
588
561
MT6358_LDO1 ("ldo_vsram_proc12" , VSRAM_PROC12 , 500000 , 1293750 , 6250 ,
589
- buck_volt_range1 , MT6358_LDO_VSRAM_PROC12_DBG0 , 0x7f00 ,
590
- MT6358_LDO_VSRAM_CON1 , 0x7f ),
562
+ MT6358_LDO_VSRAM_PROC12_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON1 , 0x7f ),
591
563
};
592
564
593
565
/* The array is indexed by id(MT6366_ID_XXX) */
594
566
static const struct mt6358_regulator_info mt6366_regulators [] = {
595
567
MT6366_BUCK ("buck_vdram1" , VDRAM1 , 500000 , 2087500 , 12500 ,
596
- buck_volt_range2 , 0x7f , MT6358_BUCK_VDRAM1_DBG0 , 0x7f ,
597
- MT6358_VDRAM1_ANA_CON0 , 8 ),
568
+ 0x7f , MT6358_BUCK_VDRAM1_DBG0 , 0x7f , MT6358_VDRAM1_ANA_CON0 , 8 ),
598
569
MT6366_BUCK ("buck_vcore" , VCORE , 500000 , 1293750 , 6250 ,
599
- buck_volt_range1 , 0x7f , MT6358_BUCK_VCORE_DBG0 , 0x7f ,
600
- MT6358_VCORE_VGPU_ANA_CON0 , 1 ),
570
+ 0x7f , MT6358_BUCK_VCORE_DBG0 , 0x7f , MT6358_VCORE_VGPU_ANA_CON0 , 1 ),
601
571
MT6366_BUCK ("buck_vpa" , VPA , 500000 , 3650000 , 50000 ,
602
- buck_volt_range3 , 0x3f , MT6358_BUCK_VPA_DBG0 , 0x3f ,
603
- MT6358_VPA_ANA_CON0 , 3 ),
572
+ 0x3f , MT6358_BUCK_VPA_DBG0 , 0x3f , MT6358_VPA_ANA_CON0 , 3 ),
604
573
MT6366_BUCK ("buck_vproc11" , VPROC11 , 500000 , 1293750 , 6250 ,
605
- buck_volt_range1 , 0x7f , MT6358_BUCK_VPROC11_DBG0 , 0x7f ,
606
- MT6358_VPROC_ANA_CON0 , 1 ),
574
+ 0x7f , MT6358_BUCK_VPROC11_DBG0 , 0x7f , MT6358_VPROC_ANA_CON0 , 1 ),
607
575
MT6366_BUCK ("buck_vproc12" , VPROC12 , 500000 , 1293750 , 6250 ,
608
- buck_volt_range1 , 0x7f , MT6358_BUCK_VPROC12_DBG0 , 0x7f ,
609
- MT6358_VPROC_ANA_CON0 , 2 ),
576
+ 0x7f , MT6358_BUCK_VPROC12_DBG0 , 0x7f , MT6358_VPROC_ANA_CON0 , 2 ),
610
577
MT6366_BUCK ("buck_vgpu" , VGPU , 500000 , 1293750 , 6250 ,
611
- buck_volt_range1 , 0x7f , MT6358_BUCK_VGPU_ELR0 , 0x7f ,
612
- MT6358_VCORE_VGPU_ANA_CON0 , 2 ),
578
+ 0x7f , MT6358_BUCK_VGPU_ELR0 , 0x7f , MT6358_VCORE_VGPU_ANA_CON0 , 2 ),
613
579
MT6366_BUCK ("buck_vs2" , VS2 , 500000 , 2087500 , 12500 ,
614
- buck_volt_range2 , 0x7f , MT6358_BUCK_VS2_DBG0 , 0x7f ,
615
- MT6358_VS2_ANA_CON0 , 8 ),
580
+ 0x7f , MT6358_BUCK_VS2_DBG0 , 0x7f , MT6358_VS2_ANA_CON0 , 8 ),
616
581
MT6366_BUCK ("buck_vmodem" , VMODEM , 500000 , 1293750 , 6250 ,
617
- buck_volt_range1 , 0x7f , MT6358_BUCK_VMODEM_DBG0 , 0x7f ,
618
- MT6358_VMODEM_ANA_CON0 , 8 ),
582
+ 0x7f , MT6358_BUCK_VMODEM_DBG0 , 0x7f , MT6358_VMODEM_ANA_CON0 , 8 ),
619
583
MT6366_BUCK ("buck_vs1" , VS1 , 1000000 , 2587500 , 12500 ,
620
- buck_volt_range4 , 0x7f , MT6358_BUCK_VS1_DBG0 , 0x7f ,
621
- MT6358_VS1_ANA_CON0 , 8 ),
584
+ 0x7f , MT6358_BUCK_VS1_DBG0 , 0x7f , MT6358_VS1_ANA_CON0 , 8 ),
622
585
MT6366_REG_FIXED ("ldo_vrf12" , VRF12 ,
623
586
MT6358_LDO_VRF12_CON0 , 0 , 1200000 ),
624
587
MT6366_REG_FIXED ("ldo_vio18" , VIO18 ,
@@ -657,17 +620,13 @@ static const struct mt6358_regulator_info mt6366_regulators[] = {
657
620
MT6366_LDO ("ldo_vsim2" , VSIM2 , vsim_voltages , vsim_idx ,
658
621
MT6358_LDO_VSIM2_CON0 , 0 , MT6358_VSIM2_ANA_CON0 , 0xf00 ),
659
622
MT6366_LDO1 ("ldo_vsram_proc11" , VSRAM_PROC11 , 500000 , 1293750 , 6250 ,
660
- buck_volt_range1 , MT6358_LDO_VSRAM_PROC11_DBG0 , 0x7f00 ,
661
- MT6358_LDO_VSRAM_CON0 , 0x7f ),
623
+ MT6358_LDO_VSRAM_PROC11_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON0 , 0x7f ),
662
624
MT6366_LDO1 ("ldo_vsram_others" , VSRAM_OTHERS , 500000 , 1293750 , 6250 ,
663
- buck_volt_range1 , MT6358_LDO_VSRAM_OTHERS_DBG0 , 0x7f00 ,
664
- MT6358_LDO_VSRAM_CON2 , 0x7f ),
625
+ MT6358_LDO_VSRAM_OTHERS_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON2 , 0x7f ),
665
626
MT6366_LDO1 ("ldo_vsram_gpu" , VSRAM_GPU , 500000 , 1293750 , 6250 ,
666
- buck_volt_range1 , MT6358_LDO_VSRAM_GPU_DBG0 , 0x7f00 ,
667
- MT6358_LDO_VSRAM_CON3 , 0x7f ),
627
+ MT6358_LDO_VSRAM_GPU_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON3 , 0x7f ),
668
628
MT6366_LDO1 ("ldo_vsram_proc12" , VSRAM_PROC12 , 500000 , 1293750 , 6250 ,
669
- buck_volt_range1 , MT6358_LDO_VSRAM_PROC12_DBG0 , 0x7f00 ,
670
- MT6358_LDO_VSRAM_CON1 , 0x7f ),
629
+ MT6358_LDO_VSRAM_PROC12_DBG0 , 0x7f00 , MT6358_LDO_VSRAM_CON1 , 0x7f ),
671
630
};
672
631
673
632
static int mt6358_sync_vcn33_setting (struct device * dev )
0 commit comments