[PATCH v3 0/3] Add Sharp GP2AP070S Proximity Driver and enable it in Galaxy J6 (j6lte)
Kaustabh Chakraborty <[email protected]> Fri, 31 Jul 2026 01:36:59 +0530
| Newsgroups | org.kernel.vger.linux-samsung-soc,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Sharp GP2AP070S is a promixity sensor (NOT an ambient light sensor) in mobile devices. This sensor chip is found in mobile devices, including (but perhaps not limited to) Samsung Galaxy J6 (codename: j6lte). To the best of my knowledge, there's no public documentation available for this device. [1] is a downstream kernel implementation, which has been the single source for developing this driver. Some bits have also been stolen from existing GP2AP* drivers available in iio/light. The last patch in this series touches the device tree sources to add the light sensor node in j6lte. This needs to be accepted into next only when the former patches are in next. [1] https://github.com/Exynos7870/android_kernel_samsung_universal7870/blob/lineage-16.0/drivers/sensors/gp2ap070s.c Signed-off-by: Kaustabh Chakraborty <[email protected]> --- Changes in v3: - Revoke stale patches sent erroneously, v2 changelog applies - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: - Reshuffle and add missing header inclusions (Joshua Crofts) - Add missing regulators in driver and dt-schema (Joshua Crofts, Jonathan Cameron) - Rename and rearrange register addresses, masks and values (Jonathan Cameron) - Use regmap_get_device() for carrying dev pointer (Jonathan Cameron) - Use FIELD_GET() instead of !! (Jonathan Cameron) - Drop unused i2c_set_clientdata() (Jonathan Cameron) - Use fsleep() instead of usleep_range() (Jonathan Cameron) - Check if proximity-near-level is available before reading its value (Jonathan Cameron) - Drop redundant dev_err_probe() from devm_request_threaded_irq() (Joshua Crofts) - Use mutex guards for guarding concurrent read/write calls (Sashiko) - Add reset chip action on removal (Sashiko) - Ensure input value in iio_write_event_value() is 16-bit (Sashiko) - Use regmap_bulk_*() instead of regmap_raw_*() (Jonathan Cameron) - Hint volatile registers for regmap (Jonathan Cameron) - Link to v1: https://patch.msgid.link/[email protected] --- Kaustabh Chakraborty (3): dt-bindings: iio: proximity: add Sharp GP2AP070S proximity sensor iio: proximity: add driver for Sharp GP2AP070S proximity sensor arm64: dts: exynos7870-j6lte: add Sharp GP2AP070S proximity sensor .../bindings/iio/proximity/sharp,gp2ap070s.yaml | 60 +++ arch/arm64/boot/dts/exynos/exynos7870-j6lte.dts | 55 ++- drivers/iio/proximity/Kconfig | 11 + drivers/iio/proximity/Makefile | 1 + drivers/iio/proximity/gp2ap070s.c | 505 +++++++++++++++++++++ 5 files changed, 630 insertions(+), 2 deletions(-) --- base-commit: 290aaf24a551d5a0dce037e3fab30820f9113a10 change-id: 20260723-gp2ap070s-f7e0120970a5 Best regards, -- Kaustabh Chakraborty <[email protected]>