mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
4.1 KiB
108 lines
4.1 KiB
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 |
|
>; |
|
};
|
|
|