diff options
| -rw-r--r-- | drivers/regulator/s2mps11.c | 42 | ||||
| -rw-r--r-- | include/linux/mfd/samsung/s2mps13.h | 2 |
2 files changed, 40 insertions, 4 deletions
diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c index c1444c3d84c2..13ca20ed33a6 100644 --- a/drivers/regulator/s2mps11.c +++ b/drivers/regulator/s2mps11.c | |||
| @@ -405,6 +405,40 @@ static struct regulator_ops s2mps14_reg_ops; | |||
| 405 | .enable_mask = S2MPS14_ENABLE_MASK \ | 405 | .enable_mask = S2MPS14_ENABLE_MASK \ |
| 406 | } | 406 | } |
| 407 | 407 | ||
| 408 | #define regulator_desc_s2mps13_buck7(num, min, step, min_sel) { \ | ||
| 409 | .name = "BUCK"#num, \ | ||
| 410 | .id = S2MPS13_BUCK##num, \ | ||
| 411 | .ops = &s2mps14_reg_ops, \ | ||
| 412 | .type = REGULATOR_VOLTAGE, \ | ||
| 413 | .owner = THIS_MODULE, \ | ||
| 414 | .min_uV = min, \ | ||
| 415 | .uV_step = step, \ | ||
| 416 | .linear_min_sel = min_sel, \ | ||
| 417 | .n_voltages = S2MPS14_BUCK_N_VOLTAGES, \ | ||
| 418 | .ramp_delay = S2MPS13_BUCK_RAMP_DELAY, \ | ||
| 419 | .vsel_reg = S2MPS13_REG_B1OUT + (num) * 2 - 1, \ | ||
| 420 | .vsel_mask = S2MPS14_BUCK_VSEL_MASK, \ | ||
| 421 | .enable_reg = S2MPS13_REG_B1CTRL + (num - 1) * 2, \ | ||
| 422 | .enable_mask = S2MPS14_ENABLE_MASK \ | ||
| 423 | } | ||
| 424 | |||
| 425 | #define regulator_desc_s2mps13_buck8_10(num, min, step, min_sel) { \ | ||
| 426 | .name = "BUCK"#num, \ | ||
| 427 | .id = S2MPS13_BUCK##num, \ | ||
| 428 | .ops = &s2mps14_reg_ops, \ | ||
| 429 | .type = REGULATOR_VOLTAGE, \ | ||
| 430 | .owner = THIS_MODULE, \ | ||
| 431 | .min_uV = min, \ | ||
| 432 | .uV_step = step, \ | ||
| 433 | .linear_min_sel = min_sel, \ | ||
| 434 | .n_voltages = S2MPS14_BUCK_N_VOLTAGES, \ | ||
| 435 | .ramp_delay = S2MPS13_BUCK_RAMP_DELAY, \ | ||
| 436 | .vsel_reg = S2MPS13_REG_B1OUT + (num) * 2 - 1, \ | ||
| 437 | .vsel_mask = S2MPS14_BUCK_VSEL_MASK, \ | ||
| 438 | .enable_reg = S2MPS13_REG_B1CTRL + (num) * 2 - 1, \ | ||
| 439 | .enable_mask = S2MPS14_ENABLE_MASK \ | ||
| 440 | } | ||
| 441 | |||
| 408 | static const struct regulator_desc s2mps13_regulators[] = { | 442 | static const struct regulator_desc s2mps13_regulators[] = { |
| 409 | regulator_desc_s2mps13_ldo(1, MIN_800_MV, STEP_12_5_MV, 0x00), | 443 | regulator_desc_s2mps13_ldo(1, MIN_800_MV, STEP_12_5_MV, 0x00), |
| 410 | regulator_desc_s2mps13_ldo(2, MIN_1400_MV, STEP_50_MV, 0x0C), | 444 | regulator_desc_s2mps13_ldo(2, MIN_1400_MV, STEP_50_MV, 0x0C), |
| @@ -452,10 +486,10 @@ static const struct regulator_desc s2mps13_regulators[] = { | |||
| 452 | regulator_desc_s2mps13_buck(4, MIN_500_MV, STEP_6_25_MV, 0x10), | 486 | regulator_desc_s2mps13_buck(4, MIN_500_MV, STEP_6_25_MV, 0x10), |
| 453 | regulator_desc_s2mps13_buck(5, MIN_500_MV, STEP_6_25_MV, 0x10), | 487 | regulator_desc_s2mps13_buck(5, MIN_500_MV, STEP_6_25_MV, 0x10), |
| 454 | regulator_desc_s2mps13_buck(6, MIN_500_MV, STEP_6_25_MV, 0x10), | 488 | regulator_desc_s2mps13_buck(6, MIN_500_MV, STEP_6_25_MV, 0x10), |
| 455 | regulator_desc_s2mps13_buck(7, MIN_500_MV, STEP_6_25_MV, 0x10), | 489 | regulator_desc_s2mps13_buck7(7, MIN_500_MV, STEP_6_25_MV, 0x10), |
| 456 | regulator_desc_s2mps13_buck(8, MIN_1000_MV, STEP_12_5_MV, 0x20), | 490 | regulator_desc_s2mps13_buck8_10(8, MIN_1000_MV, STEP_12_5_MV, 0x20), |
| 457 | regulator_desc_s2mps13_buck(9, MIN_1000_MV, STEP_12_5_MV, 0x20), | 491 | regulator_desc_s2mps13_buck8_10(9, MIN_1000_MV, STEP_12_5_MV, 0x20), |
| 458 | regulator_desc_s2mps13_buck(10, MIN_500_MV, STEP_6_25_MV, 0x10), | 492 | regulator_desc_s2mps13_buck8_10(10, MIN_500_MV, STEP_6_25_MV, 0x10), |
| 459 | }; | 493 | }; |
| 460 | 494 | ||
| 461 | static int s2mps14_regulator_enable(struct regulator_dev *rdev) | 495 | static int s2mps14_regulator_enable(struct regulator_dev *rdev) |
diff --git a/include/linux/mfd/samsung/s2mps13.h b/include/linux/mfd/samsung/s2mps13.h index ce5dda8958fe..b1fd675fa36f 100644 --- a/include/linux/mfd/samsung/s2mps13.h +++ b/include/linux/mfd/samsung/s2mps13.h | |||
| @@ -59,6 +59,7 @@ enum s2mps13_reg { | |||
| 59 | S2MPS13_REG_B6CTRL, | 59 | S2MPS13_REG_B6CTRL, |
| 60 | S2MPS13_REG_B6OUT, | 60 | S2MPS13_REG_B6OUT, |
| 61 | S2MPS13_REG_B7CTRL, | 61 | S2MPS13_REG_B7CTRL, |
| 62 | S2MPS13_REG_B7SW, | ||
| 62 | S2MPS13_REG_B7OUT, | 63 | S2MPS13_REG_B7OUT, |
| 63 | S2MPS13_REG_B8CTRL, | 64 | S2MPS13_REG_B8CTRL, |
| 64 | S2MPS13_REG_B8OUT, | 65 | S2MPS13_REG_B8OUT, |
| @@ -102,6 +103,7 @@ enum s2mps13_reg { | |||
| 102 | S2MPS13_REG_L26CTRL, | 103 | S2MPS13_REG_L26CTRL, |
| 103 | S2MPS13_REG_L27CTRL, | 104 | S2MPS13_REG_L27CTRL, |
| 104 | S2MPS13_REG_L28CTRL, | 105 | S2MPS13_REG_L28CTRL, |
| 106 | S2MPS13_REG_L29CTRL, | ||
| 105 | S2MPS13_REG_L30CTRL, | 107 | S2MPS13_REG_L30CTRL, |
| 106 | S2MPS13_REG_L31CTRL, | 108 | S2MPS13_REG_L31CTRL, |
| 107 | S2MPS13_REG_L32CTRL, | 109 | S2MPS13_REG_L32CTRL, |
