On Mon, Apr 7, 2014 at 10:02 PM, Lothar Waßmann <l...@karo-electronics.de> wrote: > Thierry Reding wrote:
>> No. You cannot emulate polarity inversion in software. >> > Why not? > > duty_ns = period_ns - duty_ns; Since I made the same mistake, I will pass along the pointer Thierry gave me. In include/linux/pwm.h the second difference for an inverted signal is described. /** * enum pwm_polarity - polarity of a PWM signal * @PWM_POLARITY_NORMAL: a high signal for the duration of the duty- * cycle, followed by a low signal for the remainder of the pulse * period * @PWM_POLARITY_INVERSED: a low signal for the duration of the duty- * cycle, followed by a high signal for the remainder of the pulse * period */ enum pwm_polarity { PWM_POLARITY_NORMAL, PWM_POLARITY_INVERSED, }; Of course, I suspect not all PWM hardware respects this definition of inverted output. Either way, hacking the duty in software certainly would get the high/low order wrong. -Tim -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/