# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/input/dlg,da7280.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Dialog Semiconductor DA7280 Low Power High-Definition Haptic Driver maintainers: - Roy Im properties: compatible: const: dlg,da7280 reg: maxItems: 1 description: I2C address of the device. interrupts: maxItems: 1 dlg,actuator-type: enum: - LRA # Linear Resonance Actuator type - ERM-bar # Bar type Eccentric Rotating Mass - ERM-coin # Coin type Eccentric Rotating Mass dlg,const-op-mode: $ref: /schemas/types.yaml#/definitions/uint32 enum: - 1 # Direct register override (DRO) mode triggered by i2c (default) - 2 # PWM data source mode controlled by PWM duty description: Haptic operation mode for FF_CONSTANT dlg,periodic-op-mode: $ref: /schemas/types.yaml#/definitions/uint32 enum: - 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 default: 1 description: Haptic operation mode for FF_PERIODIC. The default value is 1 for both of the operation modes. For more details, please see the datasheet dlg,nom-microvolt: minimum: 0 maximum: 6000000 description: Nominal actuator voltage rating dlg,abs-max-microvolt: minimum: 0 maximum: 6000000 description: Absolute actuator maximum voltage rating dlg,imax-microamp: minimum: 0 maximum: 252000 default: 130000 description: Actuator max current rating dlg,impd-micro-ohms: minimum: 0 maximum: 1500000000 description: Impedance of the actuator pwms: maxItems: 1 dlg,ps-seq-id: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 0 maximum: 15 description: The PS_SEQ_ID(pattern ID in waveform memory inside chip) to play back when RTWM-MODE is enabled dlg,ps-seq-loop: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 0 maximum: 15 description: The PS_SEQ_LOOP, Number of times the pre-stored sequence pointed to by PS_SEQ_ID or GPI(N)_SEQUENCE_ID is repeated dlg,gpi0-seq-id: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 0 maximum: 15 description: the GPI0_SEQUENCE_ID, pattern to play when gpi0 is triggered dlg,gpi1-seq-id: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 0 maximum: 15 description: the GPI1_SEQUENCE_ID, pattern to play when gpi1 is triggered dlg,gpi2-seq-id: $ref: /schemas/types.yaml#/definitions/uint32 minimum: 0 maximum: 15 description: the GPI2_SEQUENCE_ID, pattern to play when gpi2 is triggered dlg,gpi0-mode: enum: - Single-pattern - Multi-pattern description: Pattern mode for gpi0 dlg,gpi1-mode: enum: - Single-pattern - Multi-pattern description: Pattern mode for gpi1 dlg,gpi2-mode: enum: - Single-pattern - Multi-pattern description: Pattern mode for gpi2 dlg,gpi0-polarity: enum: - Rising-edge - Falling-edge - Both-edge description: gpi0 polarity, Haptic will work by this edge option in case of ETWM mode dlg,gpi1-polarity: enum: - Rising-edge - Falling-edge - Both-edge description: gpi1 polarity, Haptic will work by this edge option in case of ETWM mode dlg,gpi2-polarity: enum: - Rising-edge - Falling-edge - Both-edge description: gpi2 polarity, Haptic will work by this edge option in case of ETWM mode dlg,resonant-freq-hz: minimum: 50 maximum: 300 default: 205 dlg,bemf-sens-enable: $ref: /schemas/types.yaml#/definitions/flag description: Enable for internal loop computations dlg,freq-track-enable: $ref: /schemas/types.yaml#/definitions/flag description: Enable for resonant frequency tracking dlg,acc-enable: $ref: /schemas/types.yaml#/definitions/flag description: Enable for active acceleration dlg,rapid-stop-enable: $ref: /schemas/types.yaml#/definitions/flag description: Enable for rapid stop dlg,amp-pid-enable: $ref: /schemas/types.yaml#/definitions/flag description: Enable for the amplitude PID dlg,mem-array: $ref: /schemas/types.yaml#/definitions/uint32-array minItems: 100 description: Customized waveform memory (patterns) data downloaded to the device during initialization. Each entry value must be included between 0 and 255. required: - compatible - reg - interrupts - dlg,actuator-type - dlg,const-op-mode - dlg,periodic-op-mode - dlg,nom-microvolt - dlg,abs-max-microvolt - dlg,imax-microamp - dlg,impd-micro-ohms additionalProperties: false examples: - | #include #include i2c { #address-cells = <1>; #size-cells = <0>; haptics@4a { compatible = "dlg,da7280"; reg = <0x4a>; interrupt-parent = <&gpio6>; interrupts = <11 IRQ_TYPE_LEVEL_LOW>; dlg,actuator-type = "LRA"; dlg,const-op-mode = <1>; 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>; }; };