TI's opt3002 light-to-digital sensor provides the functionality of an optical power meter within a single device. It shares a lot of similarities with their opt3001 model but has a wide spectral bandwidth, ranging from 300 nm to 1000 nm. This patch set adds support for the TI opt3002 by extending the opt3001 driver. In addition, a missing full-scale range value for the opt3001 is added, resulting in higher precision when setting event trigger values. Datasheet: http://www.ti.com/product/OPT3002 Signed-off-by: Emil Gedenryd <emil.gedenryd@xxxxxxxx> --- Changes in v4: - Drop applied patch: "iio: light: opt3001: add missing full-scale range value" - Add num_channels field to opt3001_chip_info - Use i2c_get_match_data() instead of device_get_match_data() - Link to v3: https://lore.kernel.org/r/20240916-add_opt3002-v3-0-984b190cd68c@xxxxxxxx Changes in v3: - Include difference between opt3001 and opt3002 in commit message for dt-binding patch. - Remove whitespace between tags in commit message for opt3002 patch. - Rename opt300x_chip_info to opt3001_chip_info. - Add documentation for mathematical constants in opt3001_chip_info. - Only check return value after opt3001_read_id if chip has id register in opt3001_probe. - Change opt3002 channel mask to IIO_CHAN_INFO_RAW. - Link to v2: https://lore.kernel.org/r/20240913-add_opt3002-v2-0-69e04f840360@xxxxxxxx Changes in v2: - Move dt-binding patch to before implementation. - Fix dt-binding compatible definition. - Clarify bug description for missing full-scale range value. - Remove model enum from chip info and all in-function switch-case statements. - Move model-specific channels and mathematic constants to chip info. - Add valid match data to opt3001_id array - Skip call to function opt3001_read_id() if model doesn't have a device id register. - Link to v1: https://lore.kernel.org/r/20240905-add_opt3002-v1-0-a5ae21b924fb@xxxxxxxx --- Emil Gedenryd (2): dt-bindings: iio: light: opt3001: add compatible for opt3002 iio: light: opt3001: add support for TI's opt3002 light sensor .../devicetree/bindings/iio/light/ti,opt3001.yaml | 4 +- drivers/iio/light/Kconfig | 2 +- drivers/iio/light/opt3001.c | 189 +++++++++++++++++---- 3 files changed, 160 insertions(+), 35 deletions(-) --- base-commit: e2df62bb0fadc8ae16aa3bb88ee05ee7e037046b change-id: 20240828-add_opt3002-40552c1a2f77 Best regards, -- Emil Gedenryd <emil.gedenryd@xxxxxxxx>