xref: /linux/drivers/iio/light/Kconfig (revision c118478665f467e57d06b2354de65974b246b82b)
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
722