Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull more input updates from Dmitry Torokhov: "A second round of updates for the input subsystem: - a new driver for PWM-controlled vibrators - ucb1400 touchscreen driver had completely busted suspend/resume handling - we now handle "home" button found on some devices with Goodix touchscreens - assorted other fixups" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: i8042 - add Gigabyte P57 to the keyboard reset table Input: xpad - validate USB endpoint type during probe Input: ucb1400_ts - fix suspend and resume handling Input: edt-ft5x06 - fix access to non-existing register Input: elantech - make arrays debounce_packet static, reduces object code size Input: surface3_spi - make const array header static, reduces object code size Input: goodix - add support for capacitive home button Input: add a driver for PWM controllable vibrators Input: adi - make array seq static, reduces object code size
This commit is contained in:
66
Documentation/devicetree/bindings/input/pwm-vibrator.txt
Normal file
66
Documentation/devicetree/bindings/input/pwm-vibrator.txt
Normal file
@@ -0,0 +1,66 @@
|
||||
* PWM vibrator device tree bindings
|
||||
|
||||
Registers a PWM device as vibrator. It is expected, that the vibrator's
|
||||
strength increases based on the duty cycle of the enable PWM channel
|
||||
(100% duty cycle meaning strongest vibration, 0% meaning no vibration).
|
||||
|
||||
The binding supports an optional direction PWM channel, that can be
|
||||
driven at fixed duty cycle. If available this is can be used to increase
|
||||
the vibration effect of some devices.
|
||||
|
||||
Required properties:
|
||||
- compatible: should contain "pwm-vibrator"
|
||||
- pwm-names: Should contain "enable" and optionally "direction"
|
||||
- pwms: Should contain a PWM handle for each entry in pwm-names
|
||||
|
||||
Optional properties:
|
||||
- vcc-supply: Phandle for the regulator supplying power
|
||||
- direction-duty-cycle-ns: Duty cycle of the direction PWM channel in
|
||||
nanoseconds, defaults to 50% of the channel's
|
||||
period.
|
||||
|
||||
Example from Motorola Droid 4:
|
||||
|
||||
&omap4_pmx_core {
|
||||
vibrator_direction_pin: pinmux_vibrator_direction_pin {
|
||||
pinctrl-single,pins = <
|
||||
OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE1) /* dmtimer8_pwm_evt (gpio_27) */
|
||||
>;
|
||||
};
|
||||
|
||||
vibrator_enable_pin: pinmux_vibrator_enable_pin {
|
||||
pinctrl-single,pins = <
|
||||
OMAP4_IOPAD(0X1d0, PIN_OUTPUT | MUX_MODE1) /* dmtimer9_pwm_evt (gpio_28) */
|
||||
>;
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
pwm8: dmtimer-pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vibrator_direction_pin>;
|
||||
|
||||
compatible = "ti,omap-dmtimer-pwm";
|
||||
#pwm-cells = <3>;
|
||||
ti,timers = <&timer8>;
|
||||
ti,clock-source = <0x01>;
|
||||
};
|
||||
|
||||
pwm9: dmtimer-pwm {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vibrator_enable_pin>;
|
||||
|
||||
compatible = "ti,omap-dmtimer-pwm";
|
||||
#pwm-cells = <3>;
|
||||
ti,timers = <&timer9>;
|
||||
ti,clock-source = <0x01>;
|
||||
};
|
||||
|
||||
vibrator {
|
||||
compatible = "pwm-vibrator";
|
||||
pwms = <&pwm8 0 1000000000 0>,
|
||||
<&pwm9 0 1000000000 0>;
|
||||
pwm-names = "enable", "direction";
|
||||
direction-duty-cycle-ns = <1000000000>;
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user