Lines Matching refs:PWM
2 Pulse Width Modulation (PWM) interface
5 This provides an overview about the Linux PWM interface
9 the Linux PWM API (although they could). However, PWMs are often
12 this kind of flexibility the generic PWM API exists.
17 Users of the legacy PWM API use unique IDs to refer to PWM devices.
19 Instead of referring to a PWM device via its unique ID, board setup code
20 should instead register a static mapping that can be used to match PWM
38 Legacy users can request a PWM device using pwm_request() and free it
42 device or a consumer name. pwm_put() is used to free the PWM device. Managed
45 After being requested, a PWM has to be configured using::
49 This API controls both the PWM period/duty_cycle config and the
58 The PWM user API also allows one to query the PWM state with pwm_get_state().
60 In addition to the PWM state, the PWM API also exposes PWM arguments, which
61 are the reference PWM config one should use on this PWM.
62 PWM arguments are usually platform-specific and allows the PWM user to only
65 be used to set the initial PWM config (usually done in the probe function
66 of the PWM user). PWM arguments are retrieved with pwm_get_args().
73 /sys/class/pwm/. Each probed PWM controller/chip will be exported as
74 pwmchipN, where N is the base of the PWM chip. Inside the directory you
78 The number of PWM channels this chip supports (read-only).
81 Exports a PWM channel for use with sysfs (write-only).
84 Unexports a PWM channel from sysfs (write-only).
86 The PWM channels are numbered using a per-chip index from 0 to npwm-1.
88 When a PWM channel is exported a pwmX directory will be created in the
93 The total period of the PWM signal (read/write).
95 time of the PWM.
98 The active time of the PWM signal (read/write).
102 Changes the polarity of the PWM signal (read/write).
103 Writes to this property only work if the PWM chip supports changing
104 the polarity. The polarity can only be changed if the PWM is not
108 Enable/disable the PWM signal (read/write).
113 Implementing a PWM driver
119 to have multiple PWM drivers in the system. For this reason it's mandatory
120 for new drivers to use the generic PWM framework.
122 A new PWM controller/chip can be added using pwmchip_add() and removed
124 pwm_chip as argument which provides a description of the PWM chip, the
125 number of PWM devices provided by the chip and the chip-specific
126 implementation of the supported PWM operations to the framework.
128 When implementing polarity support in a PWM driver, make sure to respect the
129 signal conventions in the PWM framework. By definition, normal polarity
137 atomicity in the PWM config workflow, which is required when the PWM controls
140 The implementation of ->get_state() (a method used to retrieve initial PWM
141 state) is also encouraged for the same reason: letting the PWM user know
142 about the current PWM state would allow him to avoid glitches.
147 The PWM core list manipulations are protected by a mutex, so pwm_request()
149 PWM core does not enforce any locking to pwm_enable(), pwm_disable() and
156 Currently a PWM can only be configured with period_ns and duty_ns. For several