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