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