diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/regulator/max8997.c | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/drivers/regulator/max8997.c b/drivers/regulator/max8997.c index df0eafb0dc7e..02be7fcae32f 100644 --- a/drivers/regulator/max8997.c +++ b/drivers/regulator/max8997.c | |||
| @@ -71,26 +71,26 @@ struct voltage_map_desc { | |||
| 71 | int step; | 71 | int step; |
| 72 | }; | 72 | }; |
| 73 | 73 | ||
| 74 | /* Voltage maps in mV */ | 74 | /* Voltage maps in uV */ |
| 75 | static const struct voltage_map_desc ldo_voltage_map_desc = { | 75 | static const struct voltage_map_desc ldo_voltage_map_desc = { |
| 76 | .min = 800, .max = 3950, .step = 50, | 76 | .min = 800000, .max = 3950000, .step = 50000, |
| 77 | }; /* LDO1 ~ 18, 21 all */ | 77 | }; /* LDO1 ~ 18, 21 all */ |
| 78 | 78 | ||
| 79 | static const struct voltage_map_desc buck1245_voltage_map_desc = { | 79 | static const struct voltage_map_desc buck1245_voltage_map_desc = { |
| 80 | .min = 650, .max = 2225, .step = 25, | 80 | .min = 650000, .max = 2225000, .step = 25000, |
| 81 | }; /* Buck1, 2, 4, 5 */ | 81 | }; /* Buck1, 2, 4, 5 */ |
| 82 | 82 | ||
| 83 | static const struct voltage_map_desc buck37_voltage_map_desc = { | 83 | static const struct voltage_map_desc buck37_voltage_map_desc = { |
| 84 | .min = 750, .max = 3900, .step = 50, | 84 | .min = 750000, .max = 3900000, .step = 50000, |
| 85 | }; /* Buck3, 7 */ | 85 | }; /* Buck3, 7 */ |
| 86 | 86 | ||
| 87 | /* current map in mA */ | 87 | /* current map in uA */ |
| 88 | static const struct voltage_map_desc charger_current_map_desc = { | 88 | static const struct voltage_map_desc charger_current_map_desc = { |
| 89 | .min = 200, .max = 950, .step = 50, | 89 | .min = 200000, .max = 950000, .step = 50000, |
| 90 | }; | 90 | }; |
| 91 | 91 | ||
| 92 | static const struct voltage_map_desc topoff_current_map_desc = { | 92 | static const struct voltage_map_desc topoff_current_map_desc = { |
| 93 | .min = 50, .max = 200, .step = 10, | 93 | .min = 50000, .max = 200000, .step = 10000, |
| 94 | }; | 94 | }; |
| 95 | 95 | ||
| 96 | static const struct voltage_map_desc *reg_voltage_map[] = { | 96 | static const struct voltage_map_desc *reg_voltage_map[] = { |
| @@ -194,7 +194,7 @@ static int max8997_list_voltage(struct regulator_dev *rdev, | |||
| 194 | if (val > desc->max) | 194 | if (val > desc->max) |
| 195 | return -EINVAL; | 195 | return -EINVAL; |
| 196 | 196 | ||
| 197 | return val * 1000; | 197 | return val; |
| 198 | } | 198 | } |
| 199 | 199 | ||
| 200 | static int max8997_get_enable_register(struct regulator_dev *rdev, | 200 | static int max8997_get_enable_register(struct regulator_dev *rdev, |
| @@ -485,7 +485,6 @@ static int max8997_set_voltage_ldobuck(struct regulator_dev *rdev, | |||
| 485 | { | 485 | { |
| 486 | struct max8997_data *max8997 = rdev_get_drvdata(rdev); | 486 | struct max8997_data *max8997 = rdev_get_drvdata(rdev); |
| 487 | struct i2c_client *i2c = max8997->iodev->i2c; | 487 | struct i2c_client *i2c = max8997->iodev->i2c; |
| 488 | int min_vol = min_uV / 1000, max_vol = max_uV / 1000; | ||
| 489 | const struct voltage_map_desc *desc; | 488 | const struct voltage_map_desc *desc; |
| 490 | int rid = rdev_get_id(rdev); | 489 | int rid = rdev_get_id(rdev); |
| 491 | int i, reg, shift, mask, ret; | 490 | int i, reg, shift, mask, ret; |
| @@ -509,7 +508,7 @@ static int max8997_set_voltage_ldobuck(struct regulator_dev *rdev, | |||
| 509 | 508 | ||
| 510 | desc = reg_voltage_map[rid]; | 509 | desc = reg_voltage_map[rid]; |
| 511 | 510 | ||
| 512 | i = max8997_get_voltage_proper_val(desc, min_vol, max_vol); | 511 | i = max8997_get_voltage_proper_val(desc, min_uV, max_uV); |
| 513 | if (i < 0) | 512 | if (i < 0) |
| 514 | return i; | 513 | return i; |
| 515 | 514 | ||
| @@ -557,7 +556,7 @@ static int max8997_set_voltage_ldobuck_time_sel(struct regulator_dev *rdev, | |||
| 557 | case MAX8997_BUCK4: | 556 | case MAX8997_BUCK4: |
| 558 | case MAX8997_BUCK5: | 557 | case MAX8997_BUCK5: |
| 559 | return DIV_ROUND_UP(desc->step * (new_selector - old_selector), | 558 | return DIV_ROUND_UP(desc->step * (new_selector - old_selector), |
| 560 | max8997->ramp_delay); | 559 | max8997->ramp_delay * 1000); |
| 561 | } | 560 | } |
| 562 | 561 | ||
| 563 | return 0; | 562 | return 0; |
| @@ -656,7 +655,6 @@ static int max8997_set_voltage_buck(struct regulator_dev *rdev, | |||
| 656 | const struct voltage_map_desc *desc; | 655 | const struct voltage_map_desc *desc; |
| 657 | int new_val, new_idx, damage, tmp_val, tmp_idx, tmp_dmg; | 656 | int new_val, new_idx, damage, tmp_val, tmp_idx, tmp_dmg; |
| 658 | bool gpio_dvs_mode = false; | 657 | bool gpio_dvs_mode = false; |
| 659 | int min_vol = min_uV / 1000, max_vol = max_uV / 1000; | ||
| 660 | 658 | ||
| 661 | if (rid < MAX8997_BUCK1 || rid > MAX8997_BUCK7) | 659 | if (rid < MAX8997_BUCK1 || rid > MAX8997_BUCK7) |
| 662 | return -EINVAL; | 660 | return -EINVAL; |
| @@ -681,7 +679,7 @@ static int max8997_set_voltage_buck(struct regulator_dev *rdev, | |||
| 681 | selector); | 679 | selector); |
| 682 | 680 | ||
| 683 | desc = reg_voltage_map[rid]; | 681 | desc = reg_voltage_map[rid]; |
| 684 | new_val = max8997_get_voltage_proper_val(desc, min_vol, max_vol); | 682 | new_val = max8997_get_voltage_proper_val(desc, min_uV, max_uV); |
| 685 | if (new_val < 0) | 683 | if (new_val < 0) |
| 686 | return new_val; | 684 | return new_val; |
| 687 | 685 | ||
| @@ -1123,8 +1121,8 @@ static int max8997_pmic_probe(struct platform_device *pdev) | |||
| 1123 | max8997->buck1_vol[i] = ret = | 1121 | max8997->buck1_vol[i] = ret = |
| 1124 | max8997_get_voltage_proper_val( | 1122 | max8997_get_voltage_proper_val( |
| 1125 | &buck1245_voltage_map_desc, | 1123 | &buck1245_voltage_map_desc, |
| 1126 | pdata->buck1_voltage[i] / 1000, | 1124 | pdata->buck1_voltage[i], |
| 1127 | pdata->buck1_voltage[i] / 1000 + | 1125 | pdata->buck1_voltage[i] + |
| 1128 | buck1245_voltage_map_desc.step); | 1126 | buck1245_voltage_map_desc.step); |
| 1129 | if (ret < 0) | 1127 | if (ret < 0) |
| 1130 | goto err_out; | 1128 | goto err_out; |
| @@ -1132,8 +1130,8 @@ static int max8997_pmic_probe(struct platform_device *pdev) | |||
| 1132 | max8997->buck2_vol[i] = ret = | 1130 | max8997->buck2_vol[i] = ret = |
| 1133 | max8997_get_voltage_proper_val( | 1131 | max8997_get_voltage_proper_val( |
| 1134 | &buck1245_voltage_map_desc, | 1132 | &buck1245_voltage_map_desc, |
| 1135 | pdata->buck2_voltage[i] / 1000, | 1133 | pdata->buck2_voltage[i], |
| 1136 | pdata->buck2_voltage[i] / 1000 + | 1134 | pdata->buck2_voltage[i] + |
| 1137 | buck1245_voltage_map_desc.step); | 1135 | buck1245_voltage_map_desc.step); |
| 1138 | if (ret < 0) | 1136 | if (ret < 0) |
| 1139 | goto err_out; | 1137 | goto err_out; |
| @@ -1141,8 +1139,8 @@ static int max8997_pmic_probe(struct platform_device *pdev) | |||
| 1141 | max8997->buck5_vol[i] = ret = | 1139 | max8997->buck5_vol[i] = ret = |
| 1142 | max8997_get_voltage_proper_val( | 1140 | max8997_get_voltage_proper_val( |
| 1143 | &buck1245_voltage_map_desc, | 1141 | &buck1245_voltage_map_desc, |
| 1144 | pdata->buck5_voltage[i] / 1000, | 1142 | pdata->buck5_voltage[i], |
| 1145 | pdata->buck5_voltage[i] / 1000 + | 1143 | pdata->buck5_voltage[i] + |
| 1146 | buck1245_voltage_map_desc.step); | 1144 | buck1245_voltage_map_desc.step); |
| 1147 | if (ret < 0) | 1145 | if (ret < 0) |
| 1148 | goto err_out; | 1146 | goto err_out; |
