Skip to content

Add support for AS7343 multi-spectral sensor

Chang Yu linux-devicetree linux-iio lkml 7 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v7 Latest2 patches 5 repliesIn review
  2. v62 patches 12 repliesSuperseded
  3. v52 patches 8 repliesSuperseded
Earlier versions · 4
VersionPostedPatchesRepliesStatus
v42 patches18 repliesSuperseded
v32 patches4 repliesSuperseded
v22 patches10 repliesSuperseded
v12 patches9 repliesSuperseded

Changes in v7 from the cover letter

- Specify reg as a const.
- Move additionalProperties after allOf block.
- Clear/set PON during suspend/resume.
- Check for digital saturation before reading spectral data.

Patches in v7 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2dt-bindings: iio: light: add as7343Documentation/devicetree/bindings/iio/light/ams,as7343.yaml MAINTAINERS+70 -01 reply
2/2iio: light: add AS7343 multi-spectral sensor driverMAINTAINERS drivers/iio/light/Kconfig drivers/iio/light/Makefile +1 more+504 -04 replies

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by.

PatchKrzysztof KozlowskiJoshua CroftsAndy ShevchenkoJose A. Perez de Azpillaga
1/2R-b R-b
2/2R-b R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v7 thread

Cover letter [PATCH v7 0/2] Add support for AS7343 multi-spectral sensor

This series adds initial support for the AMS AS7343 14-channel multi-spectral sensor.

The sensor has 14 optical channels (11 visible + NIR + clear + flicker) in total. This initial driver supports reading raw counts from all 12 spectral channels (11 visible + NIR) via sysfs and basic power management.

Not yet supported:
- Configurable integration time and gain
- Interrupt support
- Clear (VIS) channel and flicker detection

Patch 1 adds device tree bindings.
Patch 2 adds the driver.

Testing was performed on a Raspberry Pi 4.

Datasheet: https://look.ams-osram.com/m/5f2d27fff9a874d2/original/AS7343-14-Channel-Multi-Spectral-Sensor.pdf

Changes in v7:
- Specify reg as a const.
- Move additionalProperties after allOf block.
- Clear/set PON during suspend/resume.
- Check for digital saturation before reading spectral data.

Changes in v6:
- Add a ref to leds/common.yaml for the LDR pin in dt bindings.
- Convert ATIME and ASTEP range checks to runtime checks.
- Check for digital saturation before reading spectral data.

Changes in v5:
- Remove the GPIO pin from dt bindings.
- Add autosuspend.
- Start measurements before setting up runtime PM.

Changes in v4:
- Fix led-max-microamp property in dt bindings.
- Use REGCACHE_MAPLE and add volatile table.
- Use PM_RUNTIME_ACQUIRE* when resuming.

Changes in v3:
- Fix gpio description and example in dt.
- Only start measurements after suspend action has been registered.
- Add a mutex and pm_runtime_resume_and_get before reading measurements.

Changes in v2:
- Add the LDR, the interrupt pin, and the GPIO pin to the dt bindings.
- Adjust the default gain to x256 and integration time to 50.1ms as recommended by the datasheet.
- Use read_label instead of .extend
- Remove all unused scan_index related constants.

Chang Yu (2):
dt-bindings: iio: light: add as7343
iio: light: add AS7343 multi-spectral sensor driver

 .../bindings/iio/light/ams,as7343.yaml        |  64 +++
 MAINTAINERS                                   |   7 +
 drivers/iio/light/Kconfig                     |  11 +
 drivers/iio/light/Makefile                    |   1 +
 drivers/iio/light/as7343.c                    | 491 ++++++++++++++++++
 5 files changed, 574 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iio/light/ams,as7343.yaml
 create mode 100644 drivers/iio/light/as7343.c
Signature · 1 line
2.56.0