]> www.infradead.org Git - users/jedix/linux-maple.git/commit
pwm: Add GPIO PWM driver
authorVincent Whitchurch <vincent.whitchurch@axis.com>
Tue, 4 Jun 2024 21:00:41 +0000 (23:00 +0200)
committerUwe Kleine-König <ukleinek@kernel.org>
Wed, 10 Jul 2024 15:52:47 +0000 (17:52 +0200)
commit7f61257cd6e1ad4769b4b819668cab00f68f2556
treeca7a481f89118ad80ab7a38d86f4c851c60a6779
parent1577ddaa515e3af2614e1f52711c287bebc338cf
pwm: Add GPIO PWM driver

Add a software PWM which toggles a GPIO from a high-resolution timer.

This will naturally not be as accurate or as efficient as a hardware
PWM, but it is useful in some cases.  I have for example used it for
evaluating LED brightness handling (via leds-pwm) on a board where the
LED was just hooked up to a GPIO, and for a simple verification of the
timer frequency on another platform.

Since high-resolution timers are used, sleeping GPIO chips are not
supported and are rejected in the probe function.

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Co-developed-by: Stefan Wahren <wahrenst@gmx.net>
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Co-developed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Link: https://lore.kernel.org/r/20240604-pwm-gpio-v7-2-6b67cf60db92@linaro.org
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
Documentation/driver-api/gpio/drivers-on-gpio.rst
drivers/pwm/Kconfig
drivers/pwm/Makefile
drivers/pwm/pwm-gpio.c [new file with mode: 0644]