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 Thanks Uwe
Attachment:
signature.asc
Description: PGP signature