All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jaehoon Chung" <jh80.chung@samsung.com>
To: "'Shree Ramamoorthy'" <s-ramamoorthy@ti.com>,
	<u-boot@lists.denx.de>, <trini@konsulko.com>
Cc: <m-leonard@ti.com>, <praneeth@ti.com>
Subject: RE: [PATCH v1 2/2] power: replace magic numbers with macros
Date: Fri, 20 Dec 2024 11:04:57 +0900	[thread overview]
Message-ID: <049f01db5283$91a33fb0$b4e9bf10$@samsung.com> (raw)
In-Reply-To: <6a7b88ae-da5a-4430-87a4-84f4005fe183@ti.com>



> -----Original Message-----
> From: Shree Ramamoorthy <s-ramamoorthy@ti.com>
> Sent: Friday, December 20, 2024 2:47 AM
>
> Hi,
>
> On 12/18/24 5:26 PM, Jaehoon Chung wrote:
> >
> >> -----Original Message-----
> >> From: Shree Ramamoorthy <s-ramamoorthy@ti.com>
> >> Sent: Thursday, December 19, 2024 7:55 AM
> >>
> >> Hi.
> >>
> >>
> >> On 12/18/24 4:44 PM, Jaehoon Chung wrote:
> >>> Hi,
> >>>
> >>>> -----Original Message-----
> >>>> From: Shree Ramamoorthy <s-ramamoorthy@ti.com>
> >>>> Sent: Thursday, December 19, 2024 2:13 AM
> >>>>
> >>>> Replace magic numbers in buckval2votl() & buckvolt2val() with macros to
> >>>> help with clarity and correlate what the numbers correspond to in the
> >>>> TPS65219 datasheet.
> >>>>
> >>>> Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@ti.com>
> >>>> ---
> >>>>    drivers/power/regulator/tps65219_regulator.c | 26 ++++++++++----------
> >>>>    include/power/tps65219.h                     | 14 +++++++++--
> >>>>    2 files changed, 25 insertions(+), 15 deletions(-)
> >>>>
> >>>> diff --git a/drivers/power/regulator/tps65219_regulator.c
> >>>> b/drivers/power/regulator/tps65219_regulator.c
> >>>> index 4b0fb205909a..88abc896b3a2 100644
> >>>> --- a/drivers/power/regulator/tps65219_regulator.c
> >>>> +++ b/drivers/power/regulator/tps65219_regulator.c
> >>>> @@ -72,12 +72,12 @@ static int tps65219_buck_enable(struct udevice *dev, int op, bool *enable)
> >>>>
> >>>>    static int tps65219_buck_volt2val(int uV)
> >>>>    {
> >>>> -	if (uV > TPS65219_BUCK_VOLT_MAX)
> >>>> +	if (uV > TPS65219_BUCK_3V4)
> >>>>    		return -EINVAL;
> >>>> -	else if (uV >= 1400000)
> >>>> -		return (uV - 1400000) / 100000 + 0x20;
> >>>> -	else if (uV >= 600000)
> >>>> -		return (uV - 600000) / 25000 + 0x00;
> >>>> +	else if (uV >= TPS65219_BUCK_1V4)
> >>>> +		return (uV - TPS65219_BUCK_1V4) / TPS65219_VOLT_STEP_100MV + TPS65219_BUCK_REG_1V4;
> >>> Even though Not relevant to this subject. If uV is 340000, the return value is correct?
> >>>
> >>> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
> >>>
> >>> Best Regards,
> >>> Jaehoon Chung
> >> Thank you for reviewing!
> >> The allowed max uV is 3.4V inclusive.
> >> If 340000 uV is detected, the first 'else if' statement should be taken.
> > Ah, I missed wrong read. Thanks for checking. If you can do, other tpsXXX can also be changed to
> readable macro.
> >
> > Best Regards,
> > Jaehoon Chung
>
> Absolutely, I will make a note to work on this. Besides tps6594, are there any specific tpsXXX drivers
> you had in mind?
> Or work on patches for any TI PMIC tpsXXX U-Boot drivers that include magic numbers?

I didn't check the entire tpsXXX drivers in more detail. But I don't like using magic numbers. :)
It's a difficult to know what purpose its value is.

Best Regards,
Jaehoon Chung

