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 
8 menu "Light sensors"
9 
10 config 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 
23 config 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 
35 config AL3320A
36 	tristate "AL3320A ambient light sensor"
37 	depends on I2C
38 	help
39 	  Say Y here if you want to build a driver for the Dyna Image AL3320A
40 	  ambient light sensor.
41 
42 	  To compile this driver as a module, choose M here: the
43 	  module will be called al3320a.
44 
45 config APDS9300
46 	tristate "APDS9300 ambient light sensor"
47 	depends on I2C
48 	help
49 	  Say Y here if you want to build a driver for the Avago APDS9300
50 	  ambient light sensor.
51 
52 	  To compile this driver as a module, choose M here: the
53 	  module will be called apds9300.
54 
55 config APDS9960
56 	tristate "Avago APDS9960 gesture/RGB/ALS/proximity sensor"
57 	select REGMAP_I2C
58 	select IIO_BUFFER
59 	select IIO_KFIFO_BUF
60 	depends on I2C
61 	help
62 	  Say Y here to build I2C interface support for the Avago
63 	  APDS9960 gesture/RGB/ALS/proximity sensor.
64 
65 	  To compile this driver as a module, choose M here: the
66 	  module will be called apds9960
67 
68 config BH1750
69 	tristate "ROHM BH1750 ambient light sensor"
70 	depends on I2C
71 	help
72 	  Say Y here to build support for the ROHM BH1710, BH1715, BH1721,
73 	  BH1750, BH1751 ambient light sensors.
74 
75 	  To compile this driver as a module, choose M here: the module will
76 	  be called bh1750.
77 
78 config BH1780
79 	tristate "ROHM BH1780 ambient light sensor"
80 	depends on I2C
81 	help
82 	  Say Y here to build support for the ROHM BH1780GLI ambient
83 	  light sensor.
84 
85 	  To compile this driver as a module, choose M here: the module will
86 	  be called bh1780.
87 
88 config CM32181
89 	depends on I2C
90 	tristate "CM32181 driver"
91 	help
92 	  Say Y here if you use cm32181.
93 	  This option enables ambient light sensor using
94 	  Capella cm32181 device driver.
95 
96 	  To compile this driver as a module, choose M here:
97 	  the module will be called cm32181.
98 
99 config CM3232
100 	depends on I2C
101 	tristate "CM3232 ambient light sensor"
102 	help
103 	  Say Y here if you use cm3232.
104 	  This option enables ambient light sensor using
105 	  Capella Microsystems cm3232 device driver.
106 
107 	  To compile this driver as a module, choose M here:
108 	  the module will be called cm3232.
109 
110 config CM3323
111 	depends on I2C
112 	tristate "Capella CM3323 color light sensor"
113 	help
114 	  Say Y here if you want to build a driver for Capella CM3323
115 	  color sensor.
116 
117 	  To compile this driver as a module, choose M here: the module will
118 	  be called cm3323.
119 
120 config CM3605
121 	tristate "Capella CM3605 ambient light and proximity sensor"
122 	depends on OF
123 	help
124 	  Say Y here if you want to build a driver for Capella CM3605
125 	  ambient light and short range proximity sensor.
126 
127 	  To compile this driver as a module, choose M here: the module will
128 	  be called cm3605.
129 
130 config CM36651
131 	depends on I2C
132 	tristate "CM36651 driver"
133 	help
134 	  Say Y here if you use cm36651.
135 	  This option enables proximity & RGB sensor using
136 	  Capella cm36651 device driver.
137 
138 	  To compile this driver as a module, choose M here:
139 	  the module will be called cm36651.
140 
141 config IIO_CROS_EC_LIGHT_PROX
142 	tristate "ChromeOS EC Light and Proximity Sensors"
143 	depends on IIO_CROS_EC_SENSORS_CORE
144 	help
145 	  Say Y here if you use the light and proximity sensors
146 	  presented by the ChromeOS EC Sensor hub.
147 
148 	  To compile this driver as a module, choose M here:
149 	  the module will be called cros_ec_light_prox.
150 
151 config GP2AP020A00F
152 	tristate "Sharp GP2AP020A00F Proximity/ALS sensor"
153 	depends on I2C
154 	select REGMAP_I2C
155 	select IIO_BUFFER
156 	select IIO_TRIGGERED_BUFFER
157 	select IRQ_WORK
158 	help
159 	  Say Y here if you have a Sharp GP2AP020A00F proximity/ALS combo-chip
160 	  hooked to an I2C bus.
161 
162 	  To compile this driver as a module, choose M here: the
163 	  module will be called gp2ap020a00f.
164 
165 config SENSORS_ISL29018
166 	tristate "Intersil 29018 light and proximity sensor"
167 	depends on I2C
168 	select REGMAP_I2C
169 	default n
170 	help
171 	  If you say yes here you get support for ambient light sensing and
172 	  proximity infrared sensing from Intersil ISL29018.
173 	  This driver will provide the measurements of ambient light intensity
174 	  in lux, proximity infrared sensing and normal infrared sensing.
175 	  Data from sensor is accessible via sysfs.
176 
177 config SENSORS_ISL29028
178 	tristate "Intersil ISL29028 Concurrent Light and Proximity Sensor"
179 	depends on I2C
180 	select REGMAP_I2C
181 	help
182 	  Provides driver for the Intersil's ISL29028 device.
183 	  This driver supports the sysfs interface to get the ALS, IR intensity,
184 	  Proximity value via iio. The ISL29028 provides the concurrent sensing
185 	  of ambient light and proximity.
186 
187 config ISL29125
188 	tristate "Intersil ISL29125 digital color light sensor"
189 	depends on I2C
190 	select IIO_BUFFER
191 	select IIO_TRIGGERED_BUFFER
192 	help
193 	  Say Y here if you want to build a driver for the Intersil ISL29125
194 	  RGB light sensor for I2C.
195 
196 	  To compile this driver as a module, choose M here: the module will be
197 	  called isl29125.
198 
199 config HID_SENSOR_ALS
200 	depends on HID_SENSOR_HUB
201 	select IIO_BUFFER
202 	select IIO_TRIGGERED_BUFFER
203 	select HID_SENSOR_IIO_COMMON
204 	select HID_SENSOR_IIO_TRIGGER
205 	tristate "HID ALS"
206 	help
207 	  Say yes here to build support for the HID SENSOR
208 	  Ambient light sensor.
209 
210 	  To compile this driver as a module, choose M here: the
211 	  module will be called hid-sensor-als.
212 
213 config HID_SENSOR_PROX
214 	depends on HID_SENSOR_HUB
215 	select IIO_BUFFER
216 	select IIO_TRIGGERED_BUFFER
217 	select HID_SENSOR_IIO_COMMON
218 	select HID_SENSOR_IIO_TRIGGER
219 	tristate "HID PROX"
220 	help
221 	  Say yes here to build support for the HID SENSOR
222 	  Proximity sensor.
223 
224 	  To compile this driver as a module, choose M here: the
225 	  module will be called hid-sensor-prox.
226 
227 config JSA1212
228 	tristate "JSA1212 ALS and proximity sensor driver"
229 	depends on I2C
230 	select REGMAP_I2C
231 	help
232 	  Say Y here if you want to build a IIO driver for JSA1212
233 	  proximity & ALS sensor device.
234 
235 	  To compile this driver as a module, choose M here:
236 	  the module will be called jsa1212.
237 
238 config RPR0521
239 	tristate "ROHM RPR0521 ALS and proximity sensor driver"
240 	depends on I2C
241 	select REGMAP_I2C
242 	help
243 	  Say Y here if you want to build support for ROHM's RPR0521
244 	  ambient light and proximity sensor device.
245 
246 	  To compile this driver as a module, choose M here:
247 	  the module will be called rpr0521.
248 
249 config SENSORS_LM3533
250 	tristate "LM3533 ambient light sensor"
251 	depends on MFD_LM3533
252 	help
253 	  If you say yes here you get support for the ambient light sensor
254 	  interface on National Semiconductor / TI LM3533 Lighting Power
255 	  chips.
256 
257 	  The sensor interface can be used to control the LEDs and backlights
258 	  of the chip through defining five light zones and three sets of
259 	  corresponding output-current values.
260 
261 	  The driver provides raw and mean adc readings along with the current
262 	  light zone through sysfs. A threshold event can be generated on zone
263 	  changes. The ALS-control output values can be set per zone for the
264 	  three current output channels.
265 
266 config LTR501
267 	tristate "LTR-501ALS-01 light sensor"
268 	depends on I2C
269 	select REGMAP_I2C
270 	select IIO_BUFFER
271 	select IIO_TRIGGERED_BUFFER
272 	help
273 	  If you say yes here you get support for the Lite-On LTR-501ALS-01
274 	  ambient light and proximity sensor. This driver also supports LTR-559
275 	  ALS/PS or LTR-301 ALS sensors.
276 
277 	  This driver can also be built as a module.  If so, the module
278 	  will be called ltr501.
279 
280 config LV0104CS
281 	tristate "LV0104CS Ambient Light Sensor"
282 	depends on I2C
283 	help
284 	  Say Y here if you want to build support for the On Semiconductor
285 	  LV0104CS ambient light sensor.
286 
287 	  To compile this driver as a module, choose M here:
288 	  the module will be called lv0104cs.
289 
290 config MAX44000
291 	tristate "MAX44000 Ambient and Infrared Proximity Sensor"
292 	depends on I2C
293 	select REGMAP_I2C
294 	select IIO_BUFFER
295 	select IIO_TRIGGERED_BUFFER
296 	help
297 	  Say Y here if you want to build support for Maxim Integrated's
298 	  MAX44000 ambient and infrared proximity sensor device.
299 
300 	  To compile this driver as a module, choose M here:
301 	  the module will be called max44000.
302 
303 config MAX44009
304 	tristate "MAX44009 Ambient Light Sensor"
305 	depends on I2C
306 	select REGMAP_I2C
307 	help
308 	 Say Y here if you want to build support for Maxim Integrated's
309 	 MAX44009 ambient light sensor device.
310 
311 	 To compile this driver as a module, choose M here:
312 	 the module will be called max44009.
313 
314 config NOA1305
315 	tristate "ON Semiconductor NOA1305 ambient light sensor"
316 	depends on I2C
317 	select REGMAP_I2C
318 	help
319 	 Say Y here if you want to build support for the ON Semiconductor
320 	 NOA1305 ambient light sensor.
321 
322 	 To compile this driver as a module, choose M here:
323 	 The module will be called noa1305.
324 
325 config OPT3001
326 	tristate "Texas Instruments OPT3001 Light Sensor"
327 	depends on I2C
328 	help
329 	  If you say Y or M here, you get support for Texas Instruments
330 	  OPT3001 Ambient Light Sensor.
331 
332 	  If built as a dynamically linked module, it will be called
333 	  opt3001.
334 
335 config PA12203001
336 	tristate "TXC PA12203001 light and proximity sensor"
337 	depends on I2C
338 	select REGMAP_I2C
339 	help
340 	  If you say yes here you get support for the TXC PA12203001
341 	  ambient light and proximity sensor.
342 
343 	  This driver can also be built as a module.  If so, the module
344 	  will be called pa12203001.
345 
346 config SI1133
347 	tristate "SI1133 UV Index Sensor and Ambient Light Sensor"
348 	depends on I2C
349 	select REGMAP_I2C
350 	  help
351 	  Say Y here if you want to build a driver for the Silicon Labs SI1133
352 	  UV Index Sensor and Ambient Light Sensor chip.
353 
354 	  To compile this driver as a module, choose M here: the module will be
355 	  called si1133.
356 
357 config SI1145
358 	tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor"
359 	depends on I2C
360 	select IIO_BUFFER
361 	select IIO_TRIGGERED_BUFFER
362 	help
363 	  Say Y here if you want to build a driver for the Silicon Labs SI1132 or
364 	  SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor
365 	  chips.
366 
367 	  To compile this driver as a module, choose M here: the module will be
368 	  called si1145.
369 
370 config STK3310
371 	tristate "STK3310 ALS and proximity sensor"
372 	depends on I2C
373 	select REGMAP_I2C
374 	help
375 	  Say yes here to get support for the Sensortek STK3310 ambient light
376 	  and proximity sensor. The STK3311 model is also supported by this
377 	  driver.
378 
379 	  Choosing M will build the driver as a module. If so, the module
380 	  will be called stk3310.
381 
382 config ST_UVIS25
383 	tristate "STMicroelectronics UVIS25 sensor driver"
384 	depends on (I2C || SPI)
385 	select IIO_BUFFER
386 	select IIO_TRIGGERED_BUFFER
387 	select ST_UVIS25_I2C if (I2C)
388 	select ST_UVIS25_SPI if (SPI_MASTER)
389 	help
390 	  Say yes here to build support for STMicroelectronics UVIS25
391 	  uv sensor
392 
393 	  To compile this driver as a module, choose M here: the module
394 	  will be called st_uvis25.
395 
396 config ST_UVIS25_I2C
397 	tristate
398 	depends on ST_UVIS25
399 	select REGMAP_I2C
400 
401 config ST_UVIS25_SPI
402 	tristate
403 	depends on ST_UVIS25
404 	select REGMAP_SPI
405 
406 config TCS3414
407 	tristate "TAOS TCS3414 digital color sensor"
408 	depends on I2C
409 	select IIO_BUFFER
410 	select IIO_TRIGGERED_BUFFER
411 	help
412 	  If you say yes here you get support for the TAOS TCS3414
413 	  family of digital color sensors.
414 
415 	  This driver can also be built as a module.  If so, the module
416 	  will be called tcs3414.
417 
418 config TCS3472
419 	tristate "TAOS TCS3472 color light-to-digital converter"
420 	depends on I2C
421 	select IIO_BUFFER
422 	select IIO_TRIGGERED_BUFFER
423 	help
424 	  If you say yes here you get support for the TAOS TCS3472
425 	  family of color light-to-digital converters with IR filter.
426 
427 	  This driver can also be built as a module.  If so, the module
428 	  will be called tcs3472.
429 
430 config SENSORS_TSL2563
431 	tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors"
432 	depends on I2C
433 	help
434 	  If you say yes here you get support for the Taos TSL2560,
435 	  TSL2561, TSL2562 and TSL2563 ambient light sensors.
436 
437 	  This driver can also be built as a module.  If so, the module
438 	  will be called tsl2563.
439 
440 config TSL2583
441 	tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters"
442 	depends on I2C
443 	help
444 	  Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices.
445 	  Access ALS data via iio, sysfs.
446 
447 config TSL2772
448 	tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors"
449 	depends on I2C
450 	help
451 	  Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672,
452 	  tmd2672, tsl2772, tmd2772 devices.
453 	  Provides iio_events and direct access via sysfs.
454 
455 config TSL4531
456 	tristate "TAOS TSL4531 ambient light sensors"
457 	depends on I2C
458 	help
459 	  Say Y here if you want to build a driver for the TAOS TSL4531 family
460 	  of ambient light sensors with direct lux output.
461 
462 	  To compile this driver as a module, choose M here: the
463 	  module will be called tsl4531.
464 
465 config US5182D
466 	tristate "UPISEMI light and proximity sensor"
467 	depends on I2C
468 	help
469 	  If you say yes here you get support for the UPISEMI US5182D
470 	  ambient light and proximity sensor.
471 
472 	  This driver can also be built as a module.  If so, the module
473 	  will be called us5182d.
474 
475 config VCNL4000
476 	tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor"
477 	depends on I2C
478 	help
479 	  Say Y here if you want to build a driver for the Vishay VCNL4000,
480 	  VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity
481 	  sensor.
482 
483 	  To compile this driver as a module, choose M here: the
484 	  module will be called vcnl4000.
485 
486 config VCNL4035
487 	tristate "VCNL4035 combined ALS and proximity sensor"
488 	select IIO_TRIGGERED_BUFFER
489 	select REGMAP_I2C
490 	depends on I2C
491 	help
492 	  Say Y here if you want to build a driver for the Vishay VCNL4035,
493 	  combined ambient light (ALS) and proximity sensor. Currently only ALS
494 	  function is available.
495 
496 	  To compile this driver as a module, choose M here: the
497 	  module will be called vcnl4035.
498 
499 config VEML6070
500 	tristate "VEML6070 UV A light sensor"
501 	depends on I2C
502 	help
503 	  Say Y here if you want to build a driver for the Vishay VEML6070 UV A
504 	  light sensor.
505 
506 	  To compile this driver as a module, choose M here: the
507 	  module will be called veml6070.
508 
509 config VL6180
510 	tristate "VL6180 ALS, range and proximity sensor"
511 	depends on I2C
512 	help
513 	  Say Y here if you want to build a driver for the STMicroelectronics
514 	  VL6180 combined ambient light, range and proximity sensor.
515 
516 	  To compile this driver as a module, choose M here: the
517 	  module will be called vl6180.
518 
519 config ZOPT2201
520 	tristate "ZOPT2201 ALS and UV B sensor"
521 	depends on I2C
522 	help
523 	  Say Y here if you want to build a driver for the IDT
524 	  ZOPT2201 ambient light and UV B sensor.
525 
526 	  To compile this driver as a module, choose M here: the
527 	  module will be called zopt2201.
528 
529 endmenu
530