Thread (30 messages) 30 messages, 5 authors, 2020-01-10

Re: [PATCH v2 4/7] pwm: Add support for Azoteq IQS620A PWM generator

From: Jeff LaBundy <hidden>
Date: 2020-01-01 22:39:42
Also in: linux-devicetree, linux-iio, linux-pwm

Hi Uwe,

On Sun, Dec 22, 2019 at 10:48:51PM +0100, Uwe Kleine-König wrote:
Hello Jeff,

On Sat, Dec 21, 2019 at 03:28:01AM +0000, Jeff LaBundy wrote:
quoted
I heard back from the vendor today; they've acknowledged the limitation and
are considering adding support for 0% in a future ROM spin. In the meantime,
they've agreed to describe the high-impedance behavior in the data sheet as
well as include the pull-down resistor in an example schematic.
Oh wow, seems like a good vendor then. :-)
quoted
quoted
quoted
Option (3) seems like overkill for such a simple PWM, and ultimately doesn't
add any value because I don't want to allow option (1) behavior in any case.
Whether the PWM is disabled because it is truly disabled or to simulate a 0%
duty cycle as in option (2), the pull-down is ultimately required regardless
of whether or not the data sheet happens to go into such detail.
Actually I like option 3 best.
 
Based on your other feedback, I'm moving forward under the impression that
you'll still accept option (2); please let me know if I have misunderstood
(thank you for being flexible).
Yeah, that's fine. If in the end it shows that this is a bad idea we can
still change to (3).
Sounds great. As soon as 5.5-rc5 lands this weekend, I'll rebase v3 and
send it out.

I failed to catch this in my previous reply, but the comment I've added
to iqs620_pwm_get_state actually reads as follows:

/*
 * Since the device cannot generate a 0% duty cycle, requests to do so
 * force subsequent calls to iqs620_pwm_get_state to report the output
 * as disabled with duty cycle equal to that which was in use prior to
 * the request. This is not ideal, but is the best compromise based on
 * the capabilities of the device.
 */

This matches the present implementation, not your proposed comment that
claims duty cycle is clamped to 1 / 256 ms following a request for a 0%
duty cycle.

This seems OK since the concept of a duty cycle or period aren't really
relevant if the output is disabled in my opinion. However if you prefer
I update iqs620_pwm_apply to clamp duty cycle to 1 / 256 ms (instead of
leaving it untouched) in this case, please let me know.
Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | https://www.pengutronix.de/ |
Wishing you a Happy New Year,
Jeff LaBundy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help