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