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	depends on OF
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 HID_SENSOR_ALS
257	depends on HID_SENSOR_HUB
258	select IIO_BUFFER
259	select HID_SENSOR_IIO_COMMON
260	select HID_SENSOR_IIO_TRIGGER
261	tristate "HID ALS"
262	help
263	  Say yes here to build support for the HID SENSOR
264	  Ambient light sensor.
265
266	  To compile this driver as a module, choose M here: the
267	  module will be called hid-sensor-als.
268
269config HID_SENSOR_PROX
270	depends on HID_SENSOR_HUB
271	select IIO_BUFFER
272	select HID_SENSOR_IIO_COMMON
273	select HID_SENSOR_IIO_TRIGGER
274	tristate "HID PROX"
275	help
276	  Say yes here to build support for the HID SENSOR
277	  Proximity sensor.
278
279	  To compile this driver as a module, choose M here: the
280	  module will be called hid-sensor-prox.
281
282config JSA1212
283	tristate "JSA1212 ALS and proximity sensor driver"
284	depends on I2C
285	select REGMAP_I2C
286	help
287	  Say Y here if you want to build a IIO driver for JSA1212
288	  proximity & ALS sensor device.
289
290	  To compile this driver as a module, choose M here:
291	  the module will be called jsa1212.
292
293config RPR0521
294	tristate "ROHM RPR0521 ALS and proximity sensor driver"
295	depends on I2C
296	select REGMAP_I2C
297	help
298	  Say Y here if you want to build support for ROHM's RPR0521
299	  ambient light and proximity sensor device.
300
301	  To compile this driver as a module, choose M here:
302	  the module will be called rpr0521.
303
304config SENSORS_LM3533
305	tristate "LM3533 ambient light sensor"
306	depends on MFD_LM3533
307	help
308	  If you say yes here you get support for the ambient light sensor
309	  interface on National Semiconductor / TI LM3533 Lighting Power
310	  chips.
311
312	  The sensor interface can be used to control the LEDs and backlights
313	  of the chip through defining five light zones and three sets of
314	  corresponding output-current values.
315
316	  The driver provides raw and mean adc readings along with the current
317	  light zone through sysfs. A threshold event can be generated on zone
318	  changes. The ALS-control output values can be set per zone for the
319	  three current output channels.
320
321config LTR501
322	tristate "LTR-501ALS-01 light sensor"
323	depends on I2C
324	select REGMAP_I2C
325	select IIO_BUFFER
326	select IIO_TRIGGERED_BUFFER
327	help
328	  If you say yes here you get support for the Lite-On LTR-501ALS-01
329	  ambient light and proximity sensor. This driver also supports LTR-559
330	  ALS/PS or LTR-301 ALS sensors.
331
332	  This driver can also be built as a module.  If so, the module
333	  will be called ltr501.
334
335config LV0104CS
336	tristate "LV0104CS Ambient Light Sensor"
337	depends on I2C
338	help
339	  Say Y here if you want to build support for the On Semiconductor
340	  LV0104CS ambient light sensor.
341
342	  To compile this driver as a module, choose M here:
343	  the module will be called lv0104cs.
344
345config MAX44000
346	tristate "MAX44000 Ambient and Infrared Proximity Sensor"
347	depends on I2C
348	select REGMAP_I2C
349	select IIO_BUFFER
350	select IIO_TRIGGERED_BUFFER
351	help
352	  Say Y here if you want to build support for Maxim Integrated's
353	  MAX44000 ambient and infrared proximity sensor device.
354
355	  To compile this driver as a module, choose M here:
356	  the module will be called max44000.
357
358config MAX44009
359	tristate "MAX44009 Ambient Light Sensor"
360	depends on I2C
361	select REGMAP_I2C
362	help
363	 Say Y here if you want to build support for Maxim Integrated's
364	 MAX44009 ambient light sensor device.
365
366	 To compile this driver as a module, choose M here:
367	 the module will be called max44009.
368
369config NOA1305
370	tristate "ON Semiconductor NOA1305 ambient light sensor"
371	depends on I2C
372	select REGMAP_I2C
373	help
374	 Say Y here if you want to build support for the ON Semiconductor
375	 NOA1305 ambient light sensor.
376
377	 To compile this driver as a module, choose M here:
378	 The module will be called noa1305.
379
380config OPT3001
381	tristate "Texas Instruments OPT3001 Light Sensor"
382	depends on I2C
383	help
384	  If you say Y or M here, you get support for Texas Instruments
385	  OPT3001 Ambient Light Sensor.
386
387	  If built as a dynamically linked module, it will be called
388	  opt3001.
389
390config PA12203001
391	tristate "TXC PA12203001 light and proximity sensor"
392	depends on I2C
393	select REGMAP_I2C
394	help
395	  If you say yes here you get support for the TXC PA12203001
396	  ambient light and proximity sensor.
397
398	  This driver can also be built as a module.  If so, the module
399	  will be called pa12203001.
400
401config SI1133
402	tristate "SI1133 UV Index Sensor and Ambient Light Sensor"
403	depends on I2C
404	select REGMAP_I2C
405	  help
406	  Say Y here if you want to build a driver for the Silicon Labs SI1133
407	  UV Index Sensor and Ambient Light Sensor chip.
408
409	  To compile this driver as a module, choose M here: the module will be
410	  called si1133.
411
412config SI1145
413	tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor"
414	depends on I2C
415	select IIO_BUFFER
416	select IIO_TRIGGERED_BUFFER
417	help
418	  Say Y here if you want to build a driver for the Silicon Labs SI1132 or
419	  SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor
420	  chips.
421
422	  To compile this driver as a module, choose M here: the module will be
423	  called si1145.
424
425config STK3310
426	tristate "STK3310 ALS and proximity sensor"
427	depends on I2C
428	select REGMAP_I2C
429	help
430	  Say yes here to get support for the Sensortek STK3310 ambient light
431	  and proximity sensor. The STK3311 model is also supported by this
432	  driver.
433
434	  Choosing M will build the driver as a module. If so, the module
435	  will be called stk3310.
436
437config ST_UVIS25
438	tristate "STMicroelectronics UVIS25 sensor driver"
439	depends on (I2C || SPI)
440	select IIO_BUFFER
441	select IIO_TRIGGERED_BUFFER
442	select ST_UVIS25_I2C if (I2C)
443	select ST_UVIS25_SPI if (SPI_MASTER)
444	help
445	  Say yes here to build support for STMicroelectronics UVIS25
446	  uv sensor
447
448	  To compile this driver as a module, choose M here: the module
449	  will be called st_uvis25.
450
451config ST_UVIS25_I2C
452	tristate
453	depends on ST_UVIS25
454	select REGMAP_I2C
455
456config ST_UVIS25_SPI
457	tristate
458	depends on ST_UVIS25
459	select REGMAP_SPI
460
461config TCS3414
462	tristate "TAOS TCS3414 digital color sensor"
463	depends on I2C
464	select IIO_BUFFER
465	select IIO_TRIGGERED_BUFFER
466	help
467	  If you say yes here you get support for the TAOS TCS3414
468	  family of digital color sensors.
469
470	  This driver can also be built as a module.  If so, the module
471	  will be called tcs3414.
472
473config TCS3472
474	tristate "TAOS TCS3472 color light-to-digital converter"
475	depends on I2C
476	select IIO_BUFFER
477	select IIO_TRIGGERED_BUFFER
478	help
479	  If you say yes here you get support for the TAOS TCS3472
480	  family of color light-to-digital converters with IR filter.
481
482	  This driver can also be built as a module.  If so, the module
483	  will be called tcs3472.
484
485config SENSORS_TSL2563
486	tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors"
487	depends on I2C
488	help
489	  If you say yes here you get support for the Taos TSL2560,
490	  TSL2561, TSL2562 and TSL2563 ambient light sensors.
491
492	  This driver can also be built as a module.  If so, the module
493	  will be called tsl2563.
494
495config TSL2583
496	tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters"
497	depends on I2C
498	help
499	  Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices.
500	  Access ALS data via iio, sysfs.
501
502config TSL2591
503        tristate "TAOS TSL2591 ambient light sensor"
504        depends on I2C
505        help
506          Select Y here for support of the AMS/TAOS TSL2591 ambient light sensor,
507          featuring channels for combined visible + IR intensity and lux illuminance.
508          Access data via iio and sysfs. Supports iio_events.
509
510          To compile this driver as a module, select M: the
511          module will be called tsl2591.
512
513config TSL2772
514	tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors"
515	depends on I2C
516	help
517	  Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672,
518	  tmd2672, tsl2772, tmd2772 devices.
519	  Provides iio_events and direct access via sysfs.
520
521config TSL4531
522	tristate "TAOS TSL4531 ambient light sensors"
523	depends on I2C
524	help
525	  Say Y here if you want to build a driver for the TAOS TSL4531 family
526	  of ambient light sensors with direct lux output.
527
528	  To compile this driver as a module, choose M here: the
529	  module will be called tsl4531.
530
531config US5182D
532	tristate "UPISEMI light and proximity sensor"
533	depends on I2C
534	help
535	  If you say yes here you get support for the UPISEMI US5182D
536	  ambient light and proximity sensor.
537
538	  This driver can also be built as a module.  If so, the module
539	  will be called us5182d.
540
541config VCNL4000
542	tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor"
543	select IIO_BUFFER
544	select IIO_TRIGGERED_BUFFER
545	depends on I2C
546	help
547	  Say Y here if you want to build a driver for the Vishay VCNL4000,
548	  VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity
549	  sensor.
550
551	  To compile this driver as a module, choose M here: the
552	  module will be called vcnl4000.
553
554config VCNL4035
555	tristate "VCNL4035 combined ALS and proximity sensor"
556	select IIO_BUFFER
557	select IIO_TRIGGERED_BUFFER
558	select REGMAP_I2C
559	depends on I2C
560	help
561	  Say Y here if you want to build a driver for the Vishay VCNL4035,
562	  combined ambient light (ALS) and proximity sensor. Currently only ALS
563	  function is available.
564
565	  To compile this driver as a module, choose M here: the
566	  module will be called vcnl4035.
567
568config VEML6030
569	tristate "VEML6030 ambient light sensor"
570	select REGMAP_I2C
571	depends on I2C
572	help
573	  Say Y here if you want to build a driver for the Vishay VEML6030
574	  ambient light sensor (ALS).
575
576	  To compile this driver as a module, choose M here: the
577	  module will be called veml6030.
578
579config VEML6070
580	tristate "VEML6070 UV A light sensor"
581	depends on I2C
582	help
583	  Say Y here if you want to build a driver for the Vishay VEML6070 UV A
584	  light sensor.
585
586	  To compile this driver as a module, choose M here: the
587	  module will be called veml6070.
588
589config VL6180
590	tristate "VL6180 ALS, range and proximity sensor"
591	depends on I2C
592	help
593	  Say Y here if you want to build a driver for the STMicroelectronics
594	  VL6180 combined ambient light, range and proximity sensor.
595
596	  To compile this driver as a module, choose M here: the
597	  module will be called vl6180.
598
599config ZOPT2201
600	tristate "ZOPT2201 ALS and UV B sensor"
601	depends on I2C
602	help
603	  Say Y here if you want to build a driver for the IDT
604	  ZOPT2201 ambient light and UV B sensor.
605
606	  To compile this driver as a module, choose M here: the
607	  module will be called zopt2201.
608
609endmenu
610