Messages in this thread | | | From | Subhajit Ghosh <> | Subject | [PATCH v1 0/2] Support for Avago APDS9306 Ambient Light Sensor | Date | Fri, 27 Oct 2023 01:05:30 +1030 |
| |
This series adds support for Avago (Broadcom) APDS9306 Ambient Light Sensor.
Datasheet: https://docs.broadcom.com/doc/AV02-4755EN
Following features are supported: - I2C interface - 2 channels - als and clear - Raw data for als and clear channels - Up to 20 bit resolution - 20 bit data register for each channel - Common Configurable items for both channels - Integration Time - Scale - High and Low threshold interrupts for each channel - Selection of interrupt channels - als or clear - Selection of interrupt mode - threshold or adaptive - Level selection for adaptive threshold interrupts - Persistence (Period) level selection for interrupts
This driver also uses the IIO GTS Helpers Namespace for Scales, Gains and Integration time implementation.
root@stm32mp1:~# tree -I 'dev|name|of_node|power|subsystem|uevent' \ > /sys/bus/iio/devices/iio:device1/ /sys/bus/iio/devices/iio:device1/ |-- events | |-- in_illuminance_thresh_either_en | |-- in_intensity_clear_thresh_either_en | |-- thresh_adaptive_either_en | |-- thresh_adaptive_either_value | |-- thresh_adaptive_either_values_available | |-- thresh_either_period | |-- thresh_either_period_available | |-- thresh_falling_value | `-- thresh_rising_value |-- in_illuminance_raw |-- in_intensity_clear_raw |-- integration_time |-- integration_time_available |-- sampling_frequency |-- sampling_frequency_available |-- scale |-- scale_available `-- waiting_for_supplier
1 directory, 18 files
v0 -> v1 - dt_bindings - Squashed apds9300 and apds9600 dt bindings, added apds9306 bindings on top of that - Added detailed commit message for dt_bindings - apds9306 driver - Fixes as per review - Not disabling the regmap internal lock - Removing processed attribute for als channel which exposes raw values - Modified the iio gts scale implementation for above change - Not implementing a fallback and warning for compatibility and part ID mismatch as suggested by Matti and Jonathan as Rob insisted on having a single compatible string for the driver (if the device can power up with a single compatible string, which it does).
Subhajit Ghosh (2): dt-bindings: iio: light: Avago APDS9306 iio: light: Add support for APDS9306 Light Sensor
.../bindings/iio/light/avago,apds9300.yaml | 35 +- .../bindings/iio/light/avago,apds9960.yaml | 44 - drivers/iio/light/Kconfig | 12 + drivers/iio/light/Makefile | 1 + drivers/iio/light/apds9306.c | 1334 +++++++++++++++++ 5 files changed, 1377 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/iio/light/avago,apds9960.yaml create mode 100644 drivers/iio/light/apds9306.c
base-commit: 611da07b89fdd53f140d7b33013f255bf0ed8f34 -- 2.34.1
| |