Re: [PATCH v7 0/4] iio: light: add support for veml6031x00 ALS series

Andy Shevchenko <[email protected]>
Newsgroups org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Organization Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo
Message-ID <[email protected]>
On Tue, Aug 18, 2026 at 01:34:25PM +0200, Javier Carrasco wrote:
> These ambient light sensors with I2C interface provide two light
> channels (ALS and IR), high/low threshold alarms with configurable
> persistence, and a data ready signal.
> 
> The devices covered by this driver have the same resolution, and they
> share most of their functionality. These are the differences between
> them (note that the x belongs to their names, and it is not a wildcard):
> 
>  - Device ID: accessible via two 8-bit registers, different values for
>    veml6031x00/veml6031x01 and veml60311x00/veml60311x01.
>  - I2C address: same grouping, 0x29 and 0x10 I2C addresses.
>  - AEC qualification: AEC-Q100 for veml6031x00/veml60311x00 and
>    AEC-Q101 for veml6031x01/veml60311x01.
> 
> The alarms and the data ready signals share the interrupt pin, and an
> interrupt status register must be accessed to identify the source. Such
> multiplexing is not new in IIO, and I have followed existing examples
> for it. The persistence setting (own attribute) to trigger the alarms
> uses the pattern that has already been used for the veml6030.
> 
> The device configuration is in general documented in the datasheet and
> the application note. There is an exception, though: the activation of
> the "active force" mode that is required for the data ready signal must
> be carried out in two steps even though the affected bits are located in
> the same register: first ALS_AF (active force mode enable) must be set,
> and then ALS_TRIG (active force trigger setting) must be enabled. I have
> added a brief commentary in the code to explain this behavior, which has
> been confirmed by the manufacturer.
> 
> The datasheet specifies the scale and integration time for the ALS channel.
> Although both settings also affect the measured IR value, no transfer
> function, accuracy, or calibration is specified for converting the IR
> output into a physical quantity. The IR channel is therefore intended only
> as a qualitative indication of the infrared content of the incident light,
> rather than as a precision measurement channel. Consequently, the driver
> does not expose scale or integration time as IR-channel attributes.
> 
> The only functionality that has not been implemented yet is the x0.66
> gain (and its x0.165 counterpart when PD_DIV=1), which makes the gts
> helpers less usable due to the conversions required. It is indeed an
> uncommon gain to use (there are x0.5 and x0.125 gains) with no known
> use-case at the moment that justifies making adjustments to the gts
> helpers or adding artificial conversions to make it work.
> 
> This driver has been tested with the four supported devices separately
> as well as in pairs where the I2C addresses don't overlap.

Reviewed-by: Andy Shevchenko <[email protected]>
for all patches, but DT.

There are minor things that may be addressed later, or in next version if asked
for other reasons.

-- 
With Best Regards,
Andy Shevchenko
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.