[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241009-pwm-axi-pwmgen-enable-force_align-v1-0-5d6ad8cbf5b4@baylibre.com>
Date: Wed, 09 Oct 2024 16:11:48 -0500
From: David Lechner <dlechner@...libre.com>
To: Uwe Kleine-König <ukleinek@...nel.org>
Cc: Michael Hennerich <michael.hennerich@...log.com>,
Nuno Sá <nuno.sa@...log.com>,
Trevor Gamblin <tgamblin@...libre.com>, linux-pwm@...r.kernel.org,
linux-kernel@...r.kernel.org, David Lechner <dlechner@...libre.com>
Subject: [PATCH 0/2] pwm: axi-pwmgen: always enable FORCE_ALIGN
When using the axi-pwmgen as a trigger for ADCs, we've found that the
default behavior of the PWMGEN IP block is not ideal. The default
behavior is to wait for the period of all PWM outputs to run out before
applying any new settings. But there isn't a way to block until this
happens (and even if there was, it could take a long time). So the
pwm apply function returns before the new settings are actually applied.
This makes certain use cases impossible. For example, to use the PWM
like a GPIO to create a single pulse on and off to trigger a single ADC
conversion.
The AXI PWMGEN has a FORCE_ALIGN configuration option that changes the
behavior so that any new output settings (period, duty cycle, etc.) are
applied immediately. This can cause glitches in the output, but makes
the PWM actually useable for most applications.
Also, there was a naming conflict with register names, so there is a
preliminary cleanup patch to sort that out.
---
David Lechner (2):
pwm: axi-pwmgen: rename 0x10 register
pwm: axi-pwmgen: enable FORCE_ALIGN by default
drivers/pwm/pwm-axi-pwmgen.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
---
base-commit: ff25451372ee1aa4c4f4401dc96516782a00dd4d
change-id: 20241009-pwm-axi-pwmgen-enable-force_align-cfb403da4612
Best regards,
--
David Lechner <dlechner@...libre.com>
Powered by blists - more mailing lists