Hi
I'm trying to implement a regulator driver for a PMIC [1], and so far I
don't see how it can be mapped to the present regulator API. Most its
parts are pretty simple - DCDC step-down, LDO. The first step-up DCDC
isn't a problem either. It's the second step-up supply, that I'm having a
problem with. It's output voltage can be regulated by using either a
voltage feedback or the three current feedbacks. In the current feedback
mode one has a choice between a manual mode, in which case you just choose
one of the feedbacks and everything is simple again, or in automatic mode.
In the automatic mode one can use any subset of the 3 feedbacks. Then the
PMIC "automatically selects the highest string" (any idea what that means
anyone?) In any case, that means, that the chip uses some algorithm to
pick up one of the feedbacks dynamically at run-time, depending on the
current loads. So, question #1: what should I return from
.get_current_limit()? I don't think there is a way to find out, which
current limit is currently being used or how much consumers consume. #2:
how do I set those 3 limits, resp., what do I do in .set_current_limit()?
Looks like an API extension is needed...
Thanks
Guennadi
[1] http://www.ams.com/eng/content/download/278923/1044357/AS3711_Datasheet_v1_20.pdf
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
On Thu, Nov 15, 2012 at 08:15:15AM +0100, Guennadi Liakhovetski wrote:
> parts are pretty simple - DCDC step-down, LDO. The first step-up DCDC
> isn't a problem either. It's the second step-up supply, that I'm having a
> problem with. It's output voltage can be regulated by using either a
> voltage feedback or the three current feedbacks. In the current feedback
> mode one has a choice between a manual mode, in which case you just choose
> one of the feedbacks and everything is simple again, or in automatic mode.
This almost certainly has no other function than to drive a LED string
for a backlight; it's not sensible to represent it via the regulator
framework at all. Just implement it as a backlight and/or LED driver
and have done with it unless you can find some other use for it.
Hi Mark
On Thu, 15 Nov 2012, Mark Brown wrote:
> On Thu, Nov 15, 2012 at 08:15:15AM +0100, Guennadi Liakhovetski wrote:
>
> > parts are pretty simple - DCDC step-down, LDO. The first step-up DCDC
> > isn't a problem either. It's the second step-up supply, that I'm having a
> > problem with. It's output voltage can be regulated by using either a
> > voltage feedback or the three current feedbacks. In the current feedback
> > mode one has a choice between a manual mode, in which case you just choose
> > one of the feedbacks and everything is simple again, or in automatic mode.
>
> This almost certainly has no other function than to drive a LED string
> for a backlight; it's not sensible to represent it via the regulator
> framework at all. Just implement it as a backlight and/or LED driver
> and have done with it unless you can find some other use for it.
Hm, interesting. In my case it is of course a backlight power source, but
wouldn't it be too limiting to also implement it as a backlight driver? I
guess I will do that, I'm not too interested in implementing something
hugely generic, for which I have no use either, just wondering... So, I
would be hiding all the flexibility in this case in platform data,
including the selection of the feedback method (voltage vs. current),
overvoltage protection and pins used... I guess, I'll just begin with
implementing just one mode, the one used on my board and see if any other
modes are ever needed.
Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/