Received: by 2002:ab2:6d45:0:b0:1fb:d597:ff75 with SMTP id d5csp164562lqr; Wed, 5 Jun 2024 02:12:32 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV0QKqAQJNEm8EDmAJEy5YwqTYLAJWRXKSImcgIXwh2QnuQX6Wg1ap+YMHuucBc41pwPrJZuYx/HzSkMR2UMzfZlyRtQUavPJ1iC/OxGQ== X-Google-Smtp-Source: AGHT+IE8N24nxSL8AgSCWBpn3Qt6Zy6gG5qIO7IsZAjblXfPm3d8OYQYfjlBAhtC8jZOhxBivEtR X-Received: by 2002:a17:906:2b93:b0:a69:173:2dc7 with SMTP id a640c23a62f3a-a69a023b4ffmr113380766b.66.1717578752239; Wed, 05 Jun 2024 02:12:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1717578752; cv=pass; d=google.com; s=arc-20160816; b=KJalNcs3qMVad+dVSIV/ahP0+R7JqwkRqszRw8zmrBCl8DFVgJIq0Tof8sXVt2iNZQ WL8mMWPw8vQoYV28DMW6LRdqxmIgwnR3zjeG7RyyrNdEabm3bQajtDNg8WN761mMJJ/C upiReERoJKOsCoGQd0V8wVbCshWxERQLeE7S7+Yt/Gg0b/COlVYtiDbg0+koNata9Onc gTtjdb+zRBokzDpIScpeQ2lRSCoUbRsgAtKZ3cL0Bz0vgFsYdI0Y0/OuTX6IiHadRZP/ NeQ2jYbcA9mcpm9tnNqAaf12b0Fk/AufVMKUCfg4GDjVosDdkMzsUxs28tQF0kkgIzwm QNsA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=SuR+OfwMwaIJo+7OsLq7OsOGhtn9VSF5+3uXe7sPQTg=; fh=fRzwSirBt7Ih4rIkzRF7E5lrixmur2jPPD8PdnD/3LA=; b=c3x5iEFZiTVdkiSAn8Cwkq/Toc5tuiiuD+HjoVsRB0bmyYqbKUf7qWcuRiQGIuNoJn afHgDa8m1hL+aQg7zd5dbrKniGWoZuqzq9wH16DZ2GaIed/pL/YQ8BybqmT2IQyhSoRs R8rZghTKrs8JUctxWW4K24STij0PXoVJNE81bhcL4GbBwUPfVU24QSquOYUeqxgy07TX ntAJu9cT2ps5aKcI37G4LD64NRgT/5Qjpj9F1V0jftBXCjtzUQ0z20s+WN2NE7c8wxzp i+ZPrzhB2+cNiHaNAi9+GAjnF085CYR6eOcYzzxY54KWVRYRXdMwWSzr7hj+EBl3Ioui jsiw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=awinic.com); spf=pass (google.com: domain of linux-kernel+bounces-202060-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-202060-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a640c23a62f3a-a686ec8549dsi531966466b.441.2024.06.05.02.12.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jun 2024 02:12:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-202060-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=awinic.com); spf=pass (google.com: domain of linux-kernel+bounces-202060-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-202060-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id C80431F23FD9 for ; Wed, 5 Jun 2024 09:12:31 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B41C318FC96; Wed, 5 Jun 2024 09:12:09 +0000 (UTC) Received: from out28-5.mail.aliyun.com (out28-5.mail.aliyun.com [115.124.28.5]) (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 CF13018C34B; Wed, 5 Jun 2024 09:12:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.28.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717578729; cv=none; b=W4OXtvQj2p8w91OBQDlbMDnQu7/5EWsbwZJ/p7LH/iUMEvxbh+Ei5VYSTF5mckIVosmvltk4GCOs2TTWqKF7DLPD1cb+XJWBlxWbDv4JEIMu7tcBebjvgPqUTzHldTL4U3tnsyf9IQrWNcUGQTNKv/FJvAYHOGjTrcsV08DO3eM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717578729; c=relaxed/simple; bh=JrKBIvMcsszkIlGiuHQMlVO4ONlUiZlTc0/i6RNrmS8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=uaV+ulbaBRtTHCzIYHUwA/An9sAflRzwnLDmxizSvm/mEvKC6US7iPEg6t2QVsO5ZYmT4IIwZlrFmSru44StIYNmm4U1gv4RPQuHL4BitYhjwoHlsuZXGpnGm5riWzR9hZZNyTvWL1hg4lmB0/oa+kf/6nndiNZj5rHdh1dM7fw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=awinic.com; spf=pass smtp.mailfrom=awinic.com; arc=none smtp.client-ip=115.124.28.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=awinic.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=awinic.com X-Alimail-AntiSpam:AC=CONTINUE;BC=0.07484445|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.0110128-0.000106329-0.988881;FP=0|0|0|0|0|-1|-1|-1;HT=maildocker-contentspam033037088118;MF=wangshuaijie@awinic.com;NM=1;PH=DS;RN=11;RT=11;SR=0;TI=SMTPD_---.XwdqTSw_1717578708; Received: from awinic..(mailfrom:wangshuaijie@awinic.com fp:SMTPD_---.XwdqTSw_1717578708) by smtp.aliyun-inc.com; Wed, 05 Jun 2024 17:11:58 +0800 From: wangshuaijie@awinic.com To: dmitry.torokhov@gmail.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, jeff@labundy.com, linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: wangshuaijie@awinic.com, liweilei@awinic.com, kangjiajun@awinic.com Subject: [PATCH V2 0/5] Add support for Awinic SAR sensor. Date: Wed, 5 Jun 2024 09:11:38 +0000 Message-ID: <20240605091143.163789-1-wangshuaijie@awinic.com> X-Mailer: git-send-email 2.41.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: shuaijie wang Add drivers that support Awinic SAR (Specific Absorption Rate) sensors to the Linux kernel. The AW9610X series and AW963XX series are high-sensitivity capacitive proximity detection sensors. This device detects human proximity and assists electronic devices in reducing SAR to pass SAR related certifications. The device reduces RF power and reduces harm when detecting human proximity. Increase power and improve signal quality when the human body is far away. This patch implements device initialization, registration, I/O operation handling and interrupt handling, and passed basic testing. shuaijie wang (5): dt-bindings: input: Add YAML to Awinic sar sensor. Add universal interface for the aw_sar driver. Add aw9610x series related interfaces to the aw_sar driver. Add aw963xx series related interfaces to the aw_sar driver. Add support for Awinic sar sensor. .../bindings/input/awinic,aw_sar.yaml | 125 + drivers/input/misc/Kconfig | 9 + drivers/input/misc/Makefile | 1 + drivers/input/misc/aw_sar/Makefile | 2 + drivers/input/misc/aw_sar/aw9610x/aw9610x.c | 884 +++++++ drivers/input/misc/aw_sar/aw9610x/aw9610x.h | 327 +++ drivers/input/misc/aw_sar/aw963xx/aw963xx.c | 974 ++++++++ drivers/input/misc/aw_sar/aw963xx/aw963xx.h | 753 ++++++ drivers/input/misc/aw_sar/aw_sar.c | 2036 +++++++++++++++++ drivers/input/misc/aw_sar/aw_sar.h | 15 + .../misc/aw_sar/comm/aw_sar_chip_interface.h | 27 + .../misc/aw_sar/comm/aw_sar_comm_interface.c | 639 ++++++ .../misc/aw_sar/comm/aw_sar_comm_interface.h | 172 ++ drivers/input/misc/aw_sar/comm/aw_sar_type.h | 396 ++++ 14 files changed, 6360 insertions(+) create mode 100644 Documentation/devicetree/bindings/input/awinic,aw_sar.yaml create mode 100644 drivers/input/misc/aw_sar/Makefile create mode 100644 drivers/input/misc/aw_sar/aw9610x/aw9610x.c create mode 100644 drivers/input/misc/aw_sar/aw9610x/aw9610x.h create mode 100644 drivers/input/misc/aw_sar/aw963xx/aw963xx.c create mode 100644 drivers/input/misc/aw_sar/aw963xx/aw963xx.h create mode 100644 drivers/input/misc/aw_sar/aw_sar.c create mode 100644 drivers/input/misc/aw_sar/aw_sar.h create mode 100644 drivers/input/misc/aw_sar/comm/aw_sar_chip_interface.h create mode 100644 drivers/input/misc/aw_sar/comm/aw_sar_comm_interface.c create mode 100644 drivers/input/misc/aw_sar/comm/aw_sar_comm_interface.h create mode 100644 drivers/input/misc/aw_sar/comm/aw_sar_type.h base-commit: 32f88d65f01bf6f45476d7edbe675e44fb9e1d58 -- 2.45.1