| 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 |
| >; |
| }; |