aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/pwm-atmel.c
diff options
context:
space:
mode:
authorUwe Kleine-König <[email protected]>2019-08-24 00:10:39 +0000
committerThierry Reding <[email protected]>2020-01-08 12:44:08 +0000
commit998d189a817b8aae5b9e416c40dcb35b1fd79d3c (patch)
treee62725126ccdd290ed9d65d237ae6818db84026f /drivers/pwm/pwm-atmel.c
parentpwm: atmel: Replace loop in prescale calculation by ad-hoc calculation (diff)
downloadkernel-998d189a817b8aae5b9e416c40dcb35b1fd79d3c.tar.gz
kernel-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 <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
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>