Visions for the Linux Kernel PWM Subsystem
summary
Proposal to replace the sysfs API with a char device that supports atomic updates to period/duty/polarity, a generalized duty offset waveform model, and four callbacks so drivers can query rounded result or refuse nonexact requests. Prototype patches (v5) live on the pwm mailing list, not yet mainline; testing on an STM32 dev board shows about ~400% faster reconfiguration. Includes an ADC/DMA use case delivering multi-megasamples/sec; channel coupling remains a future design question.
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
33mDo It Faster: How We Supercharged Linux To Work With Blazing Fast ADCs for IIO
25mThe Power-Supply Subsystem
51mGPIO for Engineers and Makers
14mPCI Pwrctrl woes
35mIntroduction to DAPM, Linux Power Management for Embedded Audio Devices
48mPin Control and GPIO Update
43mLinux Power! (from the Perspective of a PMIC Vendor)
