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