From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 874513655E4 for ; Tue, 16 Jun 2026 10:08:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781604521; cv=none; b=TW2ANjKCW2W/Z5fVpfMGHewvostob2pDstRyaBkPjpkQZGydEd4W4zafhsGNAJzflGI0pV0Pc32FzvN+b53ESGxgj16vEntzbZZPDEWKBbQOy6S+03cY+Ojc47r0o4SqqTo4V4i+/L+3Yit3gFDicyVbFTP1fVqbK/FRtoi6Gdw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781604521; c=relaxed/simple; bh=8jcAV2yuoQt7G02Lw5FYeoUTF9xTmjUkDoeFdxT1AHI=; h=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc; b=T+s8fHI+9yI7RJHEKXgy0DaZwHxx6K9v36jPnfurjT5CG2g8oSML3XXsn54mBMCzCP0eYXP9ff9P+pRc9r4SmmkDPte+88efQ+hDQLXHjAK67ZTxKnop0AW7uHNULChRZ6sYB/idZ12VFXRrH62jnARYcIPxqP0PR/M/ZuEFBO0= 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=RrtsQxuO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=j8JrVTDq; arc=none smtp.client-ip=205.220.180.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="RrtsQxuO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="j8JrVTDq" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65G65HHt2849806 for ; Tue, 16 Jun 2026 10:08:37 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=bcS/UZMaUayu08adKTpLXZ zntUkOKoonI+b1ydAQ5Yk=; b=RrtsQxuO7jNKThVat815pFuk3qQMlITe9Q9VOe bN9clA/h1seo7O7BjmP0Y2X2NXM6BAB4+fQ6v/bXKNo3/tG8TfHBqRV9yquoJmSG xyUpy9AlanDIu7uq2g7hd8hPOEv+Wv+yI+TjYmzAKoSzdJtV4uHh8dUU2CN2vUkV Wa3WVfv/UWkH67Phd/c/oq2AkU3lPvztlNsXYYcehsrv/cf8Gm+1QjpRYiUZo9lL K2UcmTnPv+95RwV5gvJQ/6tc+TJJYbLNM+viLc3up+VsUqRczE5XCKQoccabqhVo 1NaasnHo4s4IBCebnZqo5h7oEpQpc9dhvcIxdxKWIZBniDMQ== Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eu09g96a0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 16 Jun 2026 10:08:37 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-304ec73b015so648078eec.1 for ; Tue, 16 Jun 2026 03:08:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781604516; x=1782209316; darn=vger.kernel.org; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:from:to:cc:subject:date:message-id:reply-to; bh=bcS/UZMaUayu08adKTpLXZzntUkOKoonI+b1ydAQ5Yk=; b=j8JrVTDqVS6O7l/AkGD0mlIOQVgfJbbCBDjWk+W9m7PBjbGjE2p3/LqYvCWWqCV8SJ AOTJ04tj98hSwvaFj+faoHiTN+J4K+Jy7Bd1wsUHybuxpD9w2gx8oW4tBqZB6UivrvPv XgQJa4Z88zWggkDb6htxRhB+RNG2uPj/NLIB2y4BwvA9/TTu+60EAUSb4iWENbljb5HE m4CiHa6jQ7L2mHFCYAuI4fY0hqbr+lzuszLwlus1t/1j5CvGvPWdIUeBDo49ThKzuCM4 zwpYKeDGVxz5myCz7rgJU+VinwR+a/aq9QaoGKU/PF17nYvLuCiLA1KLQiWqS+CAgU/h lYmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781604516; x=1782209316; h=cc:to:content-transfer-encoding:mime-version:message-id:date :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=bcS/UZMaUayu08adKTpLXZzntUkOKoonI+b1ydAQ5Yk=; b=DctwfuLGFJo/f3+Yz0rz6zNtb85QKxXyaj4DAfqbmYgIObF9H3+8P/LA6zUv25YQbX AOX/lHaRkQvktaxEtc/LxCU9B0vq6Sal8AbIczACChZZ9mBOcA+GUJlYr+EJADQ0csvW rT5/GwixC7qrsAN/hvixFMK4M+0zPoONPrpmwwb+M5DcgjvRv3xhzgHN2n/MHs3vevfb E+C0+YHQWaqbrxh9PNCG8oiKPGDAQARaaW+vYQ1gLpaMqnHMAsThYGDureSd9Pmra9N5 cvOhBl906ZaykKBkJTUPICFBL9bpGOwiVZXq1tT3u6O9qD6aYTPDVYkDH7luzrl224DZ X0lQ== X-Forwarded-Encrypted: i=1; AFNElJ9LBKwpH9EL4WymHjbEjSe3xaglONCSiBL9NuEPku/NzKaYyGlwBFbnNyb83uScTMghLtvyVYHf2JH9Gag=@vger.kernel.org X-Gm-Message-State: AOJu0Yw9ofZb2C6BkrB3WhCevIUknj34FZLhLwdneI2Pkqn1NIly/88n x9wlqZWlACVtAMrejld9KUmL6ciIlpGjVFIWwwZIKEkhzN5mlrbk9IIWXp9IJHbYf2oK8oS5+q0 CP+rm6IG2THCo1SH10FJVr5SiomI1L+sgeVtBV2+cEKBTV9qqYB5r1FVevghPSSEDQU4= X-Gm-Gg: Acq92OFYQQN4s+D5LQXy10wZMwuHt4bT98ydS60qa9DThbrZ8aPaIqVSjxcBo9QHPUT GAu98kd8AcAmj6F8LBi1jxbTQXP23H0nRIiwQbrZOVsqPD7rIXZb1sEECgMlc67zwX5HlVbAoCd ppSDpYyMkOXBKYFiRx8RK6ihEBk0JGWiDiekzo3EH9SStul0XE19+ITpZNZHoXaQHpxQEENxVXo p2gOacXr62UQc1qNoofg48vVEvo23zUJ0KFGG3xydd4zHGqi+/vIujUW0XQzUrVbX7+5bPLMOAE 3dULMgy7eDfT8KHntnMOrRn9Dt8DYvCZRIc9/QwQyv5ORqjv1CnLTBlgcTT0CbuQbTogrp+d/lu d6PdJU1+e+VavNuipgsOcs25xvuGlsIW7NqWm2IoDe5b7kWQST5irRNw+83733Tj/fXou8vkgUw == X-Received: by 2002:a05:7300:d12:b0:2ed:6f94:9d9f with SMTP id 5a478bee46e88-30ba5b0c8a9mr2034586eec.11.1781604516479; Tue, 16 Jun 2026 03:08:36 -0700 (PDT) X-Received: by 2002:a05:7300:d12:b0:2ed:6f94:9d9f with SMTP id 5a478bee46e88-30ba5b0c8a9mr2034548eec.11.1781604515910; Tue, 16 Jun 2026 03:08:35 -0700 (PDT) Received: from hu-fenglinw-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-3081e48bfa7sm18401484eec.5.2026.06.16.03.08.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jun 2026 03:08:35 -0700 (PDT) From: Fenglin Wu Subject: [PATCH 0/4] input: misc: Add an initial driver for haptics inside Qcom PMIH010x PMIC Date: Tue, 16 Jun 2026 03:08:23 -0700 Message-Id: <20260616-qcom-spmi-haptics-v1-0-d24e422de6b4@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAJcgMWoC/x3MMQqAMAxA0atIZgPaQoteRRw0RptBrY2IIN7d4 viG/x9QTsIKbfFA4ktU9i2jLgugMGwLo0zZYCrjKlc7PGhfUeMqGIZ4CilaosazH401DLmLiWe 5/2fXv+8HsdwfeWMAAAA= X-Change-ID: 20260616-qcom-spmi-haptics-3cc97e7b232e To: linux-arm-msm@vger.kernel.org, Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Stephen Boyd , Bjorn Andersson , Konrad Dybcio Cc: David Collins , Subbaraman Narayanamurthy , Kamal Wadhwa , kernel@oss.qualcomm.com, linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Fenglin Wu X-Mailer: b4 0.16-dev-17187 X-Developer-Signature: v=1; a=ed25519-sha256; t=1781604514; l=2105; i=fenglin.wu@oss.qualcomm.com; s=20260324; h=from:subject:message-id; bh=8jcAV2yuoQt7G02Lw5FYeoUTF9xTmjUkDoeFdxT1AHI=; b=2FehIfS41N/TPc1qLndk4mWsPF80STZZkVugeFaiM+iKcjib4s97/xasjxTkpjNhdKEb8XPy7 G6Hs9iTr0hUBhd4DQHQ+j48o2zEgt+Hp9tD/Hs+7VNXAWx7vPtj4qQ1 X-Developer-Key: i=fenglin.wu@oss.qualcomm.com; a=ed25519; pk=hJdt3E7o54lql+miD2GaxwF74cDyhgNwMbmFOZ46bRU= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE2MDEwMSBTYWx0ZWRfX51nOL4hoWMI9 vDKwdUW+BjMgqGUX9FKYq9O7o/hbpouGmrWKNlLCmPLMBvDU5Ku4wsfsGQrY3HxVXVy3q1wqgfY 2TCuDnj2dHp3XnIXyl7walwkCfCPue/VR4/g/rMxUSqTU6eXrtCrgF6QQrEzlDQghT3JCZk2nZh tvGFgxC9L29wlDXvVa7K3AWcVAvk2aGIfA+VcHwJ44brFrteNwuwQdrCkJotDlqY8dMQBj27DiX YsPt+8GOBQ41Pyp08vd8X5riS9O/X9EWZAHrYygyqBrlZ1ljvTgmeFV6A6A9b1/fDAdiWQGxdYZ +BavKanhAU8/MQQnXmKX3zHW+UFABVlpBVc2ymrGsmXRZMxDCalrslK3UBh3vdIhu+5+/uccj7W mQGZEIugUIY3j2PsfitQcwraPeUu5MteASgNeHdaTc5lY5ZKY3C46eq/c2Gv5R+Tetcbgg/NTyL 72HMqn08gS3hOl7yH6w== X-Proofpoint-ORIG-GUID: WHjSknHaM_-QlLnIQQpIkSumGTap6zXX X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE2MDEwMSBTYWx0ZWRfXyI1Dcf9Q/3eJ OAQFIkuqm06GnjVJCsKhQH5r6VuHccsCCZzn6evsch59kUtdWSzuRvBrU05cOD7HJcilY4vgrRM NuOvpzD+U4F9phSCPJk0Le6e0mMdR1U= X-Authority-Analysis: v=2.4 cv=DLa/JSNb c=1 sm=1 tr=0 ts=6a3120a5 cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=5KqnN7YOGQbVWrjFSmMA:9 a=QEXdDO2ut3YA:10 a=6Ab_bkdmUrQuMsNx7PHu:22 X-Proofpoint-GUID: WHjSknHaM_-QlLnIQQpIkSumGTap6zXX 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-16_02,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 priorityscore=1501 phishscore=0 suspectscore=0 bulkscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606160101 Qualcomm PMIH010x PMIC has a haptics module inside and it could drive a LRA actuator with several play modes, including: DIRECT_PLAY, FIFO, PAT_MEM, SWR, etc. Add an initial driver to support two of the play modes using the input force-feedback framework: -- FF_CONSTANT effect for DIRECT_PLAY mode which drives sinusoidual waveforms with fixed period and amplitude, which would generate a constant vibration effect on the LRA actuator. -- FF_PERIODIC effect with FF_CUSTOM for FIFO streaming mode, which can play an arbitrary waveform composed of a sequence of 8-bit samples at a configurable play rate. Also, add the device node in the existing pmih0108 dtsi files, and enble the haptics device for several boards by updating the vmax and lra-period sttings according to the LRA components that mounted on each of them. Signed-off-by: Fenglin Wu --- Fenglin Wu (4): dt-bindings: input: Add binding for Qualcomm SPMI PMIC haptics dt-bindings: mfd: qcom,spmi-pmic: Document haptics device input: misc: Add Qualcomm SPMI PMIC haptics driver arm64: dts: qcom: Add PMIH0108 haptics device node .../bindings/input/qcom,spmi-haptics.yaml | 119 +++ .../devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 4 + arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 7 + arch/arm64/boot/dts/qcom/kaanapali-qrd.dts | 7 + arch/arm64/boot/dts/qcom/pmih0108-kaanapali.dtsi | 9 + arch/arm64/boot/dts/qcom/pmih0108.dtsi | 9 + arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 7 + arch/arm64/boot/dts/qcom/sm8750-qrd.dts | 7 + drivers/input/misc/Kconfig | 11 + drivers/input/misc/Makefile | 1 + drivers/input/misc/qcom-spmi-haptics.c | 831 +++++++++++++++++++++ 11 files changed, 1012 insertions(+) --- base-commit: 66725039f7090afe14c31bd259e2059a68f04023 change-id: 20260616-qcom-spmi-haptics-3cc97e7b232e Best regards, -- Fenglin Wu