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