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