summaryrefslogtreecommitdiffstats
path: root/drivers/pwm/pwm-atmel.c
diff options
context:
space:
mode:
authorUwe Kleine-König <uwe@kleine-koenig.org>2019-08-24 02:10:39 +0200
committerThierry Reding <thierry.reding@gmail.com>2020-01-08 13:44:08 +0100
commit998d189a817b8aae5b9e416c40dcb35b1fd79d3c (patch)
treee62725126ccdd290ed9d65d237ae6818db84026f /drivers/pwm/pwm-atmel.c
parentpwm: atmel: Replace loop in prescale calculation by ad-hoc calculation (diff)
downloadlinux-998d189a817b8aae5b9e416c40dcb35b1fd79d3c.tar.xz
linux-998d189a817b8aae5b9e416c40dcb35b1fd79d3c.zip
pwm: atmel: Document known weaknesses of both hardware and software
This documents the my findings while reading through the driver and the reference manual. Signed-off-by: Uwe Kleine-König <uwe@kleine-koenig.org> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Diffstat (limited to 'drivers/pwm/pwm-atmel.c')
-rw-r--r--drivers/pwm/pwm-atmel.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/pwm/pwm-atmel.c b/drivers/pwm/pwm-atmel.c
index c9fdf1671bb3..3ff3c171437e 100644
--- a/drivers/pwm/pwm-atmel.c
+++ b/drivers/pwm/pwm-atmel.c
@@ -7,6 +7,16 @@
*
* Links to reference manuals for the supported PWM chips can be found in
* Documentation/arm/microchip.rst.
+ *
+ * Limitations:
+ * - Periods start with the inactive level.
+ * - Hardware has to be stopped in general to update settings.
+ *
+ * Software bugs/possible improvements:
+ * - When atmel_pwm_apply() is called with state->enabled=false a change in
+ * state->polarity isn't honored.
+ * - Instead of sleeping to wait for a completed period, the interrupt
+ * functionality could be used.
*/
#include <linux/clk.h>