diff options
author | Thierry Reding <thierry.reding@avionic-design.de> | 2011-12-14 05:10:32 -0500 |
---|---|---|
committer | Thierry Reding <thierry.reding@avionic-design.de> | 2012-06-15 06:56:57 -0400 |
commit | 7299ab70e68e20e70cb45fe4ab4b6029fe964acd (patch) | |
tree | b396b29f6170deb3769c0b884ccf0fd64211f6ee /Documentation/devicetree | |
parent | e05e5070f0ec2557d2d2ff3655ba03f29e297151 (diff) |
pwm: Add device tree support
This patch adds helpers to support device tree bindings for the generic
PWM API. Device tree binding documentation for PWM controllers is also
provided.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r-- | Documentation/devicetree/bindings/pwm/pwm.txt | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/pwm/pwm.txt b/Documentation/devicetree/bindings/pwm/pwm.txt new file mode 100644 index 000000000000..73ec962bfe8c --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/pwm.txt | |||
@@ -0,0 +1,57 @@ | |||
1 | Specifying PWM information for devices | ||
2 | ====================================== | ||
3 | |||
4 | 1) PWM user nodes | ||
5 | ----------------- | ||
6 | |||
7 | PWM users should specify a list of PWM devices that they want to use | ||
8 | with a property containing a 'pwm-list': | ||
9 | |||
10 | pwm-list ::= <single-pwm> [pwm-list] | ||
11 | single-pwm ::= <pwm-phandle> <pwm-specifier> | ||
12 | pwm-phandle : phandle to PWM controller node | ||
13 | pwm-specifier : array of #pwm-cells specifying the given PWM | ||
14 | (controller specific) | ||
15 | |||
16 | PWM properties should be named "pwms". The exact meaning of each pwms | ||
17 | property must be documented in the device tree binding for each device. | ||
18 | An optional property "pwm-names" may contain a list of strings to label | ||
19 | each of the PWM devices listed in the "pwms" property. If no "pwm-names" | ||
20 | property is given, the name of the user node will be used as fallback. | ||
21 | |||
22 | Drivers for devices that use more than a single PWM device can use the | ||
23 | "pwm-names" property to map the name of the PWM device requested by the | ||
24 | pwm_get() call to an index into the list given by the "pwms" property. | ||
25 | |||
26 | The following example could be used to describe a PWM-based backlight | ||
27 | device: | ||
28 | |||
29 | pwm: pwm { | ||
30 | #pwm-cells = <2>; | ||
31 | }; | ||
32 | |||
33 | [...] | ||
34 | |||
35 | bl: backlight { | ||
36 | pwms = <&pwm 0 5000000>; | ||
37 | pwm-names = "backlight"; | ||
38 | }; | ||
39 | |||
40 | pwm-specifier typically encodes the chip-relative PWM number and the PWM | ||
41 | period in nanoseconds. Note that in the example above, specifying the | ||
42 | "pwm-names" is redundant because the name "backlight" would be used as | ||
43 | fallback anyway. | ||
44 | |||
45 | 2) PWM controller nodes | ||
46 | ----------------------- | ||
47 | |||
48 | PWM controller nodes must specify the number of cells used for the | ||
49 | specifier using the '#pwm-cells' property. | ||
50 | |||
51 | An example PWM controller might look like this: | ||
52 | |||
53 | pwm: pwm@7000a000 { | ||
54 | compatible = "nvidia,tegra20-pwm"; | ||
55 | reg = <0x7000a000 0x100>; | ||
56 | #pwm-cells = <2>; | ||
57 | }; | ||