ARM: dts: qcom: add haptics device node in pmih010x for sun plaform

Add pmih010x haptics device node and corresponding effects settings
for sun platform.

Change-Id: Ie0862a9cf9224dfcaf4b76f835cafc5de4d8c865
Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com>
This commit is contained in:
Fenglin Wu
2023-10-13 13:55:06 +08:00
parent 65b397a982
commit ef991182e4
4 changed files with 205 additions and 0 deletions

View File

@@ -5,6 +5,7 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>
#include <dt-bindings/input/qcom,hv-haptics.h>
&spmi_bus {
#address-cells = <2>;
@@ -45,6 +46,195 @@
compatible = "qcom,pmic-eusb2-repeater";
reg = <0xfd00>;
};
pmih010x_haptics: qcom,hv-haptics@f000 {
compatible = "qcom,hv-haptics";
reg = <0xf000>, <0xf100>, <0xf200>;
interrupts = <0x7 0xf0 0x1 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "fifo-empty";
qcom,vmax-mv = <3600>;
qcom,lra-period-us = <6667>;
qcom,brake-mode = <BRAKE_CLOSE_LOOP>;
qcom,brake-pattern = /bits/ 8 <0xff 0x3f 0x1f>;
qcom,drv-sig-shape = <WF_SINE>;
qcom,brake-sig-shape = <WF_SINE>;
qcom,rt-imp-detect;
hap_swr_slave_reg: qcom,hap-swr-slave-reg {
regulator-name = "hap-swr-slave-reg";
};
/*
* Following sub-nodes are just examples of effects
* that play with FIFO mode. qcom,wf-fifo-data and
* qcom,wf-fifo-period and some other waveform related
* properties need to be updated for specific waveforms.
*/
effect_0 {
/* CLICK */
qcom,effect-id = <0>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f 7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
effect_1 {
/* DOUBLE_CLICK */
qcom,effect-id = <1>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f 7f 7f 7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
effect_2 {
/* TICK */
qcom,effect-id = <2>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
effect_3 {
/* THUD */
qcom,effect-id = <3>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
effect_4 {
/* POP */
qcom,effect-id = <4>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
effect_5 {
/* HEAVY_CLICK */
qcom,effect-id = <5>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f 7f 7f 7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_0 {
/* NOOP */
qcom,primitive-id = <0>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [00 00 00 00];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_1 {
/* CLICK */
qcom,primitive-id = <1>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_2 {
/* THUD */
qcom,primitive-id = <2>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_3 {
/* SPIN */
qcom,primitive-id = <3>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_4 {
/* QUICK_RISE */
qcom,primitive-id = <4>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_5 {
/* SLOW_RISE */
qcom,primitive-id = <5>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_6 {
/* QUICK_FALL */
qcom,primitive-id = <6>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_7 {
/* LIGHT_TICK */
qcom,primitive-id = <7>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
primitive_8 {
/* LOW_TICK */
qcom,primitive-id = <8>;
qcom,wf-vmax-mv = <3600>;
qcom,wf-fifo-preload;
qcom,wf-fifo-data = [7f 7f];
qcom,wf-fifo-period = <S_PERIOD_T_LRA>;
qcom,wf-auto-res-disable;
qcom,wf-brake-disable;
};
};
};
};