Am 27.06.24 um 08:52 schrieb Uwe Kleine-König:
Hello,
On Tue, Jun 04, 2024 at 11:00:39PM +0200, Linus Walleij wrote:
Add a software PWM which toggles a GPIO from a high-resolution timer.
Recent discussions in the Raspberry Pi community revealt that a lot
of users still use MMIO userspace tools for GPIO access. One argument
for this approach is the lack of a GPIO PWM kernel driver. So this
series tries to fill this gap.
This continues the work of Vincent Whitchurch [1], which is easier
to read and more consequent by rejecting sleeping GPIOs than Nicola's
approach [2]. It further takes over where Stefan Wahren left off.
I have not looked into the interrupt storm problem mentioned in [3]
but instead focused on some real-life tests:
The IXP4xx NSLU2 has a speaker connected directly to a GPIO, and I
wanted to use this patch to provide a proper beeper for the machine
and not have to rely on custom hacks.
I added a DTS patch like this:
gpio_pwm: pwm {
#pwm-cells = <3>;
compatible = "pwm-gpio";
gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
};
beeper {
compatible = "pwm-beeper";
pwms = <&gpio_pwm 0 1 0>;
beeper-hz = <1000>;
};
Applied both patches to
https://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux.git pwm/for-next
\o/
Thanks
Thanks
Uwe