lkml.org 
[lkml]   [2013]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/4] regulator: s2mps11: Convert ramp rate to uV/us and set default ramp rate
    Date
    This patch makes driver to use uV/us as units of ramp_delay. It makes driver
    in compliance with regulator framework and make ramp rate precise.

    This patch also sets default ramp rate in regulator descriptor which can be
    used in case if case ramp rate is not set in regulator constraints.

    Signed-off-by: Yadwinder Singh Brar <yadi.brar@samsung.com>
    ---
    drivers/regulator/s2mps11.c | 7 ++++++-
    include/linux/mfd/samsung/s2mps11.h | 1 +
    2 files changed, 7 insertions(+), 1 deletions(-)

    diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c
    index cd9ea2e..0ec9aea 100644
    --- a/drivers/regulator/s2mps11.c
    +++ b/drivers/regulator/s2mps11.c
    @@ -43,7 +43,7 @@ static int get_ramp_delay(int ramp_delay)
    {
    unsigned char cnt = 0;

    - ramp_delay /= 6;
    + ramp_delay /= 6250;

    while (true) {
    ramp_delay = ramp_delay >> 1;
    @@ -114,6 +114,7 @@ static struct regulator_ops s2mps11_buck_ops = {
    .min_uV = S2MPS11_BUCK_MIN1, \
    .uV_step = S2MPS11_BUCK_STEP1, \
    .n_voltages = S2MPS11_BUCK_N_VOLTAGES, \
    + .ramp_delay = S2MPS11_RAMP_DELAY, \
    .vsel_reg = S2MPS11_REG_B1CTRL2 + (num - 1) * 2, \
    .vsel_mask = S2MPS11_BUCK_VSEL_MASK, \
    .enable_reg = S2MPS11_REG_B1CTRL1 + (num - 1) * 2, \
    @@ -129,6 +130,7 @@ static struct regulator_ops s2mps11_buck_ops = {
    .min_uV = S2MPS11_BUCK_MIN1, \
    .uV_step = S2MPS11_BUCK_STEP1, \
    .n_voltages = S2MPS11_BUCK_N_VOLTAGES, \
    + .ramp_delay = S2MPS11_RAMP_DELAY, \
    .vsel_reg = S2MPS11_REG_B5CTRL2, \
    .vsel_mask = S2MPS11_BUCK_VSEL_MASK, \
    .enable_reg = S2MPS11_REG_B5CTRL1, \
    @@ -144,6 +146,7 @@ static struct regulator_ops s2mps11_buck_ops = {
    .min_uV = S2MPS11_BUCK_MIN1, \
    .uV_step = S2MPS11_BUCK_STEP1, \
    .n_voltages = S2MPS11_BUCK_N_VOLTAGES, \
    + .ramp_delay = S2MPS11_RAMP_DELAY, \
    .vsel_reg = S2MPS11_REG_B6CTRL2 + (num - 6) * 2, \
    .vsel_mask = S2MPS11_BUCK_VSEL_MASK, \
    .enable_reg = S2MPS11_REG_B6CTRL1 + (num - 6) * 2, \
    @@ -159,6 +162,7 @@ static struct regulator_ops s2mps11_buck_ops = {
    .min_uV = S2MPS11_BUCK_MIN3, \
    .uV_step = S2MPS11_BUCK_STEP3, \
    .n_voltages = S2MPS11_BUCK_N_VOLTAGES, \
    + .ramp_delay = S2MPS11_RAMP_DELAY, \
    .vsel_reg = S2MPS11_REG_B9CTRL2, \
    .vsel_mask = S2MPS11_BUCK_VSEL_MASK, \
    .enable_reg = S2MPS11_REG_B9CTRL1, \
    @@ -174,6 +178,7 @@ static struct regulator_ops s2mps11_buck_ops = {
    .min_uV = S2MPS11_BUCK_MIN2, \
    .uV_step = S2MPS11_BUCK_STEP2, \
    .n_voltages = S2MPS11_BUCK_N_VOLTAGES, \
    + .ramp_delay = S2MPS11_RAMP_DELAY, \
    .vsel_reg = S2MPS11_REG_B10CTRL2, \
    .vsel_mask = S2MPS11_BUCK_VSEL_MASK, \
    .enable_reg = S2MPS11_REG_B10CTRL1, \
    diff --git a/include/linux/mfd/samsung/s2mps11.h b/include/linux/mfd/samsung/s2mps11.h
    index ad2252f..4e94dc6 100644
    --- a/include/linux/mfd/samsung/s2mps11.h
    +++ b/include/linux/mfd/samsung/s2mps11.h
    @@ -189,6 +189,7 @@ enum s2mps11_regulators {
    #define S2MPS11_ENABLE_SHIFT 0x06
    #define S2MPS11_LDO_N_VOLTAGES (S2MPS11_LDO_VSEL_MASK + 1)
    #define S2MPS11_BUCK_N_VOLTAGES (S2MPS11_BUCK_VSEL_MASK + 1)
    +#define S2MPS11_RAMP_DELAY 25000 /* uV/us */

    #define S2MPS11_PMIC_EN_SHIFT 6
    #define S2MPS11_REGULATOR_MAX (S2MPS11_REG_MAX - 3)
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2013-07-03 14:21    [W:3.242 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site