Visions for the Linux Kernel PWM Subsystem
summary
Proposes a new PWM framework that replaces sysfs with a char device API that supports atomic reconfiguration, a duty offset waveform abstraction, four kernel callbacks (query rounded result, query current hardware state, set rounded, set exact) and promises defined rounding behavior and a way to query what hardware will actually emit. Patches are at v5 on the pwm mailing list, prototypes on an STM32 dev board show about 400% speedup for reconfiguration versus sysfs; channel coupling remains future work.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 1:52Motivation
- 3:19PWM basics
- 8:03Challenges
- 11:43Improvement ideas
- 12:06Channel coupling
- 13:53Duty offset
- 16:44ADC use case
- 17:05Exactness and rounding inconsistencies
- 17:47Querying hardware
- 18:29Picosecond debate
- 19:33Patches implemented
- 21:41New API details
- 26:31Q&A
- 28:13New vs CFS API
- 30:15Coupled PWM support
- 32:14Kernel timeline
- 33:05Arbitrary waveforms
- 34:35Coupling timeframe
- 36:10Multi-channel control
- 37:56Software coupling
- 39:10User space library
- 40:10Closing remarks
related talks
40mVisions for the Linux Kernel PWM Subsystem
40mExploring PWM Subsystem and its Usage in Embedded Devices
33mDo It Faster: How We Supercharged Linux To Work With Blazing Fast ADCs for IIO
01h 20mSensors and PWM Control from Linux
14mPCI Pwrctrl woes
51mGPIO for Engineers and Makers
48mPin Control and GPIO Update
40mA New CPU Frequency Control Mechanism on Linux