>
> >> Best,
> >> Shree
> >>
> >>>> +	else if (uV >= TPS65219_BUCK_0V6)
> >>>> +		return (uV - TPS65219_BUCK_0V6) / TPS65219_VOLT_STEP_25MV + TPS65219_BUCK_REG_0V6;
> >>>>    	else
> >>>>    		return -EINVAL;
> >>>>    }
> >>>> @@ -86,12 +86,12 @@ static int tps65219_buck_val2volt(int val)
> >>>>    {
> >>>>    	if (val > TPS65219_VOLT_MASK)
> >>>>    		return -EINVAL;
> >>>> -	else if (val > 0x34)
> >>>> -		return TPS65219_BUCK_VOLT_MAX;
> >>>> -	else if (val > 0x20)
> >>>> -		return 1400000 + (val - 0x20) * 100000;
> >>>> -	else if (val >= 0)
> >>>> -		return 600000 + val * 25000;
> >>>> +	else if (val > TPS65219_BUCK_REG_3V4)
> >>>> +		return TPS65219_BUCK_3V4;
> >>>> +	else if (val > TPS65219_BUCK_REG_1V4)
> >>>> +		return TPS65219_BUCK_1V4 + (val - TPS65219_BUCK_REG_1V4) * TPS65219_VOLT_STEP_100MV;
> >>>> +	else if (val >= TPS65219_BUCK_REG_0V6)
> >>>> +		return TPS65219_BUCK_0V6 + val * TPS65219_VOLT_STEP_25MV;
> >>>>    	else
> >>>>    		return -EINVAL;
> >>>>    }
> >>>> @@ -161,7 +161,7 @@ static int tps65219_ldo_volt2val(int idx, int uV)
> >>>>    	if (uV > max)
> >>>>    		return -EINVAL;
> >>>>    	else if (uV >= base)
> >>>> -		return (uV - TPS65219_LDO12_VOLT_MIN) / 50000;
> >>>> +		return (uV - TPS65219_LDO12_VOLT_MIN) / TPS65219_VOLT_STEP_50MV;
> >>>>    	else
> >>>>    		return -EINVAL;
> >>>>    }
> >>>> @@ -187,7 +187,7 @@ static int tps65219_ldo_val2volt(int idx, int val)
> >>>>    	else if (val <= reg_base)
> >>>>    		return base;
> >>>>    	else if (val >= 0)
> >>>> -		return TPS65219_LDO12_VOLT_MIN + (50000 * val);
> >>>> +		return TPS65219_LDO12_VOLT_MIN + (TPS65219_VOLT_STEP_50MV * val);
> >>>>    	else
> >>>>    		return -EINVAL;
> >>>>    }
> >>>> diff --git a/include/power/tps65219.h b/include/power/tps65219.h
> >>>> index aa81b92266fd..e8780af2d811 100644
> >>>> --- a/include/power/tps65219.h
> >>>> +++ b/include/power/tps65219.h
> >>>> @@ -17,10 +17,20 @@
> >>>>    #define TPS65219_BUCK_DRIVER		"tps65219_buck"
> >>>>
> >>>>    #define TPS65219_VOLT_MASK		0x3F
> >>>> -#define TPS65219_BUCK_VOLT_MAX		3400000
> >>>> -
> >>>>    #define TPS65219_ENABLE_CTRL_REG	0x2
> >>>>
> >>>> +#define TPS65219_VOLT_STEP_25MV		25000
> >>>> +#define TPS65219_VOLT_STEP_50MV		50000
> >>>> +#define TPS65219_VOLT_STEP_100MV	100000
> >>>> +
> >>>> +#define TPS65219_BUCK_0V6		600000
> >>>> +#define TPS65219_BUCK_1V4		1400000
> >>>> +#define TPS65219_BUCK_3V4		3400000
> >>>> +
> >>>> +#define TPS65219_BUCK_REG_0V6		0x00
> >>>> +#define TPS65219_BUCK_REG_1V4		0x20
> >>>> +#define TPS65219_BUCK_REG_3V4		0x34
> >>>> +
> >>>>    #define TPS65219_BUCK1_VOUT_REG		0xa
> >>>>    #define TPS65219_BUCK2_VOUT_REG		0x9
> >>>>    #define TPS65219_BUCK3_VOUT_REG		0x8
> >>>> --
> >>>> 2.34.1
> >>>
> >> --
> >> Best,
> >> Shree Ramamoorthy
> >> PMIC Software Engineer
> >
> >



      reply	other threads:[~2024-12-20  2:05 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-18 17:12 [PATCH v1 0/2] TPS65219 U-Boot Driver Clean-Up Shree Ramamoorthy
2024-12-18 17:12 ` [PATCH v1 1/2] power: regulator: replace printf() with pr_err() Shree Ramamoorthy
2024-12-18 22:44   ` Jaehoon Chung
2024-12-18 17:12 ` [PATCH v1 2/2] power: replace magic numbers with macros Shree Ramamoorthy
2024-12-18 22:44   ` Jaehoon Chung
2024-12-18 22:55     ` Shree Ramamoorthy
2024-12-18 23:26       ` Jaehoon Chung
2024-12-19 17:47         ` Shree Ramamoorthy
2024-12-20  2:04           ` Jaehoon Chung [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='049f01db5283$91a33fb0$b4e9bf10$@samsung.com' \
    --to=jh80.chung@samsung.com \
    --cc=m-leonard@ti.com \
    --cc=praneeth@ti.com \
    --cc=s-ramamoorthy@ti.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.