From nobody Thu Apr 2 11:02:23 2026 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC3A3359A70 for ; Mon, 2 Mar 2026 10:50:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448631; cv=none; b=OJ57Am0T+43kBvWge45WZHog/G+4mLcYIDsB2mZ1Ng/c+kqolelFAfDdCOTCfjvpz6HsBbnY4Q66QwqW7NfB5JLK/Wo32ijW5els5KIP1Kc+DE+4kNX2zjP9ul44lrp8HmakFhcy5p+HHjpDnTxs3BZ0QJvrbyAMZVY5qo+5CC0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448631; c=relaxed/simple; bh=aHRIOIA82B5UmiYNaDuGLIuutpMS1GzM+k8Df5VuVF8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZGaMj5azytJFJmh4HrpFoj7rl2gi4G1o1f0J8KnYUiBNcVs1We2LowPYV0DPQrMdC4UMrGw8hJsrUsVwggNPy1D6ZeHykezqI70Yy4YmSCK28mJCDVGlwhZ/IZlGUg/PG8HZKlwfBXYBKeVSgCOLNHNmY2ejpfdPGP+Dvx4k1c0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=0K9B4Lfb; arc=none smtp.client-ip=209.85.208.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="0K9B4Lfb" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-65f73d68faeso6337864a12.3 for ; Mon, 02 Mar 2026 02:50:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1772448628; x=1773053428; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=0CDK4BH+OoJnVpsxs1bAWWhwEzUlZ60d996yFctMRUA=; b=0K9B4LfbBsNqMeXrxpFxGOwU4vpOH+u4RbdDMFuLT8xd8qzPEzj58dIku2Yihw/Uqf zfnSFTr4ir4RppBO9SmQjH8Mw/EzPUEpeGkTSvzGW6SRdHA0MtE/MjlenRLlphFuwpmf dYDdvCf4WfthHVF9iOLY08BzXnb0cwrzJ2j/GRMVXgMoQtvWnTuNddVy9jK5JRMxcpTI R0B7L0AAvH4lhebqsqISamERauouaoTi8+/7RMQWX8XhPwG6WWe94IFlM3Go2XeGGtAM UeprBRqS41KSgVc5FZU8OPteNRZDJlbtLjtZMwH4HIr4HENGmEGCEN9jpz2UW2TsNd/0 AOlA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772448628; x=1773053428; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=0CDK4BH+OoJnVpsxs1bAWWhwEzUlZ60d996yFctMRUA=; b=aXjFuXNzvRkvEB4IHG8583rdnYCGo0gLHBAadxhFtqnDxEoVMTFTTZk4ul0wVYa9ki jRxMJyYzcVjqBqnjhSC1BYoBmCb5mnqqmaXX9SD9+1qHQPN7Xuu6C+1QnbI8Cf3Bx4V8 5qNOXcQTFB3ZPyZuIMYrE1Kf7Lp+x/WGuv11EomXw/lD0+FT/lqJ5rOvnBvxit4VmG7X J9i0aNsug664Y0RcArXvoIU9DypCjnQg1Wc51Hgyz5S2XIqRKk5WohJvqav+J7zcgfJr eSHdQn2+KNauF6fA2bv/9y/8R7DlFHK+ExIv9mRHfXkeXQOoc5WitX7eiP4wfGbDm9gz Qv0Q== X-Forwarded-Encrypted: i=1; AJvYcCX/8rJG+e5wzfJxio0GijYTKglwZguKJuD+zSte/oJ5L8z7dub1nUqA9qSWOedCnGl3VCujHV0ooMjIZUY=@vger.kernel.org X-Gm-Message-State: AOJu0YxmJQwZHBdamL43ee+I5owYUuFlvIYn5oN2Sh7AbYQfm/KLG8uv Ft3ByOP5K3rLfuvKgQVxLg9KPRHF9nkbwdQxmCODdbvuIToRTOIc+PhNTpHAtlqG+laaPKfdg73 +awx1 X-Gm-Gg: ATEYQzxY1dsqnBIjCNLxQhg7PioOkaCIqDyGgvKchGWKol6JsB7YXsQDs8OqVDh5skV GYyGpgAG/at8JEcyrnQ7x1h/9OdX+0+EicA0ZFrVXiX5b+IvvHT0fi5f6DPIHH/d2mOaDIqkYrN GZAgzWKXm++agdp0+I6w5+AqZMtr0mgUJpyE0Gi8C+hipPB2A4j9UmgVNgEZgZQUq5auxPqMayI x5P51B6DirP/xb3xam6x3uM0VgY7K5qjhdtJey4IOnh3Hr6RpvISfBXJRolLsPKKnE/WlwndpKJ nAc7gDokrM3WNQ+PnfD7HUvvPZjZbKlLxcpIRSvGJ/NFem5JkSU1lL5AkAiIfEa5lk5NyvF84+u UafVVevwLx6rC+O/6neq5dv3IIHqnXRI6J9P1kKP5V2UFQdRgjW1WwM3Y3ZS9+dfsrrH7vVv1lC /visq8m9IzcZEN1kBNwMz3x+HKWW5gIS6+HadgvLOLLBR4hbeHCMST4nb7R2v3w3xxSBKCOrA9j fKf5KUMvA== X-Received: by 2002:a05:6402:270a:b0:65c:1483:a716 with SMTP id 4fb4d7f45d1cf-65fde4d2c45mr7809332a12.29.1772448628107; Mon, 02 Mar 2026 02:50:28 -0800 (PST) Received: from [172.16.220.227] (144-178-202-139.static.ef-service.nl. [144.178.202.139]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabbd98bcsm3511769a12.0.2026.03.02.02.50.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 02:50:27 -0800 (PST) From: Griffin Kroah-Hartman Date: Mon, 02 Mar 2026 11:50:25 +0100 Subject: [PATCH v4 1/4] Input: aw86927 - respect vibration magnitude levels 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: quoted-printable Message-Id: <20260302-aw86938-driver-v4-1-92c865df9cca@fairphone.com> References: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> In-Reply-To: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Luca Weiss Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Griffin Kroah-Hartman X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772448626; l=1926; i=griffin.kroah@fairphone.com; s=20250804; h=from:subject:message-id; bh=aHRIOIA82B5UmiYNaDuGLIuutpMS1GzM+k8Df5VuVF8=; b=QMUHIQaI7C7oB7r2/diS3hfpVF30i0LI3lK0cwpYVvIDTd0cQRED/RbflRKKga8SAU/4jkimw eC1wRcjWk1rAAPeFM+vtN7HNuSZC0ScZYhdrByBcr5bMHIou20tHfAp X-Developer-Key: i=griffin.kroah@fairphone.com; a=ed25519; pk=drSBvqKFiR+xucmLWONHSq/wGrW+YvcVtBXFYnYzn8U= Previously the gain value was hardcoded. Take the magnitude passed via the input API and configure the gain register accordingly. Signed-off-by: Griffin Kroah-Hartman --- drivers/input/misc/aw86927.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/input/misc/aw86927.c b/drivers/input/misc/aw86927.c index 8ad361239cfe3a888628b15e4dbdeed0c9ca3d1a..7f8cadda7c456d7b5448d1e23ed= f6e3f2918ba32 100644 --- a/drivers/input/misc/aw86927.c +++ b/drivers/input/misc/aw86927.c @@ -180,7 +180,7 @@ struct aw86927_data { struct i2c_client *client; struct regmap *regmap; struct gpio_desc *reset_gpio; - bool running; + __u16 level; }; =20 static const struct regmap_config aw86927_regmap_config =3D { @@ -325,11 +325,12 @@ static int aw86927_haptics_play(struct input_dev *dev= , void *data, struct ff_eff if (!level) level =3D effect->u.rumble.weak_magnitude; =20 - /* If already running, don't restart playback */ - if (haptics->running && level) + /* If level does not change, don't restart playback */ + if (haptics->level =3D=3D level) return 0; =20 - haptics->running =3D level; + haptics->level =3D level; + schedule_work(&haptics->play_work); =20 return 0; @@ -376,8 +377,7 @@ static int aw86927_play_sine(struct aw86927_data *hapti= cs) if (err) return err; =20 - /* set gain to value lower than 0x80 to avoid distorted playback */ - err =3D regmap_write(haptics->regmap, AW86927_PLAYCFG2_REG, 0x7c); + err =3D regmap_write(haptics->regmap, AW86927_PLAYCFG2_REG, haptics->leve= l * 0x80 / 0xffff); if (err) return err; =20 @@ -409,7 +409,7 @@ static void aw86927_haptics_play_work(struct work_struc= t *work) struct device *dev =3D &haptics->client->dev; int err; =20 - if (haptics->running) + if (haptics->level) err =3D aw86927_play_sine(haptics); else err =3D aw86927_stop(haptics); --=20 2.43.0 From nobody Thu Apr 2 11:02:23 2026 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B65735A3B8 for ; Mon, 2 Mar 2026 10:50:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448632; cv=none; b=Wu+jhL3ZWsadjyFoqzBXli98/wLuppkxXs3ntUyqZcaeJ0bgCD2G7y2p6MZqzIic7IqDLIje6torqLRSRtZx1ySquMPIDFFCwsNC0j71i4L5pZoTbmqykdkNpJum/ByG5HwHSnUJlVDrLrmNp3zjySrKxBIBvEFKld9hEnMG290= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448632; c=relaxed/simple; bh=9bxMbM7mFlV9f4RAAhXlkjX34it3Khg4vmAogAbhbZo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LH6JNMyUmYmzMM2E9o2/6ZDSLrf2TgzxleVNi4AGd3+iYb+VuvP++1F/lsdN8TB+DG2bUhKpfZye6Gl4WvXpS6DgQueoR8/sno+rJIP9RpOyHF2bHdBv49W9d4yb/FZv8fJVEK7vQWsn7sLxaHXIoNH2fAdxyV+4ZPaNNH1OiT8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=jslYeGON; arc=none smtp.client-ip=209.85.218.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="jslYeGON" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-b935b8dcab7so662532566b.1 for ; Mon, 02 Mar 2026 02:50:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1772448629; x=1773053429; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=5UXVi5KrGAHXfY9KZhVckbPLTWLOqhGUCqeRbt5GfFg=; b=jslYeGONl6vBw0Or2NFtX9gOwyiWY7DuM/R3Io28yHnmNC6aLjZ3e5pNv95BHtea+g fuOIhSHXXoyCTZWLt6Qdd04oDRo3O2Gwocz8ib7PhMe118BrWya5lbkMy+QUkOniNQE7 LZgXOjDcdHXLS0EhCIbSoXywl124tOhG4OhNR8P09/mfQYMt69dyZFFV7GiXK3vb7ZB/ cHrIM65UmvP2DnhO6wPqRJPO5MrAfjXZkbwQ0MBOKNBcp4RQofatr9xw4smFwcckfkgr IT7IOywN3wPjOIRWJfTAOL+mq95K9QYCPIeCCRe9A9Tor/T1tCoNRqi47A0VPICvxf6H We6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772448629; x=1773053429; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=5UXVi5KrGAHXfY9KZhVckbPLTWLOqhGUCqeRbt5GfFg=; b=qZw8frRo/5PZjXDqVeLILfsdcXG2XTLy0gh2c01kkVaVDj3mlw+gSEk5m1Tuxf4Fww rKnozKeYVEvOg/f/tqEQl5pclWiSZMYVkEA6yNQqrUt7kAga+2iHZxgb4FHEvskpdTxX +c7Pvu4oVpjQ7pmTgp8uSQe560yVnVDIV0Bqi1n6fT6+P76u12K3BMaKBd1acvCozH4Z /f2bCGyfNIXIgRPXkaJHv5SymZWHTFC4FC6GaOGotS4hjT8q/F+UA7+XJGSuCb6k8AAj SC+ovvPf3nIwUeBoesuKc9CwBiFuDHEmQ2CLsmDaQvlQR/Pp2NbKQeFwYYOlcRqZjkPr KqCQ== X-Forwarded-Encrypted: i=1; AJvYcCWsvop35PF+uN+xgMK2lWpA3uzMyATEnlcs86YMKh3VIcFYurwrtUxQHE8b17iUSdDbCWebTSw5sbLkyPg=@vger.kernel.org X-Gm-Message-State: AOJu0YzWQjQQE8i41PK1ou8EIG3+7ee0Ri6fcqCvJoJoX4GNpMxRa0/8 dS7FLCA9zkXOZXQhrsGGZGlMGe81ZltdKRsjH80tzLy0vJWEoPeJUYNWzZg0aCtCivIC11xrtZF ntsud X-Gm-Gg: ATEYQzzMKp06bl7IjvjnQPhlbfCLVopYkCkXJrF2HXbbXtphswYYNiySlnApdCnARUS 3pOKDiZFY1qI2uMMfIDY3fHsOCrKo/sceupB1HKo7gWcVMervloY2RrQWQkvPdUESYLNQIXlciB ZVutQVBHRDjypJ4UIjUa05TeXWiNtIHWF0vKtOt2ulpupO80wuS9pBJ/y8DBgw6WgSGnpXQ3VwD gphR/GVZuaqLnmbk0KU+M23+V6BZRXFuYo+KbK+pD+vHjwH87evOEx5vyJfYekLtfAkPkpyII56 RUTBGKZKcnDjMuXeG5W6+C6Bx4hJ78qRn3EitMIjJx5AsSQzwIPfAT0AgF/BnY8zHOMY1Cu7wuc 5KN60rjK6Zm6Y2L34NbQ8yqnkKLMldExw0AsX1JBwaQdBAOm5Fq09vaVfJ0iO0XWTKvV3sAwqIB 1ECHwUk1eOwzQbhdKezzU14Oqbpbeq6vMXyUiYgEZ9954j5cM2iFN2QZ3g9B4Qxx1MGNngRG8R7 3PKNdHdew== X-Received: by 2002:a17:906:284c:b0:b8f:ae35:cbdf with SMTP id a640c23a62f3a-b9376554a26mr593398166b.48.1772448629103; Mon, 02 Mar 2026 02:50:29 -0800 (PST) Received: from [172.16.220.227] (144-178-202-139.static.ef-service.nl. [144.178.202.139]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabbd98bcsm3511769a12.0.2026.03.02.02.50.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 02:50:28 -0800 (PST) From: Griffin Kroah-Hartman Date: Mon, 02 Mar 2026 11:50:26 +0100 Subject: [PATCH v4 2/4] dt-bindings: input: awinic,aw86927: Add Awinic AW86938 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: quoted-printable Message-Id: <20260302-aw86938-driver-v4-2-92c865df9cca@fairphone.com> References: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> In-Reply-To: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Luca Weiss Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Griffin Kroah-Hartman , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772448626; l=1245; i=griffin.kroah@fairphone.com; s=20250804; h=from:subject:message-id; bh=9bxMbM7mFlV9f4RAAhXlkjX34it3Khg4vmAogAbhbZo=; b=5AJIgaZcjs8SFi9VrDwLO0PSnG39onXqNSyDYMzkAUmALF7AjCnAqyCV6ybrB5ZPJyrm+dl1I fKjZReVm47/BoXuZYvdU46qqA90LpatPHk5pHPAEgYWYV8o459qyJTO X-Developer-Key: i=griffin.kroah@fairphone.com; a=ed25519; pk=drSBvqKFiR+xucmLWONHSq/wGrW+YvcVtBXFYnYzn8U= Add bindings for the Awinic AW86938 haptic chip which can be found in smartphones. These two chips require a similar devicetree configuration, but have a register layout that's not 100% compatible. Still, because chip model is fully detectable via ID register, these chips can be documnented in the same file. Reviewed-by: Krzysztof Kozlowski Signed-off-by: Griffin Kroah-Hartman --- Documentation/devicetree/bindings/input/awinic,aw86927.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/input/awinic,aw86927.yaml b/= Documentation/devicetree/bindings/input/awinic,aw86927.yaml index b7252916bd727486c1a98913d4ec3ef12422e4bd..bd74b81488f61d72b675b5701b3= 21b30b3430be0 100644 --- a/Documentation/devicetree/bindings/input/awinic,aw86927.yaml +++ b/Documentation/devicetree/bindings/input/awinic,aw86927.yaml @@ -11,7 +11,12 @@ maintainers: =20 properties: compatible: - const: awinic,aw86927 + oneOf: + - const: awinic,aw86927 + - items: + - enum: + - awinic,aw86938 + - const: awinic,aw86927 =20 reg: maxItems: 1 --=20 2.43.0 From nobody Thu Apr 2 11:02:23 2026 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A3B135AC10 for ; Mon, 2 Mar 2026 10:50:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448634; cv=none; b=H+fAMPl1/+zRh9FAxiXUEUxrwK6VJ7jU8gAPy3f3i0zNeJgDzxHWMVuHGtylEmqb1OPIpEvXchpHhAyamoCyPvyWSv0r66hvboZvomKiBSXMO7/YLyDtZtsv75EQxkF4/ymouKyDQrRX1aaqmbfOVC2YavodgHK9ShVL/lTq6js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448634; c=relaxed/simple; bh=3WJk29Oc6ASs5QbTykgT/4YsAbA7z1k86z1JB86Wapc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CVpS6/+0+3yflXLmPPv2c3viXZPFP97dQLLf8JVarURsYPJCxLk97FI3LnNEvsbDvX+Id/RNh3P3FxgQ6Gi/9DJdd+JoYPNY0YLu3jsfmjZ6uodOCvK3Tm6foySCHEnRJabWqZydAPG6K9lAmt8vpmeqa55QWafiLpR1j+DQHdo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=tGevLxj7; arc=none smtp.client-ip=209.85.208.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="tGevLxj7" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-65a26c220b6so5539805a12.0 for ; Mon, 02 Mar 2026 02:50:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1772448630; x=1773053430; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=fb2xAImtJ+lQV4+0+mQF2V3ooZDMtzcy+tKq3+ul2r4=; b=tGevLxj7jVrB5i0jAOwS33nlQ26ydkSQ3r6n0C2AnxAQ0TRRh5Yyag8DpHNcCSpfEy w+Iowob9KqME29GRS5KQ49/86KM04pCBsFfEqGHoqubeNhuhYI4E5tTaJQ/3whGUJ58e urT02IaMIVkv9wMX1QXWrQZYUa1JZen7LLUVsYPG3FBnE+R5ET+UfFW5UCFxNuU/hodc 0unVGp4ui2KQuCWlvYMn79uA1dINBuqT+EzPLlJG0cZJ4KkljUJr+TQzd/KWi2kBEDlf 2nMQZ3tUbDPfZXGFfP4N6qfAT9eaD+mgSNQT+ue8MJPBWC1UMULxGsBYalqtyMGZ10tm zJkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772448630; x=1773053430; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=fb2xAImtJ+lQV4+0+mQF2V3ooZDMtzcy+tKq3+ul2r4=; b=Ub0A8lqV/X+l5cg3GQglThld8EJVM0Q8I2Y8FH0H5XrquPTEqXi8zHlpoLxlha/rks t59KSRqex+DE9wL/iLFY5AzEeNl0P3Z7XiocxxqWUctJoSrxGqIok7mClB/uUBXBra8/ 7bxUHfFbYLJwz1ylUM6rdXmsN4IbvE8HBAuhS6LRMq0N/Vv8Kj7lCOoajCMbWFfffcO7 nrH9B41OUwfXP7YEAeYtnjX0i9zbYPQGp47zfq+rzbHmHegqnBxTSPqnckxNFkO70Wl7 jq5KYvtfKu15f0tnPWaIUi0X7AoRPrYBLXjuuUEnd0gk5XR/9Y45wOcHnlvB5BXUEtZV ohEA== X-Forwarded-Encrypted: i=1; AJvYcCVtp8d++4bMLL0MamXptd2DRom3+C7MCAK4catClBGKrG3EEmobf2doa8bFyn0GQG5RmewbJvQZfhEbCXc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/wL6bH0oZTbezjZx4/dIJ3NAhXBMYt4XXXauA0dCFH1h8W7FH d25mcu8638R4YQnw1SkhBQB5zgXXTEX6zbX5z/VPsw0BXKRCEUsRhqe5G5nPgY7QZ5wfGDiDWir OR9Ra X-Gm-Gg: ATEYQzwfcUeup3+e0g1kPciYknzJeLC1Y68aR9WaYFq41wm0YsEvJd3f4rNYWKl8mA7 CBlEVsUYNI3kckSEtdIde/rzrlf1ql9eLrPgSzpiI7HME9Ox4XoJ4zeACC+sIYS0zE3zMQuxUnb zQJy6ojyc67kRiCUCjbO9oW+xwSPy+uDiaSZmvzmDi5Wi1+Tdrd0KhRxBgPL9oTT72MKzOefIqM JWKYiABx7rta4jXDDyzHqMzoF//zO/BBI5DXZNff7mDtntNf2EqfxX7IPvjqdRvcZ6IZLMeEXI9 yv4GYFIOVYOfTZkBHGTpt79qze3y28SjY+cpviejY9kjnBo7xW1XqvYN1oI90Mpfks4bP6z9GeD eH0c+lZxyATWbJAYfhrjuVybtnx3VKC9JW2oATaSGr1TK5MXXARWHQpfC6p9ip3WGCqMc3iuAHJ CLg4dy7TZXqpNEX+NJTNXEDmBqlZUiygwP6uMAoFmWqe+sDl65Mv2DK/b9PR8nqjBJ7s12Ad7+r qt+o8BXEq3j4oECmtgd X-Received: by 2002:a05:6402:2111:b0:65f:71ed:7ab9 with SMTP id 4fb4d7f45d1cf-65fddceee18mr7094753a12.22.1772448630129; Mon, 02 Mar 2026 02:50:30 -0800 (PST) Received: from [172.16.220.227] (144-178-202-139.static.ef-service.nl. [144.178.202.139]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabbd98bcsm3511769a12.0.2026.03.02.02.50.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 02:50:29 -0800 (PST) From: Griffin Kroah-Hartman Date: Mon, 02 Mar 2026 11:50:27 +0100 Subject: [PATCH v4 3/4] Input: aw86938 - add driver for Awinic AW86938 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: quoted-printable Message-Id: <20260302-aw86938-driver-v4-3-92c865df9cca@fairphone.com> References: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> In-Reply-To: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Luca Weiss Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Griffin Kroah-Hartman X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772448626; l=3554; i=griffin.kroah@fairphone.com; s=20250804; h=from:subject:message-id; bh=3WJk29Oc6ASs5QbTykgT/4YsAbA7z1k86z1JB86Wapc=; b=yAD7qSNA38IhaULQIDUEm3f5FzrrD8mZ4sgoaUHU2Gy4KL2uEAbON2sQr6KXtKOD0RIZAKcPP bVXbNLa119tAlVNZMP/fC22naYzwoWIMI9shRJmKAv/5XMd4mX3lClC X-Developer-Key: i=griffin.kroah@fairphone.com; a=ed25519; pk=drSBvqKFiR+xucmLWONHSq/wGrW+YvcVtBXFYnYzn8U= Add support for the I2C-connected Awinic AW86938 LRA haptic driver. The AW86938 has a similar but slightly different register layout. In particular, the boost mode register values. The AW86938 also has some extra features that aren't implemented in this driver yet. Signed-off-by: Griffin Kroah-Hartman --- drivers/input/misc/aw86927.c | 52 +++++++++++++++++++++++++++++++++++++---= ---- 1 file changed, 44 insertions(+), 8 deletions(-) diff --git a/drivers/input/misc/aw86927.c b/drivers/input/misc/aw86927.c index 7f8cadda7c456d7b5448d1e23edf6e3f2918ba32..e59b958fac1a1144307cb216560= f522485ad26e9 100644 --- a/drivers/input/misc/aw86927.c +++ b/drivers/input/misc/aw86927.c @@ -43,6 +43,12 @@ #define AW86927_PLAYCFG1_BST_VOUT_VREFSET_MASK GENMASK(6, 0) #define AW86927_PLAYCFG1_BST_8500MV 0x50 =20 +#define AW86938_PLAYCFG1_REG 0x06 +#define AW86938_PLAYCFG1_BST_MODE_MASK GENMASK(5, 5) +#define AW86938_PLAYCFG1_BST_MODE_BYPASS 0 +#define AW86938_PLAYCFG1_BST_VOUT_VREFSET_MASK GENMASK(4, 0) +#define AW86938_PLAYCFG1_BST_7000MV 0x11 + #define AW86927_PLAYCFG2_REG 0x07 =20 #define AW86927_PLAYCFG3_REG 0x08 @@ -140,6 +146,7 @@ #define AW86927_CHIPIDH_REG 0x57 #define AW86927_CHIPIDL_REG 0x58 #define AW86927_CHIPID 0x9270 +#define AW86938_CHIPID 0x9380 =20 #define AW86927_TMCFG_REG 0x5b #define AW86927_TMCFG_UNLOCK 0x7d @@ -173,7 +180,13 @@ enum aw86927_work_mode { AW86927_RAM_MODE, }; =20 +enum aw86927_model { + AW86927, + AW86938, +}; + struct aw86927_data { + enum aw86927_model model; struct work_struct play_work; struct device *dev; struct input_dev *input_dev; @@ -565,13 +578,26 @@ static int aw86927_haptic_init(struct aw86927_data *h= aptics) if (err) return err; =20 - err =3D regmap_update_bits(haptics->regmap, - AW86927_PLAYCFG1_REG, - AW86927_PLAYCFG1_BST_VOUT_VREFSET_MASK, - FIELD_PREP(AW86927_PLAYCFG1_BST_VOUT_VREFSET_MASK, - AW86927_PLAYCFG1_BST_8500MV)); - if (err) - return err; + switch (haptics->model) { + case AW86927: + err =3D regmap_update_bits(haptics->regmap, + AW86927_PLAYCFG1_REG, + AW86927_PLAYCFG1_BST_VOUT_VREFSET_MASK, + FIELD_PREP(AW86927_PLAYCFG1_BST_VOUT_VREFSET_MASK, + AW86927_PLAYCFG1_BST_8500MV)); + if (err) + return err; + break; + case AW86938: + err =3D regmap_update_bits(haptics->regmap, + AW86938_PLAYCFG1_REG, + AW86938_PLAYCFG1_BST_VOUT_VREFSET_MASK, + FIELD_PREP(AW86938_PLAYCFG1_BST_VOUT_VREFSET_MASK, + AW86938_PLAYCFG1_BST_7000MV)); + if (err) + return err; + break; + } =20 err =3D regmap_update_bits(haptics->regmap, AW86927_PLAYCFG3_REG, @@ -599,6 +625,9 @@ static int aw86927_ram_init(struct aw86927_data *haptic= s) FIELD_PREP(AW86927_SYSCTRL3_EN_RAMINIT_MASK, AW86927_SYSCTRL3_EN_RAMINIT_ON)); =20 + /* AW86938 wants a 1ms delay here */ + usleep_range(1000, 1500); + /* Set base address for the start of the SRAM waveforms */ err =3D regmap_write(haptics->regmap, AW86927_BASEADDRH_REG, AW86927_BASEADDRH_VAL); @@ -717,7 +746,14 @@ static int aw86927_detect(struct aw86927_data *haptics) =20 chip_id =3D be16_to_cpu(read_buf); =20 - if (chip_id !=3D AW86927_CHIPID) { + switch (chip_id) { + case AW86927_CHIPID: + haptics->model =3D AW86927; + break; + case AW86938_CHIPID: + haptics->model =3D AW86938; + break; + default: dev_err(haptics->dev, "Unexpected CHIPID value 0x%x\n", chip_id); return -ENODEV; } --=20 2.43.0 From nobody Thu Apr 2 11:02:23 2026 Received: from mail-ed1-f41.google.com (mail-ed1-f41.google.com [209.85.208.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58DB735AC2D for ; Mon, 2 Mar 2026 10:50:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448634; cv=none; b=hUOD4fmZikAw8DZq83IXXneGGo4A+AuQrTwTn5EwpbFGQHzAIcwJY+cIO/64GXTXGJk/HRTiKklBsZV3XYQTsK6OfnTKXqKx/IQRFCIkfLsegMr0mvG13363Vc1Co37Sn9eab0nk5WEGrFmc0JdwYKXlbbl1VtY4Bru6meGqxCk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772448634; c=relaxed/simple; bh=qfKnEcsoVX06QZzEM7/4cC6HPLmj8y0sO6sxJasyjlw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=omYtS7mfyn199vn4aTDTv0P0qgDesxWYXVm1xaDvTf/tBD9D/PFIfJxgTTrMyVFOEy6jXgOckLwuPb9jGrtsg5ShHDPxTHGlijuETQTi6yz7PXRUqQLYgeZfCRQZ1l3Nq6eezG60QHQzgWmpppb3HBLV0T/oFPlmY+Vj946/3cc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=hAT1LYva; arc=none smtp.client-ip=209.85.208.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="hAT1LYva" Received: by mail-ed1-f41.google.com with SMTP id 4fb4d7f45d1cf-65f73225f45so6816408a12.1 for ; Mon, 02 Mar 2026 02:50:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1772448631; x=1773053431; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=sQRQHvtqeyxSd6xSuySaBNbpnzY0H4KkdhX34aIrxhU=; b=hAT1LYvaTiGkwA1DQLIjiQHG6/W6EeCDkHUdIXcXsnHWmLXCJNC+5EL+AjOQGdPbg6 T6egcUGhTXMkRxnYwuBZJloG8yEXk8sX8RHc6AuLgzUMIabQfcpjtUe49mFzEoSm3Roz 6VKMhkJJZ/3g7MMSgJdO2BM0+kkg9Go5h2zvzSBBTqN6LWzKS6qDslKAxBxMMWKiwUsd h9JW3M9QH97GY8DxJ5+ndtyZajmMjMtJ34r+oJ+n99uk3zCXlpoTesOrN28IannM5bCc jA8FJV/hoswIYx3fiYXVaIILxNfzDuAAq0IUnEYQRcLikmbxWh2pnuZSAjtqzQPZTseE GLVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772448631; x=1773053431; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=sQRQHvtqeyxSd6xSuySaBNbpnzY0H4KkdhX34aIrxhU=; b=dj7GK3UJ+Xq98nX8nLD+EApD41qZRbumizhHRzPoYCyqIw1aegJo1tau/+2dWuk904 CGueUYT6K45uS44/3jjaPMKXr0oJpzp3FcLFygaeA+s1b4qT1I3s+WVM10YS3UzJgHO+ P3v/AVz+87GFMLQV0JDPv9oZHw44r/7qiRNLRYm3oM5Gply2qCC0zuJ7kvSoTSCjGzTm vDPCzZxmYJpDyKX9Ai5Sxeb5wW+jHrYFyzvki0FckISMufFFLJlM2/b4ShYM6wDEWcsw IdNw0AZk/gWwyJgy/ZYvWqmcsJj9JCH9nCXa11XEPVCRBwSkBNOpvLft/ESb/xdQAK+j P4EQ== X-Forwarded-Encrypted: i=1; AJvYcCXrfpNHesd86fer//HY1EBIEPw+RMTsqNNZfTI+sPbpvO30edqQpbI/MmTjDPbeQd701xmHF0oo5yneVdk=@vger.kernel.org X-Gm-Message-State: AOJu0YyYVQ27uew2Q6J6YD/3q14NDjs95mtkceAmNj0/4dXQWOdq6xRy mIxW0QS96XP1ta4c2ON9dctN3lgpHio9RHzJY7iGMjFUhLN+O+0eoYXsJC173Ul1bFtKc4Q7KCv ccJCa X-Gm-Gg: ATEYQzyZVG+ZRsMOUax1NpiTFf+aN7Umj3hMXrh2R8btQGd9FG4zmvi0xzTX828rEc9 04fN8pEJSaIeLuhxxjpT1pIVhHrwUjVUiZV4vOYZn9zC3Dns1+/sAbH3WlYqucvMbmdgTZhGDO3 z/ZzDw/H1911xaANzAbX2IDEclLIzljocChD/BdNMwfUozZZqUIsRsRV4Rc/1Ry5a7nnc+TMjMd SraqZvaGBM5zTIognAM0DAOa+alWTEF3TWZOn5hbInWA+Zsgi2p2DROainSTK3G1z0gLYaNO0Yc Pl3KV5SXXgvovnkPUnQJMVPl3/943KUHuuhznZql6wfxOlwGEGdh0X3lcYaxCFSTCWE1y5HjrWF KM8Zwr691jFZYmmZYHMVnIYX9PXAfqUVMU0wGbbauZRENVn5IsP0xx5P9oZyJYCmaDlzhbgGdGT STEg1twnl4BE2bsRee0OWxaKuxNfZc4cxgFajWEC7WlGLL2tyEGl3n5TU2hQTTiLao5hqQjsNBM +irA56vIQ== X-Received: by 2002:a05:6402:398b:b0:65c:2af1:b7e2 with SMTP id 4fb4d7f45d1cf-65fddee587dmr4742714a12.27.1772448631462; Mon, 02 Mar 2026 02:50:31 -0800 (PST) Received: from [172.16.220.227] (144-178-202-139.static.ef-service.nl. [144.178.202.139]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65fabbd98bcsm3511769a12.0.2026.03.02.02.50.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Mar 2026 02:50:30 -0800 (PST) From: Griffin Kroah-Hartman Date: Mon, 02 Mar 2026 11:50:28 +0100 Subject: [PATCH v4 4/4] arm64: dts: qcom: milos-fairphone-fp6: Add vibrator support 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: quoted-printable Message-Id: <20260302-aw86938-driver-v4-4-92c865df9cca@fairphone.com> References: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> In-Reply-To: <20260302-aw86938-driver-v4-0-92c865df9cca@fairphone.com> To: Dmitry Torokhov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Luca Weiss Cc: linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Griffin Kroah-Hartman , Dmitry Baryshkov , Konrad Dybcio X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1772448626; l=1662; i=griffin.kroah@fairphone.com; s=20250804; h=from:subject:message-id; bh=qfKnEcsoVX06QZzEM7/4cC6HPLmj8y0sO6sxJasyjlw=; b=CD8MrPX2NaW+cddjb6pIzw4VQffjeV7qC+Jfx7vwUkfptL/drfQGxZeVF0rp/mWLz02lbvFU3 Zw5SSxZkMpmAfNx8ptsMHqTaGjsmbUkCUtVYYwgEs2Me4gpbRczIfpR X-Developer-Key: i=griffin.kroah@fairphone.com; a=ed25519; pk=drSBvqKFiR+xucmLWONHSq/wGrW+YvcVtBXFYnYzn8U= Add the required node for haptic playback (Awinic AW86938) Reviewed-by: Dmitry Baryshkov Reviewed-by: Konrad Dybcio Signed-off-by: Griffin Kroah-Hartman --- arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts | 26 ++++++++++++++++++++= +++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts b/arch/arm64/= boot/dts/qcom/milos-fairphone-fp6.dts index 52895dd9e4fa117aef6822df230ebf644e5f02ba..324d18d9900881a840806ada84e= 33fe9664296a0 100644 --- a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts +++ b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts @@ -625,7 +625,17 @@ vreg_l7p: ldo7 { }; =20 /* VL53L3 ToF @ 0x29 */ - /* AW86938FCR vibrator @ 0x5a */ + + vibrator@5a { + compatible =3D "awinic,aw86938", "awinic,aw86927"; + reg =3D <0x5a>; + + interrupts-extended =3D <&tlmm 80 IRQ_TYPE_EDGE_FALLING>; + reset-gpios =3D <&tlmm 78 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&aw86938_int_default>, <&aw86938_reset_default>; + pinctrl-names =3D "default"; + }; }; =20 &pm8550vs_c { @@ -755,6 +765,20 @@ sdc2_card_det_n: sdc2-card-det-state { bias-pull-up; }; =20 + aw86938_reset_default: aw86938-reset-default-state { + pins =3D "gpio78"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-down; + }; + + aw86938_int_default: aw86938-int-default-state { + pins =3D "gpio80"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + pm8008_int_default: pm8008-int-default-state { pins =3D "gpio125"; function =3D "gpio"; --=20 2.43.0