109 lines
4.1 KiB
Plaintext
109 lines
4.1 KiB
Plaintext
|
Dialog Semiconductor DA7280 Haptics bindings
|
||
|
|
||
|
Required properties:
|
||
|
- compatible: Should be "dlg,da7280".
|
||
|
- reg: Specifies the I2C slave address.
|
||
|
|
||
|
- interrupt-parent : Specifies the phandle of the interrupt controller to
|
||
|
which the IRQs from DA7280 are delivered to.
|
||
|
|
||
|
- dlg,actuator-type: Set Actuator type. it should be one of:
|
||
|
"LRA" - Linear Resonance Actuator type.
|
||
|
"ERM-bar" - Bar type Eccentric Rotating Mass.
|
||
|
"ERM-coin" - Coin type Eccentric Rotating Mass.
|
||
|
|
||
|
- dlg,const-op-mode: Haptic operation mode for FF_CONSTANT.
|
||
|
Possible values:
|
||
|
1 - Direct register override(DRO) mode triggered by i2c(default),
|
||
|
2 - PWM data source mode controlled by PWM duty,
|
||
|
- dlg,periodic-op-mode: Haptic operation mode for FF_PERIODIC.
|
||
|
Possible values:
|
||
|
1 - Register triggered waveform memory(RTWM) mode, the pattern
|
||
|
assigned to the PS_SEQ_ID played as much times as PS_SEQ_LOOP,
|
||
|
2 - Edge triggered waveform memory(ETWM) mode, external GPI(N)
|
||
|
control are required to enable/disable and it needs to keep
|
||
|
device enabled by sending magnitude (X > 0),
|
||
|
the pattern is assigned to the GPI(N)_SEQUENCE_ID below.
|
||
|
The default value is 1 for both of the operation modes.
|
||
|
For more details, please see the datasheet.
|
||
|
|
||
|
- dlg,nom-microvolt: Nominal actuator voltage rating.
|
||
|
Valid values: 0 - 6000000.
|
||
|
- dlg,abs-max-microvolt: Absolute actuator maximum voltage rating.
|
||
|
Valid values: 0 - 6000000.
|
||
|
- dlg,imax-microamp: Actuator max current rating.
|
||
|
Valid values: 0 - 252000.
|
||
|
Default: 130000.
|
||
|
- dlg,impd-micro-ohms: the impedance of the actuator in micro ohms.
|
||
|
Valid values: 0 - 1500000000.
|
||
|
|
||
|
Optional properties:
|
||
|
- pwms : phandle to the physical PWM(Pulse Width Modulation) device.
|
||
|
PWM properties should be named "pwms". And number of cell is different
|
||
|
for each pwm device.
|
||
|
(See Documentation/devicetree/bindings/pwm/pwm.txt
|
||
|
for further information relating to pwm properties)
|
||
|
|
||
|
- dlg,ps-seq-id: the PS_SEQ_ID(pattern ID in waveform memory inside chip)
|
||
|
to play back when RTWM-MODE is enabled.
|
||
|
Valid range: 0 - 15.
|
||
|
- dlg,ps-seq-loop: the PS_SEQ_LOOP, Number of times the pre-stored sequence
|
||
|
pointed to by PS_SEQ_ID or GPI(N)_SEQUENCE_ID is repeated.
|
||
|
Valid range: 0 - 15.
|
||
|
- dlg,gpiN-seq-id: the GPI(N)_SEQUENCE_ID, pattern to play
|
||
|
when gpi0 is triggered, 'N' must be 0 - 2.
|
||
|
Valid range: 0 - 15.
|
||
|
- dlg,gpiN-mode: the pattern mode which can select either
|
||
|
"Single-pattern" or "Multi-pattern", 'N' must be 0 - 2.
|
||
|
- dlg,gpiN-polarity: gpiN polarity which can be chosen among
|
||
|
"Rising-edge", "Falling-edge" and "Both-edge",
|
||
|
'N' must be 0 - 2
|
||
|
Haptic will work by this edge option in case of ETWM mode.
|
||
|
|
||
|
- dlg,resonant-freq-hz: use in case of LRA.
|
||
|
the frequency range: 50 - 300.
|
||
|
Default: 205.
|
||
|
|
||
|
- dlg,bemf-sens-enable: Enable for internal loop computations.
|
||
|
- dlg,freq-track-enable: Enable for resonant frequency tracking.
|
||
|
- dlg,acc-enable: Enable for active acceleration.
|
||
|
- dlg,rapid-stop-enable: Enable for rapid stop.
|
||
|
- dlg,amp-pid-enable: Enable for the amplitude PID.
|
||
|
- dlg,mem-array: Customized waveform memory(patterns) data downloaded to
|
||
|
the device during initialization. This is an array of 100 values(u8).
|
||
|
|
||
|
For further information, see device datasheet.
|
||
|
|
||
|
======
|
||
|
|
||
|
Example:
|
||
|
|
||
|
haptics: da7280-haptics@4a {
|
||
|
compatible = "dlg,da7280";
|
||
|
reg = <0x4a>;
|
||
|
interrupt-parent = <&gpio6>;
|
||
|
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
||
|
dlg,actuator-type = "LRA";
|
||
|
dlg,dlg,const-op-mode = <1>;
|
||
|
dlg,dlg,periodic-op-mode = <1>;
|
||
|
dlg,nom-microvolt = <2000000>;
|
||
|
dlg,abs-max-microvolt = <2000000>;
|
||
|
dlg,imax-microamp = <170000>;
|
||
|
dlg,resonant-freq-hz = <180>;
|
||
|
dlg,impd-micro-ohms = <10500000>;
|
||
|
dlg,freq-track-enable;
|
||
|
dlg,rapid-stop-enable;
|
||
|
dlg,mem-array = <
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
|
||
|
>;
|
||
|
};
|