mbox series

[RFC,v4,0/2] pwm: imx: Configure output to GPIO in disabled state

Message ID 1544616263-82642-1-git-send-email-michal.vokac@ysoft.com
Headers show
Series pwm: imx: Configure output to GPIO in disabled state | expand

Message

Michal Vokáč Dec. 12, 2018, 12:04 p.m. UTC
This is an attempt to deal with i.MX SoC PWM HW limitation.
When a pad is configured as a PWM output the output level is always 0V
if the PWM block is disabled. This can cause problems when inverted PWM
signal is needed to drive the connected circuit. With inverted output
duty cycle = 0% corresponds to high output level and duty cycle = 100%
corresponds to low output level. This means that whenever the PWM block
is disabled the connected circuit is fed with 100% duty cycle.

This binding is totally optional and current users are not affected.
The idea is to use two new pinctrl states, "pwm" and "gpio", instead of
the "default" pinctrl state. The gpio state is selected  when PWM is
disabled and the pwm pinctrl state is selected when PWM is enabled. In the
gpio state level on the output is controlled by the internal pull-up.

Michal Vokáč (2):
  dt-bindings: pwm: imx: Allow switching PWM output between PWM and GPIO
  pwm: imx: Configure output to GPIO in disabled state

 Documentation/devicetree/bindings/pwm/imx-pwm.txt | 49 +++++++++++++++
 drivers/pwm/pwm-imx.c                             | 77 +++++++++++++++++++++++
 2 files changed, 126 insertions(+)