Lines Matching full: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
24 PWM_LOOKUP("tegra-pwm", 0, "pwm-backlight", NULL,
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::
47 int pwm_apply_state(struct pwm_device *pwm, struct pwm_state *state);
49 This API controls both the PWM period/duty_cycle config and the
52 As a consumer, don't rely on the output's state for a disabled PWM. If it's
57 There is also a usage_power setting: If set, the PWM driver is only required to
68 The PWM user API also allows one to query the PWM state that was passed to the
74 In addition to the PWM state, the PWM API also exposes PWM arguments, which
75 are the reference PWM config one should use on this PWM.
76 PWM arguments are usually platform-specific and allows the PWM user to only
79 be used to set the initial PWM config (usually done in the probe function
80 of the PWM user). PWM arguments are retrieved with pwm_get_args().
82 All consumers should really be reconfiguring the PWM upon resume as
91 /sys/class/pwm/. Each probed PWM controller/chip will be exported as
92 pwmchipN, where N is the base of the PWM chip. Inside the directory you
96 The number of PWM channels this chip supports (read-only).
99 Exports a PWM channel for use with sysfs (write-only).
102 Unexports a PWM channel from sysfs (write-only).
104 The PWM channels are numbered using a per-chip index from 0 to npwm-1.
106 When a PWM channel is exported a pwmX directory will be created in the
111 The total period of the PWM signal (read/write).
113 time of the PWM.
116 The active time of the PWM signal (read/write).
120 Changes the polarity of the PWM signal (read/write).
121 Writes to this property only work if the PWM chip supports changing
122 the polarity. The polarity can only be changed if the PWM is not
126 Enable/disable the PWM signal (read/write).
131 Implementing a PWM driver
134 Currently there are two ways to implement pwm drivers. Traditionally
137 to have multiple PWM drivers in the system. For this reason it's mandatory
138 for new drivers to use the generic PWM framework.
140 A new PWM controller/chip can be added using pwmchip_add() and removed
142 pwm_chip as argument which provides a description of the PWM chip, the
143 number of PWM devices provided by the chip and the chip-specific
144 implementation of the supported PWM operations to the framework.
146 When implementing polarity support in a PWM driver, make sure to respect the
147 signal conventions in the PWM framework. By definition, normal polarity
155 atomicity in the PWM config workflow, which is required when the PWM controls
158 The implementation of ->get_state() (a method used to retrieve initial PWM
159 state) is also encouraged for the same reason: letting the PWM user know
160 about the current PWM state would allow him to avoid glitches.
168 The PWM core list manipulations are protected by a mutex, so pwm_request()
170 PWM core does not enforce any locking to pwm_enable(), pwm_disable() and
177 Currently a PWM can only be configured with period_ns and duty_ns. For several