[PATCH v3 0/2] iio: light: add support for veml3235

Javier Carrasco posted 2 patches 1 month ago
.../bindings/iio/light/vishay,veml6030.yaml        |   5 +-
MAINTAINERS                                        |   6 +
drivers/iio/light/Kconfig                          |  11 +
drivers/iio/light/Makefile                         |   1 +
drivers/iio/light/veml3235.c                       | 504 +++++++++++++++++++++
5 files changed, 526 insertions(+), 1 deletion(-)
[PATCH v3 0/2] iio: light: add support for veml3235
Posted by Javier Carrasco 1 month ago
This series adds support for the Vishay veml3235 ambient light sensor
with I2C protocol interface.

I attempted to add support for this device in the existing veml6030
driver, as it shares some operating principles with the supported
devices. But given that the veml3235 has different register addresses,
bit arrangements, and limited functionality, it ended up making most of
the driver kind of device-agnostic.

Instead, the proposed driver is based on the recently updated veml6030
with multiple simplifications and a few clean ups (e.g. regfields,
right definition of shared-by-all info masks, which can't be modified
in veml6030 as it breaks the ABI).

On the other hand, the dt-bindings can be recycled as there is no real
reason to add new ones. From a dt-bindings point of view it resembles
the already supported veml7700. But if for whatever reason new bindings
would be preferred, I am willing to provide them in further versions.

Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
---
Changes in v3:
- Add missing Tag to [1/2] (Acked-by).
- Drop processed values from the driver, which in turn removes the need
  to store the current resolution, gain and integration time in the
  driver data.
- Fix SD0 bit position (15).
- Drop redundant configuration write in hw_init (gain and integration
  times are the only fields to set).
- Link to v2: https://lore.kernel.org/r/20241020-veml3235-v2-0-4bc7cfad7e0b@gmail.com

Changes in v2:
- Rename SD/SD0 bits to include register name.
- Switch to dev_info() when checking ID.
- Simplify val/val2 handling in veml3235_set_gain().
- Move return -EINVAL to the default case in veml3235_read_avail().
- Link to v1: https://lore.kernel.org/r/20241016-veml3235-v1-0-b904f802daef@gmail.com

---
Javier Carrasco (2):
      dt-bindings: iio: light: veml6030: add veml3235
      iio: light: add support for veml3235

 .../bindings/iio/light/vishay,veml6030.yaml        |   5 +-
 MAINTAINERS                                        |   6 +
 drivers/iio/light/Kconfig                          |  11 +
 drivers/iio/light/Makefile                         |   1 +
 drivers/iio/light/veml3235.c                       | 504 +++++++++++++++++++++
 5 files changed, 526 insertions(+), 1 deletion(-)
---
base-commit: ceab669fdf7b7510b4e4997b33d6f66e433a96db
change-id: 20241007-veml3235-0a38265e9bae

Best regards,
-- 
Javier Carrasco <javier.carrasco.cruz@gmail.com>