* LM5066 low- and high-current limit scaling
@ 2019-01-25 20:13 Matt Wilbur
2019-01-25 22:04 ` Guenter Roeck
0 siblings, 1 reply; 2+ messages in thread
From: Matt Wilbur @ 2019-01-25 20:13 UTC (permalink / raw)
To: linux-hwmon
Hi
First off, this is the first time I've ever tried something like this,
so I fully anticipate I will make some etiquette / process mistakes.
In a project I am working on, we make use of the LM5066 hot-swap
controller. I believe the kernel module for this chip
(drivers/hwmon/pmbus/lm25066.c) has an error where the scaling
parameters for the low- and high-current limits are swapped.
What's the best way for me to make my case? Just create a patch and
try to submit it? A free-form discussion on the mailing list?
Thanks in advance.
Matt
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: LM5066 low- and high-current limit scaling
2019-01-25 20:13 LM5066 low- and high-current limit scaling Matt Wilbur
@ 2019-01-25 22:04 ` Guenter Roeck
0 siblings, 0 replies; 2+ messages in thread
From: Guenter Roeck @ 2019-01-25 22:04 UTC (permalink / raw)
To: Matt Wilbur; +Cc: linux-hwmon
On Fri, Jan 25, 2019 at 03:13:39PM -0500, Matt Wilbur wrote:
> Hi
>
> First off, this is the first time I've ever tried something like this,
> so I fully anticipate I will make some etiquette / process mistakes.
>
> In a project I am working on, we make use of the LM5066 hot-swap
> controller. I believe the kernel module for this chip
> (drivers/hwmon/pmbus/lm25066.c) has an error where the scaling
> parameters for the low- and high-current limits are swapped.
>
> What's the best way for me to make my case? Just create a patch and
> try to submit it? A free-form discussion on the mailing list?
>
Normally you would send a patch and make your case in the description.
However, be careful.
PSC_CURRENT_IN_L is used if DEVICE_SETUP[4]=1, which (hopefully) translates
to CL=VDD. Per LM25066 datasheet, table 41:
CL=GND: M=13661, B=–5200, R=-2
CL=VDD: M=6854, B=-3100, R=-2
Current code:
DEVICE_SETUP[4]=0: M=13661, B=0, R=-2
DEVICE_SETUP[4]=1: M=6852, B=0, R=-2
This looks mostly correct to me, except for the offset and the
slight difference if CL=VDD. Looks like that was changed at some
point in later datasheet versions.
Overall, the problem (or confusion) is that the logic for
DEVICE_SETUP[4] in the datasheets for the various chips changes.
5066i:
0 = high setting (50 mV)
1 = low setting (26 mV)
25066, 25066i:
0 = low setting (25 mV)
1 = high setting (46 mV)
... so of course it may well be that the data for some of the chips
is wrong, since we use PSC_CURRENT_IN_L for DEVICE_SETUP[4]=1
throughout (in other words, it is likely that either the data for
LM5066 is wrong, or that the data for LM25066 is wrong - the only
question is which one). It may also be that the datasheets are wrong
or misleading, and that CL=VDD is not (or not always) equivalent
to DEVICE_SETUP[4]=1.
Guenter
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-01-25 22:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-25 20:13 LM5066 low- and high-current limit scaling Matt Wilbur
2019-01-25 22:04 ` Guenter Roeck
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).