diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2022-07-12 10:46:56 +0200 |
---|---|---|
committer | Thierry Reding <thierry.reding@gmail.com> | 2022-07-29 13:41:18 +0200 |
commit | ea95b29983b999eac4522d50da78e6ba70c3d065 (patch) | |
tree | 822183ec8f9916d151b57f146019c2a7c124738d /drivers/pwm | |
parent | 3391780b74b94f39d6619c5c3570468f7170643d (diff) | |
download | linux-rpi-ea95b29983b999eac4522d50da78e6ba70c3d065.tar.gz linux-rpi-ea95b29983b999eac4522d50da78e6ba70c3d065.tar.bz2 linux-rpi-ea95b29983b999eac4522d50da78e6ba70c3d065.zip |
pwm: twl-led: Document some limitations and link to the reference manual
I found these just from reading the reference manual and the driver
source. It's unclear to me if there are glitches when updating the ON
and OFF registers.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
Diffstat (limited to 'drivers/pwm')
-rw-r--r-- | drivers/pwm/pwm-twl-led.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/pwm/pwm-twl-led.c b/drivers/pwm/pwm-twl-led.c index ed0b63dd38f1..8fb84b441853 100644 --- a/drivers/pwm/pwm-twl-led.c +++ b/drivers/pwm/pwm-twl-led.c @@ -7,6 +7,22 @@ * * This driver is a complete rewrite of the former pwm-twl6030.c authorded by: * Hemanth V <hemanthv@ti.com> + * + * Reference manual for the twl6030 is available at: + * https://www.ti.com/lit/ds/symlink/twl6030.pdf + * + * Limitations: + * - The twl6030 hardware only supports two period lengths (128 clock ticks and + * 64 clock ticks), the driver only uses 128 ticks + * - The hardware doesn't support ON = 0, so the active part of a period doesn't + * start at its beginning. + * - The hardware could support inverted polarity (with a similar limitation as + * for normal: the last clock tick is always inactive). + * - The hardware emits a constant low output when disabled. + * - A request for .duty_cycle = 0 results in an output wave with one active + * clock tick per period. This should better use the disabled state. + * - The driver only implements setting the relative duty cycle. + * - The driver doesn't implement .get_state(). */ #include <linux/module.h> |