On 09/24/2014 10:13 AM, Doug Anderson wrote: > Chris, > > On Tue, Sep 23, 2014 at 6:47 PM, Chris Zhong <zyw at rock-chips.com> wrote: >> On 09/24/2014 07:43 AM, Doug Anderson wrote: >>> Chris, >>> >>> On Tue, Sep 23, 2014 at 8:53 AM, Chris Zhong <zyw at rock-chips.com> wrote: >>>> Get voltage & duty table from device tree might be better, other >>>> platforms can also use this >>>> driver without any modify. >>>> >>>> Signed-off-by: Chris Zhong <zyw at rock-chips.com> >>>> Reviewed-by: Doug Anderson <dianders at chromium.org> >>> I finally managed to get everything setup and I've now tested this >>> myself on an rk3288-based board. >>> >>> Tested-by: Doug Anderson <dianders at chromium.org> >>> >>> I'd imagine the next step is for Lee to comment on the patch and when >>> he's happy with it Mark Brown will land it? >>> >>> >>> One thing that's still a bit odd (though no different than the >>> behavior of the driver from before you touched it, so it shouldn't >>> block landing IMHO) is that at boot time this regulator will report >>> that it's at the highest voltage but the voltage won't actually change >>> until the first client sets the voltage. >> Yes, I knew this problem, since the default of duty cycle is 0, not a true >> value. >> If we can get duty from pwm, this regulator will report a correct voltage. > I don't think it's possible in all cases to figure out what the > voltage was before this regulator was probed. > > * pin might have been input w/ pullup, pulldown, or no pull > * pin might have been driven high or driven low > > In that case trying to read the duty from the pwm wouldn't make sense. > ...but I guess you could add a property to the PWM driver to say that > it stays enabled at boot if the FW left it enabled (and keep the same > duty cycle / clocks?). That would at least solve the problem where > the firmware configured the PWM and left it in a specific state even > if it doesn't solve the above problem... > > > -Doug > If we want pwm stay enabled at boot(FW left it), needn't to modify anything, only need to init pwm duty in FW. And now reading the duty from pwm would make sense.