1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 13. Pulse-Width Modulation (PWM)</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="index.html" title="Linux Device Drivers"><link rel="prev" href="API-hsi-get-channel-id-by-name.html" title="hsi_get_channel_id_by_name"><link rel="next" href="API-enum-pwm-polarity.html" title="enum pwm_polarity"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 13. Pulse-Width Modulation (PWM)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-hsi-get-channel-id-by-name.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="API-enum-pwm-polarity.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="pwm"></a>Chapter 13. Pulse-Width Modulation (PWM)</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="refentrytitle"><a href="API-enum-pwm-polarity.html"><span class="phrase">enum pwm_polarity</span></a></span><span class="refpurpose"> — 
2  polarity of a PWM signal
3 </span></dt><dt><span class="refentrytitle"><a href="API-struct-pwm-device.html"><span class="phrase">struct pwm_device</span></a></span><span class="refpurpose"> — 
4     PWM channel object
5 </span></dt><dt><span class="refentrytitle"><a href="API-struct-pwm-ops.html"><span class="phrase">struct pwm_ops</span></a></span><span class="refpurpose"> — 
6     PWM controller operations
7 </span></dt><dt><span class="refentrytitle"><a href="API-struct-pwm-chip.html"><span class="phrase">struct pwm_chip</span></a></span><span class="refpurpose"> — 
8     abstract a PWM controller
9 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-set-chip-data.html"><span class="phrase">pwm_set_chip_data</span></a></span><span class="refpurpose"> — 
10  set private chip data for a PWM
11 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-get-chip-data.html"><span class="phrase">pwm_get_chip_data</span></a></span><span class="refpurpose"> — 
12     get private chip data for a PWM
13 </span></dt><dt><span class="refentrytitle"><a href="API-pwmchip-add-with-polarity.html"><span class="phrase">pwmchip_add_with_polarity</span></a></span><span class="refpurpose"> — 
14     register a new PWM chip
15 </span></dt><dt><span class="refentrytitle"><a href="API-pwmchip-add.html"><span class="phrase">pwmchip_add</span></a></span><span class="refpurpose"> — 
16     register a new PWM chip
17 </span></dt><dt><span class="refentrytitle"><a href="API-pwmchip-remove.html"><span class="phrase">pwmchip_remove</span></a></span><span class="refpurpose"> — 
18     remove a PWM chip
19 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-request.html"><span class="phrase">pwm_request</span></a></span><span class="refpurpose"> — 
20     request a PWM device
21 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-request-from-chip.html"><span class="phrase">pwm_request_from_chip</span></a></span><span class="refpurpose"> — 
22     request a PWM device relative to a PWM chip
23 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-free.html"><span class="phrase">pwm_free</span></a></span><span class="refpurpose"> — 
24     free a PWM device
25 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-config.html"><span class="phrase">pwm_config</span></a></span><span class="refpurpose"> — 
26     change a PWM device configuration
27 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-set-polarity.html"><span class="phrase">pwm_set_polarity</span></a></span><span class="refpurpose"> — 
28     configure the polarity of a PWM signal
29 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-enable.html"><span class="phrase">pwm_enable</span></a></span><span class="refpurpose"> — 
30     start a PWM output toggling
31 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-disable.html"><span class="phrase">pwm_disable</span></a></span><span class="refpurpose"> — 
32     stop a PWM output toggling
33 </span></dt><dt><span class="refentrytitle"><a href="API-of-pwm-get.html"><span class="phrase">of_pwm_get</span></a></span><span class="refpurpose"> — 
34     request a PWM via the PWM framework
35 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-get.html"><span class="phrase">pwm_get</span></a></span><span class="refpurpose"> — 
36     look up and request a PWM device
37 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-put.html"><span class="phrase">pwm_put</span></a></span><span class="refpurpose"> — 
38     release a PWM device
39 </span></dt><dt><span class="refentrytitle"><a href="API-devm-pwm-get.html"><span class="phrase">devm_pwm_get</span></a></span><span class="refpurpose">
40     resource managed pwm_get
41 </span></dt><dt><span class="refentrytitle"><a href="API-devm-of-pwm-get.html"><span class="phrase">devm_of_pwm_get</span></a></span><span class="refpurpose">
42     resource managed of_pwm_get
43 </span></dt><dt><span class="refentrytitle"><a href="API-devm-pwm-put.html"><span class="phrase">devm_pwm_put</span></a></span><span class="refpurpose">
44     resource managed pwm_put
45 </span></dt><dt><span class="refentrytitle"><a href="API-pwm-can-sleep.html"><span class="phrase">pwm_can_sleep</span></a></span><span class="refpurpose"> — 
46     report whether PWM access will sleep
47 </span></dt></dl></div><p>
48      Pulse-width modulation is a modulation technique primarily used to
49      control power supplied to electrical devices.
50    </p><p>
51      The PWM framework provides an abstraction for providers and consumers
52      of PWM signals. A controller that provides one or more PWM signals is
53      registered as <span class="structname"><a class="link" href="API-struct-pwm-chip.html" title="struct pwm_chip">struct pwm_chip</a></span>. Providers are
54      expected to embed this structure in a driver-specific structure. This
55      structure contains fields that describe a particular chip.
56    </p><p>
57      A chip exposes one or more PWM signal sources, each of which exposed
58      as a <span class="structname"><a class="link" href="API-struct-pwm-device.html" title="struct pwm_device">struct pwm_device</a></span>. Operations can be
59      performed on PWM devices to control the period, duty cycle, polarity
60      and active state of the signal.
61    </p><p>
62      Note that PWM devices are exclusive resources: they can always only be
63      used by one consumer at a time.
64    </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-hsi-get-channel-id-by-name.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="API-enum-pwm-polarity.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">hsi_get_channel_id_by_name</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">enum pwm_polarity</span></td></tr></table></div></body></html>
65