mbox series

[V1,0/5] Add support for Awinic SAR sensor.

Message ID 20240529130608.783624-1-wangshuaijie@awinic.com (mailing list archive)
Headers show
Series Add support for Awinic SAR sensor. | expand

Message

wangshuaijie@awinic.com May 29, 2024, 1:06 p.m. UTC
From: shuaijie wang <wangshuaijie@awinic.com>

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         |  110 +
 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   |  324 +++
 drivers/input/misc/aw_sar/aw963xx/aw963xx.c   |  986 ++++++++
 drivers/input/misc/aw_sar/aw963xx/aw963xx.h   |  749 ++++++
 drivers/input/misc/aw_sar/aw_sar.c            | 2039 +++++++++++++++++
 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  |  656 ++++++
 .../misc/aw_sar/comm/aw_sar_comm_interface.h  |  172 ++
 drivers/input/misc/aw_sar/comm/aw_sar_type.h  |  396 ++++
 14 files changed, 6370 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: e0cce98fe279b64f4a7d81b7f5c3a23d80b92fbc