123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- Specifying PWM information for devices
- ======================================
- 1) PWM user nodes
- -----------------
- PWM users should specify a list of PWM devices that they want to use
- with a property containing a 'pwm-list':
- pwm-list ::= <single-pwm> [pwm-list]
- single-pwm ::= <pwm-phandle> <pwm-specifier>
- pwm-phandle : phandle to PWM controller node
- pwm-specifier : array of #pwm-cells specifying the given PWM
- (controller specific)
- PWM properties should be named "pwms". The exact meaning of each pwms
- property must be documented in the device tree binding for each device.
- An optional property "pwm-names" may contain a list of strings to label
- each of the PWM devices listed in the "pwms" property. If no "pwm-names"
- property is given, the name of the user node will be used as fallback.
- Drivers for devices that use more than a single PWM device can use the
- "pwm-names" property to map the name of the PWM device requested by the
- pwm_get() call to an index into the list given by the "pwms" property.
- The following example could be used to describe a PWM-based backlight
- device:
- pwm: pwm {
- #pwm-cells = <2>;
- };
- [...]
- bl: backlight {
- pwms = <&pwm 0 5000000>;
- pwm-names = "backlight";
- };
- Note that in the example above, specifying the "pwm-names" is redundant
- because the name "backlight" would be used as fallback anyway.
- pwm-specifier typically encodes the chip-relative PWM number and the PWM
- period in nanoseconds.
- Optionally, the pwm-specifier can encode a number of flags (defined in
- <dt-bindings/pwm/pwm.h>) in a third cell:
- - PWM_POLARITY_INVERTED: invert the PWM signal polarity
- Example with optional PWM specifier for inverse polarity
- bl: backlight {
- pwms = <&pwm 0 5000000 PWM_POLARITY_INVERTED>;
- pwm-names = "backlight";
- };
- 2) PWM controller nodes
- -----------------------
- PWM controller nodes must specify the number of cells used for the
- specifier using the '#pwm-cells' property.
- An example PWM controller might look like this:
- pwm: pwm@7000a000 {
- compatible = "nvidia,tegra20-pwm";
- reg = <0x7000a000 0x100>;
- #pwm-cells = <2>;
- };
|