[PATCH v2 0/2] Support for Texas Instruments OPT4001 Ambient Light Sensor

From: Stefan Windfeldt-Prytz
Date: Tue Apr 18 2023 - 06:36:50 EST


This series adds support for Texas Instruments OPT4001 Ambient light sensor.

The light sensor has a i2c interface and supports continuous, oneshot and
interruptdriven measurements and has configurable conversion time and range.

This driver uses the sensors continuous mode so it always has a updated light
value available. The conversion time which is
(integration time + time to set registers) which is used to configure
integration time through sysfs. The chip also has a configurable light
range which this driver sets to Auto where the chip chooses range itself
depending on previously read values.

Since the OPT4001 has different constants used to calculate lux values
depeding on packaging of the chip but uses the same device id, two compatible
string are used depending on the packaging, these are "ti,opt4001-picostar"
and "ti,opt4001-sot-5x3".

Signed-off-by: Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@xxxxxxxx>
---
Changes in v2:
- Added text about differences of sot-5x3 and picostar
- Added irq and regulator to devicetree bindings
- Added regulator support to driver
- Switched from using .remove to devm_action_or_reset
- Removed own mutex and reenabled regmaps
- Updated name in sysfs
- Added i2c_device_id
- Rename package_const to chip_info
- Link to v1: https://lore.kernel.org/r/20230323-add-opt4001-driver-v1-0-1451dcc1bc8a@xxxxxxxx

---
Stefan Windfeldt-Prytz (2):
dt-bindings: Document TI OPT4001 light sensor bindings
iio: light: Add support for TI OPT4001 light sensor

.../devicetree/bindings/iio/light/ti,opt4001.yaml | 69 +++
drivers/iio/light/Kconfig | 11 +
drivers/iio/light/Makefile | 1 +
drivers/iio/light/opt4001.c | 490 +++++++++++++++++++++
4 files changed, 571 insertions(+)
---
base-commit: 60c5238813fdfbe167eb579d58172106916b8db0
change-id: 20230323-add-opt4001-driver-99b9aad69319

Best regards,
--
Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@xxxxxxxx>