Re: [PATCH 1/4] dt-bindings: input: Add binding for Qualcomm SPMI PMIC haptics

From: Fenglin Wu

Date: Sun Jun 21 2026 - 22:30:36 EST



On 6/19/2026 12:18 PM, Krzysztof Kozlowski wrote:
On 17/06/2026 13:02, Fenglin Wu wrote:
On 6/17/2026 6:35 PM, Krzysztof Kozlowski wrote:
On Tue, Jun 16, 2026 at 03:08:24AM -0700, Fenglin Wu wrote:
....
+
+ qcom,lra-period-us:
+ description:
+ LRA actuator initial resonance period in microseconds
+ (1,000,000 / resonant_freq_hz). Used to configure T_LRA-based play
+ rates and the auto-resonance zero-crossing window.
This does not feel like static characteristic. Isn't period depending on
intensity of vibration you want to have? Why would that be fixed per
board?
This period is specifically used for playbacks that require
auto-resonance to be enabled, which I referred to as "T_LRA-based" and
"auto-resonance zero-crossing window." It plays a key role in the
"DIRECT_PLAY" mode, which produces a constant vibration effect. To
adjust the vibration intensity during this constant effect, the hardware
does it by scaling the peak voltage of the driver signals, rather than
changing the frequency.
But maybe changing frequency runtime still would be useful?
It could be, but the LRA F0 (resonant frequency) still needs to be the starting point. You can control vibration intensity by driving the LRA slightly off resonance by a given percentage—for example, to reach 50% vibration, you could probably drive it 10% off resonant frequency, and that mapping also depends on the LRA characteristic. Keep in mind that LRA is a spring-mass resonant system, so its output is not linear with driving frequency; it is a High_Q system, and its output actually shows a sharp peak at the resonance point. By contrast, the relationship between driving voltage and its output is much more linear, so scaling vibration intensity by adjusting the driving voltage is easier to control. Qcom haptics HW scales vibration intensity in DIRECT_PLAY mode (for constant vibration effect) by scaling the driving voltage instead. That said, the HW can also change the driving waveform frequency by updating the T-LRA registers, and this property has to be specified as an initial value; otherwise, you won't have a baseline to achieve that.


What does the frequency depend on? IOW, how do you choose the value here
- based on some motor-part characteristics?
It's the resonant frequency of the LRA actuator that's mounted on the board.


Best regards,
Krzysztof