From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D36BD3128D9 for ; Mon, 22 Jun 2026 02:29:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782095349; cv=none; b=c0EDX/OWZjkfTRhw4WocdlHX5MZW4ANbiNLYCzLiHKep38jmB9pbi2B1YACrillPYLsO29caAq7S6WUOCL8pALnxD5gq/tQHyLdV6wpFr2HHTKFc/8AJ4tjCO/Qz+v//Hu6rW7x74UdZy9edUQBkFyna5gQvgihCjk56buY3fuE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782095349; c=relaxed/simple; bh=Imnb8guT45fj+jnS+EFxeQAAPmLzZRhca0s8hOhxRRg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=I3axyn+2WWdbyIkcOiVKZ8m8UxmXtRGYhDNbSqPEuJNufSIrtqYX4WealhZvGogHqiaDLRR6VhCo61dqd4XIfNokcVAByViw2fsKbmn8CrGMnOLj7wzVmMmWp6SGXdWaOLs1wlsN/GuO2OHYckKmuK21juB11Zb8R/LFOLcA724= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=jcVjcJGa; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HnUYUM5V; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="jcVjcJGa"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HnUYUM5V" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65LKxM5S2789201 for ; Mon, 22 Jun 2026 02:29:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= wdCcN1CC/CVMzb2L+hRp7Ek9alBi4Jrp3KJK3rGj+sA=; b=jcVjcJGa12etEl5u pxQU19/zni0jREDkjsnWhG1u9VFEf6Ndr+cC1Lj4Ek61QohYZORtoboTWBoxHgEO 4ZGsKEuja/BgP6eL8LOgSGAY4WUesjWiappR3gtihQ0PzJ55a1NBlZABfkYt4FBk 2MJEyYNEYa8FH5zk8Oj4lnH+JMp1Tx82MyHY/LSsCkq61pxWofhgF04Kt0TKHw1r xgeSpFUwC/Cx1Cp3LaJEzj9yrSqRlF9GVbz8WuWecRihWlDF+uWPegWi4Pao96+H SJ034RkUS3vma/ENQZMiA+IHgInWcd3Dt6UwDGK2d/BnfSA+LxWdNGVsfq5YoQji LKnRHw== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ewm1k48py-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 22 Jun 2026 02:29:07 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-37d4eff15b0so1856752a91.1 for ; Sun, 21 Jun 2026 19:29:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782095346; x=1782700146; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=wdCcN1CC/CVMzb2L+hRp7Ek9alBi4Jrp3KJK3rGj+sA=; b=HnUYUM5V4gbYwCX1WAONHW+sbw2D3wrCjeJs4FoDKkuWyan2TTR8zMR5V04NlicyHk hQzv6gR2K9Zpe5LYOA8dIWQ5xLgg68cx5BP/yPSL7HSFg7REDS4NHgYtbZrkuxATDw8J O/c5hpxflrIBlUeTsOT3eUujL7iAgw7u4TgKqLxXY45N7oQS4GBrlwZRyovcIbRIDsaV 4aYPHA/s6H9uOa0HtZ64cTSrygyrCKDIqd5g3gijJurNdeIwRmCtEq+ZgMfdzrTp+Nc9 phxxluJEwFsP9ZHmjQEI7Qw7VgIa0cuTyxBLoXhWTml6lHIbdNTZLaJyXbCaLdZCD4uJ vZGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782095346; x=1782700146; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=wdCcN1CC/CVMzb2L+hRp7Ek9alBi4Jrp3KJK3rGj+sA=; b=WHPNe8YswoNheqLjKOikZddpa+J3xulCHDLaJqUCJeGtTVWdFy/Vvo8YjJN0DnaA2L y+PGLyfVLHtA1gEz3M5pzKbPHqK6NyvU9vaA/IEdzosayYL7lpux9YBp2Crx+Xio6cHK 0+iSwONIxLWw3jEfAWQVt7VNqy4G7yWz7DYaX1qNaZoW/CX8P+axdzg6qbYDx17jPe5N x6XvR73qgY1VX6G26kZzP/WjO6jNd0Vk+PO8td89RgWDfL+ETEdkfB98rltoTP6i/r4y ZDOjjrJnkLyx1V2q1BTDe13fz+qkvvyR+nXd6VSVPxziavbii8yLrfmTSGRu7AtnH3be +lAQ== X-Forwarded-Encrypted: i=1; AHgh+RrS4mHwe0e1AnW+VUZSX5eRe2G4vj+Y3ERc9bfHkWZBz8oiMtYi1HRNEtjj+5DIkO5vKerOjD6vTOhnvqM=@vger.kernel.org X-Gm-Message-State: AOJu0YyvTvSAe66WYS4ekEdF7uRnMNdnc5gtBNrlDe8lpXFfvyTF8wEj VnVqS1OTIVvB0r8NXWtZPlnMbrfAp/o3nJsOJ4VNim91vUX+k0i48wPqta0mNYVqn33UHstzlMZ 2Mrih+JlFIy393RS2tHGVWolAQs7wW3rlhhOQ8PFJcipDET2U8uyWUENoZi/qv4kMeto= X-Gm-Gg: AfdE7clC+Pk5tVbOuAeCLTR8g55Kx7b8aPrX6qGTZnBvXttLjqUuC5vugD0+jwIWfX4 8E4R1prdBy/5/21ZLqaXBWzJn+CwOWYultl7HoflwdYkh5G5A5wkkZx1oHSssI7927FOoTGfa2H cWTy8qB6sACkpN27l0sl+gGrByzYnvpmYgObTVbLKW1ocCBdkPDX5SaOgkVlyt5SsoUzvOjNjIl n0NgZi6kxgH9T74uoBKpRTUJ5S2w+mozR9YQcexUQdhfJZlaCjIMVmlPo07XHljOXjy+/92u8ug 4xvZ7rsQHehbzhSnZpBxM/XGkay800zIyn0W32ccEnzu2GXpMOSEPzesmGcLt7JVatJm+nKCLrD MeDvDJ7oJPsywg09z2O+9EIT0qXq37FlVBKA= X-Received: by 2002:a17:903:1c1:b0:2ba:4e84:966 with SMTP id d9443c01a7336-2c718fcc7a6mr138565935ad.36.1782095346324; Sun, 21 Jun 2026 19:29:06 -0700 (PDT) X-Received: by 2002:a17:903:1c1:b0:2ba:4e84:966 with SMTP id d9443c01a7336-2c718fcc7a6mr138565775ad.36.1782095345891; Sun, 21 Jun 2026 19:29:05 -0700 (PDT) Received: from [10.239.155.28] ([114.94.8.21]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c7436d3505sm60225495ad.19.2026.06.21.19.29.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 21 Jun 2026 19:29:05 -0700 (PDT) Message-ID: <20fa15e1-316b-44fa-b59d-99cb7fe78bb0@oss.qualcomm.com> Date: Mon, 22 Jun 2026 10:28:59 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/4] dt-bindings: input: Add binding for Qualcomm SPMI PMIC haptics To: Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Stephen Boyd , Bjorn Andersson , Konrad Dybcio , David Collins , Subbaraman Narayanamurthy , Kamal Wadhwa , kernel@oss.qualcomm.com, linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260616-qcom-spmi-haptics-v1-0-d24e422de6b4@oss.qualcomm.com> <20260616-qcom-spmi-haptics-v1-1-d24e422de6b4@oss.qualcomm.com> <20260617-wakeful-gorilla-of-feminism-75287c@quoll> <44778bec-68c5-426d-bc05-b4013630b3ee@kernel.org> Content-Language: en-US From: Fenglin Wu In-Reply-To: <44778bec-68c5-426d-bc05-b4013630b3ee@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-GUID: NiJAnA5WiY1a6-q_DLTFzM9RmRWmrad8 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjIyMDAyMyBTYWx0ZWRfX9XWJSFBBSF6j 5Alp5XO0uMYVLH4vBcLix4lZseeCAk8snuWH24aFDmaBW34tcZATeqoqFI4fHcl8OYUMcQji32r Ddkxz1uGcgdYmy+kJ19nGQh3LdeJlJE= X-Authority-Analysis: v=2.4 cv=T6S8ifKQ c=1 sm=1 tr=0 ts=6a389df3 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=Uz3yg00KUFJ2y2WijEJ4bw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=G-0MMZ6kwLWl7lZkNOoA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjIyMDAyMyBTYWx0ZWRfX+q4LVKaoAWaL VUJSxUZWOQHq7uvChhTu/AK+tGl00jSCjRAAkoq/ngzjJc0JZfT4ss3WHd13D2goZpczFq9ROLC R9EX8pAAsWltnuZ2HJ73lC8/DhsI0oG+EJL967/2zcOaZqNE92jc+XOphj0QznBLIKHDvfDw7UC U7ypeqJwrQE4edPTyR+eav9UlzVHxQvwGxcoY0AeQTQgtX9qcwjq/jrCzAjtbgW4n1l7KDhbaSW Etw+Goeut5/w7y8oloNZuJ4i4EnNCM72535QtYKPVmZqz7163HkMQJUCauu81XsD3GbdHLUIERj 3BgnBQfD6jQ0+MHKN9mB/LdHIdYziGTnfO68Ys8/xNyA+0x4yUQEBFDzRl28015MN0Pp72luRlg K+vXkaqnzM4EB0+/fl5hA2xXOjUCOy/yrtBs0PZgKxuXsi4UPwlsCE3af3Zfjb7EBIy6khi9Oeg sq0u4vgdQQ1RHC/sjuQ== X-Proofpoint-ORIG-GUID: NiJAnA5WiY1a6-q_DLTFzM9RmRWmrad8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-21_02,2026-06-18_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 malwarescore=0 adultscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 suspectscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606220023 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