Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2
3#
4# Light sensors
5#
6# When adding new entries keep the list in alphabetical order
7
8menu "Light sensors"
9
10config ACPI_ALS
11 tristate "ACPI Ambient Light Sensor"
12 depends on ACPI
13 select IIO_BUFFER
14 select IIO_TRIGGERED_BUFFER
15 select IIO_KFIFO_BUF
16 help
17 Say Y here if you want to build a driver for the ACPI0008
18 Ambient Light Sensor.
19
20 To compile this driver as a module, choose M here: the module will
21 be called acpi-als.
22
23config ADJD_S311
24 tristate "ADJD-S311-CR999 digital color sensor"
25 select IIO_BUFFER
26 select IIO_TRIGGERED_BUFFER
27 depends on I2C
28 help
29 If you say yes here you get support for the Avago ADJD-S311-CR999
30 digital color light sensor.
31
32 This driver can also be built as a module. If so, the module
33 will be called adjd_s311.
34
35config ADUX1020
36 tristate "ADUX1020 photometric sensor"
37 select REGMAP_I2C
38 depends on I2C
39 help
40 Say Y here if you want to build a driver for the Analog Devices
41 ADUX1020 photometric sensor.
42
43 To compile this driver as a module, choose M here: the
44 module will be called adux1020.
45
46config AL3010
47 tristate "AL3010 ambient light sensor"
48 depends on I2C
49 help
50 Say Y here if you want to build a driver for the Dyna Image AL3010
51 ambient light sensor.
52
53 To compile this driver as a module, choose M here: the
54 module will be called al3010.
55
56config AL3320A
57 tristate "AL3320A ambient light sensor"
58 depends on I2C
59 help
60 Say Y here if you want to build a driver for the Dyna Image AL3320A
61 ambient light sensor.
62
63 To compile this driver as a module, choose M here: the
64 module will be called al3320a.
65
66config APDS9300
67 tristate "APDS9300 ambient light sensor"
68 depends on I2C
69 help
70 Say Y here if you want to build a driver for the Avago APDS9300
71 ambient light sensor.
72
73 To compile this driver as a module, choose M here: the
74 module will be called apds9300.
75
76config APDS9306
77 tristate "Avago APDS9306 Ambient Light Sensor"
78 depends on I2C
79 select REGMAP_I2C
80 select IIO_GTS_HELPER
81 help
82 If you say Y or M here, you get support for Avago APDS9306
83 Ambient Light Sensor.
84
85 If built as a dynamically linked module, it will be called
86 apds9306.
87
88config APDS9960
89 tristate "Avago APDS9960 gesture/RGB/ALS/proximity sensor"
90 select REGMAP_I2C
91 select IIO_BUFFER
92 select IIO_KFIFO_BUF
93 depends on I2C
94 help
95 Say Y here to build I2C interface support for the Avago
96 APDS9960 gesture/RGB/ALS/proximity sensor.
97
98 To compile this driver as a module, choose M here: the
99 module will be called apds9960
100
101config AS73211
102 tristate "AMS AS73211 XYZ color sensor and AMS AS7331 UV sensor"
103 depends on I2C
104 select IIO_BUFFER
105 select IIO_TRIGGERED_BUFFER
106 help
107 If you say yes here you get support for the AMS AS73211
108 JENCOLOR(R) Digital XYZ and the AMS AS7331 UVA, UVB and UVC
109 ultraviolet sensors.
110
111 For triggered measurements, you will need an additional trigger driver
112 like IIO_HRTIMER_TRIGGER or IIO_SYSFS_TRIGGER.
113
114 This driver can also be built as a module. If so, the module
115 will be called as73211.
116
117config BH1750
118 tristate "ROHM BH1750 ambient light sensor"
119 depends on I2C
120 help
121 Say Y here to build support for the ROHM BH1710, BH1715, BH1721,
122 BH1750, BH1751 ambient light sensors.
123
124 To compile this driver as a module, choose M here: the module will
125 be called bh1750.
126
127config BH1780
128 tristate "ROHM BH1780 ambient light sensor"
129 depends on I2C
130 help
131 Say Y here to build support for the ROHM BH1780GLI ambient
132 light sensor.
133
134 To compile this driver as a module, choose M here: the module will
135 be called bh1780.
136
137config CM32181
138 depends on I2C
139 tristate "CM32181 driver"
140 help
141 Say Y here if you use cm32181.
142 This option enables ambient light sensor using
143 Capella cm32181 device driver.
144
145 To compile this driver as a module, choose M here:
146 the module will be called cm32181.
147
148config CM3232
149 depends on I2C
150 tristate "CM3232 ambient light sensor"
151 help
152 Say Y here if you use cm3232.
153 This option enables ambient light sensor using
154 Capella Microsystems cm3232 device driver.
155
156 To compile this driver as a module, choose M here:
157 the module will be called cm3232.
158
159config CM3323
160 depends on I2C
161 tristate "Capella CM3323 color light sensor"
162 help
163 Say Y here if you want to build a driver for Capella CM3323
164 color sensor.
165
166 To compile this driver as a module, choose M here: the module will
167 be called cm3323.
168
169config CM3605
170 tristate "Capella CM3605 ambient light and proximity sensor"
171 help
172 Say Y here if you want to build a driver for Capella CM3605
173 ambient light and short range proximity sensor.
174
175 To compile this driver as a module, choose M here: the module will
176 be called cm3605.
177
178config CM36651
179 depends on I2C
180 tristate "CM36651 driver"
181 help
182 Say Y here if you use cm36651.
183 This option enables proximity & RGB sensor using
184 Capella cm36651 device driver.
185
186 To compile this driver as a module, choose M here:
187 the module will be called cm36651.
188
189config IIO_CROS_EC_LIGHT_PROX
190 tristate "ChromeOS EC Light and Proximity Sensors"
191 depends on IIO_CROS_EC_SENSORS_CORE
192 help
193 Say Y here if you use the light and proximity sensors
194 presented by the ChromeOS EC Sensor hub.
195
196 To compile this driver as a module, choose M here:
197 the module will be called cros_ec_light_prox.
198
199config GP2AP002
200 tristate "Sharp GP2AP002 Proximity/ALS sensor"
201 depends on I2C
202 select REGMAP
203 help
204 Say Y here if you have a Sharp GP2AP002 proximity/ALS combo-chip
205 hooked to an I2C bus.
206
207 To compile this driver as a module, choose M here: the
208 module will be called gp2ap002.
209
210config GP2AP020A00F
211 tristate "Sharp GP2AP020A00F Proximity/ALS sensor"
212 depends on I2C
213 select REGMAP_I2C
214 select IIO_BUFFER
215 select IIO_TRIGGERED_BUFFER
216 select IRQ_WORK
217 help
218 Say Y here if you have a Sharp GP2AP020A00F proximity/ALS combo-chip
219 hooked to an I2C bus.
220
221 To compile this driver as a module, choose M here: the
222 module will be called gp2ap020a00f.
223
224config IQS621_ALS
225 tristate "Azoteq IQS621/622 ambient light sensors"
226 depends on MFD_IQS62X || COMPILE_TEST
227 help
228 Say Y here if you want to build support for the Azoteq IQS621
229 and IQS622 ambient light sensors.
230
231 To compile this driver as a module, choose M here: the module
232 will be called iqs621-als.
233
234config SENSORS_ISL29018
235 tristate "Intersil 29018 light and proximity sensor"
236 depends on I2C
237 select REGMAP_I2C
238 default n
239 help
240 If you say yes here you get support for ambient light sensing and
241 proximity infrared sensing from Intersil ISL29018.
242 This driver will provide the measurements of ambient light intensity
243 in lux, proximity infrared sensing and normal infrared sensing.
244 Data from sensor is accessible via sysfs.
245
246config SENSORS_ISL29028
247 tristate "Intersil ISL29028 Concurrent Light and Proximity Sensor"
248 depends on I2C
249 select REGMAP_I2C
250 help
251 Provides driver for the Intersil's ISL29028 device.
252 This driver supports the sysfs interface to get the ALS, IR intensity,
253 Proximity value via iio. The ISL29028 provides the concurrent sensing
254 of ambient light and proximity.
255
256config ISL29125
257 tristate "Intersil ISL29125 digital color light sensor"
258 depends on I2C
259 select IIO_BUFFER
260 select IIO_TRIGGERED_BUFFER
261 help
262 Say Y here if you want to build a driver for the Intersil ISL29125
263 RGB light sensor for I2C.
264
265 To compile this driver as a module, choose M here: the module will be
266 called isl29125.
267
268config ISL76682
269 tristate "Intersil ISL76682 Light Sensor"
270 depends on I2C
271 select REGMAP_I2C
272 help
273 Say Y here if you want to build a driver for the Intersil ISL76682
274 Ambient Light Sensor and IR Intensity sensor. This driver provides
275 the readouts via standard IIO sysfs and device interface. Both ALS
276 illuminance and IR illuminance are provided raw with separate scale
277 setting which can be configured via sysfs, the default scale is 1000
278 lux, other options are 4000/16000/64000 lux.
279
280 To compile this driver as a module, choose M here: the module will be
281 called isl76682.
282
283config HID_SENSOR_ALS
284 depends on HID_SENSOR_HUB
285 select IIO_BUFFER
286 select HID_SENSOR_IIO_COMMON
287 select HID_SENSOR_IIO_TRIGGER
288 tristate "HID ALS"
289 help
290 Say yes here to build support for the HID SENSOR
291 Ambient light sensor.
292
293 To compile this driver as a module, choose M here: the
294 module will be called hid-sensor-als.
295
296config HID_SENSOR_PROX
297 depends on HID_SENSOR_HUB
298 select IIO_BUFFER
299 select HID_SENSOR_IIO_COMMON
300 select HID_SENSOR_IIO_TRIGGER
301 tristate "HID PROX"
302 help
303 Say yes here to build support for the HID SENSOR
304 Proximity sensor.
305
306 To compile this driver as a module, choose M here: the
307 module will be called hid-sensor-prox.
308
309config JSA1212
310 tristate "JSA1212 ALS and proximity sensor driver"
311 depends on I2C
312 select REGMAP_I2C
313 help
314 Say Y here if you want to build a IIO driver for JSA1212
315 proximity & ALS sensor device.
316
317 To compile this driver as a module, choose M here:
318 the module will be called jsa1212.
319
320config ROHM_BU27008
321 tristate "ROHM BU27008 color (RGB+C/IR) sensor"
322 depends on I2C
323 select REGMAP_I2C
324 select IIO_GTS_HELPER
325 help
326 Enable support for the ROHM BU27008 color sensor.
327 The ROHM BU27008 is a sensor with 5 photodiodes (red, green,
328 blue, clear and IR) with four configurable channels. Red and
329 green being always available and two out of the rest three
330 (blue, clear, IR) can be selected to be simultaneously measured.
331 Typical application is adjusting LCD backlight of TVs,
332 mobile phones and tablet PCs.
333
334config ROHM_BU27034
335 tristate "ROHM BU27034 ambient light sensor"
336 depends on I2C
337 select REGMAP_I2C
338 select IIO_GTS_HELPER
339 select IIO_BUFFER
340 select IIO_KFIFO_BUF
341 help
342 Enable support for the ROHM BU27034 ambient light sensor. ROHM BU27034
343 is an ambient light sesnor with 3 channels and 3 photo diodes capable
344 of detecting a very wide range of illuminance.
345 Typical application is adjusting LCD and backlight power of TVs and
346 mobile phones.
347
348config RPR0521
349 tristate "ROHM RPR0521 ALS and proximity sensor driver"
350 depends on I2C
351 select REGMAP_I2C
352 select IIO_BUFFER
353 select IIO_TRIGGERED_BUFFER
354 help
355 Say Y here if you want to build support for ROHM's RPR0521
356 ambient light and proximity sensor device.
357
358 To compile this driver as a module, choose M here:
359 the module will be called rpr0521.
360
361config SENSORS_LM3533
362 tristate "LM3533 ambient light sensor"
363 depends on MFD_LM3533
364 help
365 If you say yes here you get support for the ambient light sensor
366 interface on National Semiconductor / TI LM3533 Lighting Power
367 chips.
368
369 The sensor interface can be used to control the LEDs and backlights
370 of the chip through defining five light zones and three sets of
371 corresponding output-current values.
372
373 The driver provides raw and mean adc readings along with the current
374 light zone through sysfs. A threshold event can be generated on zone
375 changes. The ALS-control output values can be set per zone for the
376 three current output channels.
377
378config LTR390
379 tristate "LTR-390UV-01 ambient light and UV sensor"
380 depends on I2C
381 select REGMAP_I2C
382 help
383 If you say yes here you get support for the Lite-On LTR-390UV-01
384 ambient light and UV sensor.
385
386 This driver can also be built as a module. If so, the module
387 will be called ltr390.
388
389config LTR501
390 tristate "LTR-501ALS-01 light sensor"
391 depends on I2C
392 select REGMAP_I2C
393 select IIO_BUFFER
394 select IIO_TRIGGERED_BUFFER
395 help
396 If you say yes here you get support for the Lite-On LTR-501ALS-01
397 ambient light and proximity sensor. This driver also supports LTR-559
398 ALS/PS or LTR-301 ALS sensors.
399
400 This driver can also be built as a module. If so, the module
401 will be called ltr501.
402
403config LTRF216A
404 tristate "Liteon LTRF216A Light Sensor"
405 depends on I2C
406 select REGMAP_I2C
407 help
408 If you say Y or M here, you get support for Liteon LTRF216A
409 Ambient Light Sensor.
410
411 If built as a dynamically linked module, it will be called
412 ltrf216a.
413
414config LV0104CS
415 tristate "LV0104CS Ambient Light Sensor"
416 depends on I2C
417 help
418 Say Y here if you want to build support for the On Semiconductor
419 LV0104CS ambient light sensor.
420
421 To compile this driver as a module, choose M here:
422 the module will be called lv0104cs.
423
424config MAX44000
425 tristate "MAX44000 Ambient and Infrared Proximity Sensor"
426 depends on I2C
427 select REGMAP_I2C
428 select IIO_BUFFER
429 select IIO_TRIGGERED_BUFFER
430 help
431 Say Y here if you want to build support for Maxim Integrated's
432 MAX44000 ambient and infrared proximity sensor device.
433
434 To compile this driver as a module, choose M here:
435 the module will be called max44000.
436
437config MAX44009
438 tristate "MAX44009 Ambient Light Sensor"
439 depends on I2C
440 select REGMAP_I2C
441 help
442 Say Y here if you want to build support for Maxim Integrated's
443 MAX44009 ambient light sensor device.
444
445 To compile this driver as a module, choose M here:
446 the module will be called max44009.
447
448config NOA1305
449 tristate "ON Semiconductor NOA1305 ambient light sensor"
450 depends on I2C
451 select REGMAP_I2C
452 help
453 Say Y here if you want to build support for the ON Semiconductor
454 NOA1305 ambient light sensor.
455
456 To compile this driver as a module, choose M here:
457 The module will be called noa1305.
458
459config OPT3001
460 tristate "Texas Instruments OPT3001 Light Sensor"
461 depends on I2C
462 help
463 If you say Y or M here, you get support for Texas Instruments
464 OPT3001 Ambient Light Sensor.
465
466 If built as a dynamically linked module, it will be called
467 opt3001.
468
469config OPT4001
470 tristate "Texas Instruments OPT4001 Light Sensor"
471 depends on I2C
472 select REGMAP_I2C
473 help
474 If you say Y or M here, you get support for Texas Instruments
475 OPT4001 Ambient Light Sensor.
476
477 If built as a dynamically linked module, it will be called
478 opt4001.
479
480config PA12203001
481 tristate "TXC PA12203001 light and proximity sensor"
482 depends on I2C
483 select REGMAP_I2C
484 help
485 If you say yes here you get support for the TXC PA12203001
486 ambient light and proximity sensor.
487
488 This driver can also be built as a module. If so, the module
489 will be called pa12203001.
490
491config SI1133
492 tristate "SI1133 UV Index Sensor and Ambient Light Sensor"
493 depends on I2C
494 select REGMAP_I2C
495 help
496 Say Y here if you want to build a driver for the Silicon Labs SI1133
497 UV Index Sensor and Ambient Light Sensor chip.
498
499 To compile this driver as a module, choose M here: the module will be
500 called si1133.
501
502config SI1145
503 tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor"
504 depends on I2C
505 select IIO_BUFFER
506 select IIO_TRIGGERED_BUFFER
507 help
508 Say Y here if you want to build a driver for the Silicon Labs SI1132 or
509 SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor
510 chips.
511
512 To compile this driver as a module, choose M here: the module will be
513 called si1145.
514
515config STK3310
516 tristate "STK3310 ALS and proximity sensor"
517 depends on I2C
518 select REGMAP_I2C
519 help
520 Say yes here to get support for the Sensortek STK3310 ambient light
521 and proximity sensor. The STK3311 model is also supported by this
522 driver.
523
524 Choosing M will build the driver as a module. If so, the module
525 will be called stk3310.
526
527config ST_UVIS25
528 tristate "STMicroelectronics UVIS25 sensor driver"
529 depends on (I2C || SPI)
530 select IIO_BUFFER
531 select IIO_TRIGGERED_BUFFER
532 select ST_UVIS25_I2C if (I2C)
533 select ST_UVIS25_SPI if (SPI_MASTER)
534 help
535 Say yes here to build support for STMicroelectronics UVIS25
536 uv sensor
537
538 To compile this driver as a module, choose M here: the module
539 will be called st_uvis25.
540
541config ST_UVIS25_I2C
542 tristate
543 depends on ST_UVIS25
544 select REGMAP_I2C
545
546config ST_UVIS25_SPI
547 tristate
548 depends on ST_UVIS25
549 select REGMAP_SPI
550
551config TCS3414
552 tristate "TAOS TCS3414 digital color sensor"
553 depends on I2C
554 select IIO_BUFFER
555 select IIO_TRIGGERED_BUFFER
556 help
557 If you say yes here you get support for the TAOS TCS3414
558 family of digital color sensors.
559
560 This driver can also be built as a module. If so, the module
561 will be called tcs3414.
562
563config TCS3472
564 tristate "TAOS TCS3472 color light-to-digital converter"
565 depends on I2C
566 select IIO_BUFFER
567 select IIO_TRIGGERED_BUFFER
568 help
569 If you say yes here you get support for the TAOS TCS3472
570 family of color light-to-digital converters with IR filter.
571
572 This driver can also be built as a module. If so, the module
573 will be called tcs3472.
574
575config SENSORS_TSL2563
576 tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors"
577 depends on I2C
578 help
579 If you say yes here you get support for the Taos TSL2560,
580 TSL2561, TSL2562 and TSL2563 ambient light sensors.
581
582 This driver can also be built as a module. If so, the module
583 will be called tsl2563.
584
585config TSL2583
586 tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters"
587 depends on I2C
588 help
589 Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices.
590 Access ALS data via iio, sysfs.
591
592config TSL2591
593 tristate "TAOS TSL2591 ambient light sensor"
594 depends on I2C
595 help
596 Select Y here for support of the AMS/TAOS TSL2591 ambient light sensor,
597 featuring channels for combined visible + IR intensity and lux illuminance.
598 Access data via iio and sysfs. Supports iio_events.
599
600 To compile this driver as a module, select M: the
601 module will be called tsl2591.
602
603config TSL2772
604 tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors"
605 depends on I2C
606 help
607 Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672,
608 tmd2672, tsl2772, tmd2772 devices.
609 Provides iio_events and direct access via sysfs.
610
611config TSL4531
612 tristate "TAOS TSL4531 ambient light sensors"
613 depends on I2C
614 help
615 Say Y here if you want to build a driver for the TAOS TSL4531 family
616 of ambient light sensors with direct lux output.
617
618 To compile this driver as a module, choose M here: the
619 module will be called tsl4531.
620
621config US5182D
622 tristate "UPISEMI light and proximity sensor"
623 depends on I2C
624 help
625 If you say yes here you get support for the UPISEMI US5182D
626 ambient light and proximity sensor.
627
628 This driver can also be built as a module. If so, the module
629 will be called us5182d.
630
631config VCNL4000
632 tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor"
633 select IIO_BUFFER
634 select IIO_TRIGGERED_BUFFER
635 depends on I2C
636 help
637 Say Y here if you want to build a driver for the Vishay VCNL4000,
638 VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity
639 sensor.
640
641 To compile this driver as a module, choose M here: the
642 module will be called vcnl4000.
643
644config VCNL4035
645 tristate "VCNL4035 combined ALS and proximity sensor"
646 select IIO_BUFFER
647 select IIO_TRIGGERED_BUFFER
648 select REGMAP_I2C
649 depends on I2C
650 help
651 Say Y here if you want to build a driver for the Vishay VCNL4035,
652 combined ambient light (ALS) and proximity sensor. Currently only ALS
653 function is available.
654
655 To compile this driver as a module, choose M here: the
656 module will be called vcnl4035.
657
658config VEML6030
659 tristate "VEML6030 ambient light sensor"
660 select REGMAP_I2C
661 depends on I2C
662 help
663 Say Y here if you want to build a driver for the Vishay VEML6030
664 ambient light sensor (ALS).
665
666 To compile this driver as a module, choose M here: the
667 module will be called veml6030.
668
669config VEML6040
670 tristate "VEML6040 RGBW light sensor"
671 select REGMAP_I2C
672 depends on I2C
673 help
674 Say Y here if you want to build a driver for the Vishay VEML6040
675 RGBW light sensor.
676
677 To compile this driver as a module, choose M here: the
678 module will be called veml6040.
679
680config VEML6070
681 tristate "VEML6070 UV A light sensor"
682 depends on I2C
683 help
684 Say Y here if you want to build a driver for the Vishay VEML6070 UV A
685 light sensor.
686
687 To compile this driver as a module, choose M here: the
688 module will be called veml6070.
689
690config VEML6075
691 tristate "VEML6075 UVA and UVB light sensor"
692 select REGMAP_I2C
693 depends on I2C
694 help
695 Say Y here if you want to build a driver for the Vishay VEML6075 UVA
696 and UVB light sensor.
697
698 To compile this driver as a module, choose M here: the
699 module will be called veml6075.
700
701config VL6180
702 tristate "VL6180 ALS, range and proximity sensor"
703 depends on I2C
704 help
705 Say Y here if you want to build a driver for the STMicroelectronics
706 VL6180 combined ambient light, range and proximity sensor.
707
708 To compile this driver as a module, choose M here: the
709 module will be called vl6180.
710
711config ZOPT2201
712 tristate "ZOPT2201 ALS and UV B sensor"
713 depends on I2C
714 help
715 Say Y here if you want to build a driver for the IDT
716 ZOPT2201 ambient light and UV B sensor.
717
718 To compile this driver as a module, choose M here: the
719 module will be called zopt2201.
720
721endmenu