diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-09 10:55:32 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-09 10:55:32 -0700 |
commit | 82278fc079542a04e076da34546a7d6dc649b0cc (patch) | |
tree | 96d32ea11f41ee6623190f31f4f6a9263f0c9ddc /Documentation | |
parent | bd2843fe1f29f6145c623ae9390f144cefaa611d (diff) | |
parent | 7a5938201834a9c25155176d0f5942d48336b244 (diff) | |
download | linux-82278fc079542a04e076da34546a7d6dc649b0cc.tar.gz linux-82278fc079542a04e076da34546a7d6dc649b0cc.tar.bz2 linux-82278fc079542a04e076da34546a7d6dc649b0cc.zip |
Merge tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
Pull pwm updates from Thierry Reding:
"This set of changes introduces the beginnings of a new API that's
based around the concept of states that can be atomically applied.
Drivers go to various lengths to implement something similar, which
indicates that the core should really be providing the necessary
framework.
On top of that, there is a bit of cleanup as well as improved
kerneldoc and integration into the device-drivers DocBook.
Regarding drivers there is a new one for the NXP LPC18xx family of
SoCs and a couple of fixes for existing drivers (pca9685, Broadcom
Kona and Atmel HLCDC)"
* tag 'pwm/for-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
ARM: at91: pwm: atmel-hlcdc: Add at91sam9n12 errata
pwm: Add NXP LPC18xx PWM/SCT DT binding documentation
pwm: NXP LPC18xx PWM/SCT driver
pwm-pca9685: Support changing the output frequency
pwm-pca9685: Fix several driver bugs
pwm: kona: Modify settings application sequence
pwm: pca9685: Drop owner assignment
pwm: Add to device-drivers documentation
pwm: Clean up kerneldoc
pwm: Remove useless whitespace
pwm: sysfs: Remove unnecessary padding
pwm: sysfs: Properly convert from enum to string
pwm: Make use of pwm_get_xxx() helpers where appropriate
pwm: Add pwm_get_polarity() helper function
pwm: Constify PWM device where possible
pwm: Add the pwm_is_enabled() helper
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/DocBook/device-drivers.tmpl | 27 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/pwm/lpc1850-sct-pwm.txt | 20 |
2 files changed, 47 insertions, 0 deletions
diff --git a/Documentation/DocBook/device-drivers.tmpl b/Documentation/DocBook/device-drivers.tmpl index abba93f9d64a..1d6008d51b55 100644 --- a/Documentation/DocBook/device-drivers.tmpl +++ b/Documentation/DocBook/device-drivers.tmpl @@ -490,4 +490,31 @@ X!Ilib/fonts/fonts.c !Edrivers/hsi/hsi.c </chapter> + <chapter id="pwm"> + <title>Pulse-Width Modulation (PWM)</title> + <para> + Pulse-width modulation is a modulation technique primarily used to + control power supplied to electrical devices. + </para> + <para> + The PWM framework provides an abstraction for providers and consumers + of PWM signals. A controller that provides one or more PWM signals is + registered as <structname>struct pwm_chip</structname>. Providers are + expected to embed this structure in a driver-specific structure. This + structure contains fields that describe a particular chip. + </para> + <para> + A chip exposes one or more PWM signal sources, each of which exposed + as a <structname>struct pwm_device</structname>. Operations can be + performed on PWM devices to control the period, duty cycle, polarity + and active state of the signal. + </para> + <para> + Note that PWM devices are exclusive resources: they can always only be + used by one consumer at a time. + </para> +!Iinclude/linux/pwm.h +!Edrivers/pwm/core.c + </chapter> + </book> diff --git a/Documentation/devicetree/bindings/pwm/lpc1850-sct-pwm.txt b/Documentation/devicetree/bindings/pwm/lpc1850-sct-pwm.txt new file mode 100644 index 000000000000..36e49d4325cd --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/lpc1850-sct-pwm.txt @@ -0,0 +1,20 @@ +* NXP LPC18xx State Configurable Timer - Pulse Width Modulator driver + +Required properties: + - compatible: Should be "nxp,lpc1850-sct-pwm" + - reg: Should contain physical base address and length of pwm registers. + - clocks: Must contain an entry for each entry in clock-names. + See ../clock/clock-bindings.txt for details. + - clock-names: Must include the following entries. + - pwm: PWM operating clock. + - #pwm-cells: Should be 3. See pwm.txt in this directory for the description + of the cells format. + +Example: + pwm: pwm@40000000 { + compatible = "nxp,lpc1850-sct-pwm"; + reg = <0x40000000 0x1000>; + clocks =<&ccu1 CLK_CPU_SCT>; + clock-names = "pwm"; + #pwm-cells = <3>; + }; |