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 default n 252 help 253 If you say yes here you get support for ambient light sensing and 254 proximity infrared sensing from Intersil ISL29018. 255 This driver will provide the measurements of ambient light intensity 256 in lux, proximity infrared sensing and normal infrared sensing. 257 Data from sensor is accessible via sysfs. 258 259config SENSORS_ISL29028 260 tristate "Intersil ISL29028 Concurrent Light and Proximity Sensor" 261 depends on I2C 262 select REGMAP_I2C 263 help 264 Provides driver for the Intersil's ISL29028 device. 265 This driver supports the sysfs interface to get the ALS, IR intensity, 266 Proximity value via iio. The ISL29028 provides the concurrent sensing 267 of ambient light and proximity. 268 269config ISL29125 270 tristate "Intersil ISL29125 digital color light sensor" 271 depends on I2C 272 select IIO_BUFFER 273 select IIO_TRIGGERED_BUFFER 274 help 275 Say Y here if you want to build a driver for the Intersil ISL29125 276 RGB light sensor for I2C. 277 278 To compile this driver as a module, choose M here: the module will be 279 called isl29125. 280 281config ISL76682 282 tristate "Intersil ISL76682 Light Sensor" 283 depends on I2C 284 select REGMAP_I2C 285 help 286 Say Y here if you want to build a driver for the Intersil ISL76682 287 Ambient Light Sensor and IR Intensity sensor. This driver provides 288 the readouts via standard IIO sysfs and device interface. Both ALS 289 illuminance and IR illuminance are provided raw with separate scale 290 setting which can be configured via sysfs, the default scale is 1000 291 lux, other options are 4000/16000/64000 lux. 292 293 To compile this driver as a module, choose M here: the module will be 294 called isl76682. 295 296config HID_SENSOR_ALS 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 ALS" 302 help 303 Say yes here to build support for the HID SENSOR 304 Ambient light sensor. 305 306 To compile this driver as a module, choose M here: the 307 module will be called hid-sensor-als. 308 309config HID_SENSOR_PROX 310 depends on HID_SENSOR_HUB 311 select IIO_BUFFER 312 select HID_SENSOR_IIO_COMMON 313 select HID_SENSOR_IIO_TRIGGER 314 tristate "HID PROX" 315 help 316 Say yes here to build support for the HID SENSOR 317 Proximity sensor. 318 319 To compile this driver as a module, choose M here: the 320 module will be called hid-sensor-prox. 321 322config JSA1212 323 tristate "JSA1212 ALS and proximity sensor driver" 324 depends on I2C 325 select REGMAP_I2C 326 help 327 Say Y here if you want to build a IIO driver for JSA1212 328 proximity & ALS sensor device. 329 330 To compile this driver as a module, choose M here: 331 the module will be called jsa1212. 332 333config ROHM_BU27008 334 tristate "ROHM BU27008 color (RGB+C/IR) sensor" 335 depends on I2C 336 select REGMAP_I2C 337 select IIO_GTS_HELPER 338 help 339 Enable support for the ROHM BU27008 color sensor. 340 The ROHM BU27008 is a sensor with 5 photodiodes (red, green, 341 blue, clear and IR) with four configurable channels. Red and 342 green being always available and two out of the rest three 343 (blue, clear, IR) can be selected to be simultaneously measured. 344 Typical application is adjusting LCD backlight of TVs, 345 mobile phones and tablet PCs. 346 347config ROHM_BU27034 348 tristate "ROHM BU27034 ambient light sensor" 349 depends on I2C 350 select REGMAP_I2C 351 select IIO_GTS_HELPER 352 select IIO_BUFFER 353 select IIO_KFIFO_BUF 354 help 355 Enable support for the ROHM BU27034 ambient light sensor. ROHM BU27034 356 is an ambient light sesnor with 3 channels and 3 photo diodes capable 357 of detecting a very wide range of illuminance. 358 Typical application is adjusting LCD and backlight power of TVs and 359 mobile phones. 360 361config RPR0521 362 tristate "ROHM RPR0521 ALS and proximity sensor driver" 363 depends on I2C 364 select REGMAP_I2C 365 select IIO_BUFFER 366 select IIO_TRIGGERED_BUFFER 367 help 368 Say Y here if you want to build support for ROHM's RPR0521 369 ambient light and proximity sensor device. 370 371 To compile this driver as a module, choose M here: 372 the module will be called rpr0521. 373 374config SENSORS_LM3533 375 tristate "LM3533 ambient light sensor" 376 depends on MFD_LM3533 377 help 378 If you say yes here you get support for the ambient light sensor 379 interface on National Semiconductor / TI LM3533 Lighting Power 380 chips. 381 382 The sensor interface can be used to control the LEDs and backlights 383 of the chip through defining five light zones and three sets of 384 corresponding output-current values. 385 386 The driver provides raw and mean adc readings along with the current 387 light zone through sysfs. A threshold event can be generated on zone 388 changes. The ALS-control output values can be set per zone for the 389 three current output channels. 390 391config LTR390 392 tristate "LTR-390UV-01 ambient light and UV sensor" 393 depends on I2C 394 select REGMAP_I2C 395 help 396 If you say yes here you get support for the Lite-On LTR-390UV-01 397 ambient light and UV sensor. 398 399 This driver can also be built as a module. If so, the module 400 will be called ltr390. 401 402config LTR501 403 tristate "LTR-501ALS-01 light sensor" 404 depends on I2C 405 select REGMAP_I2C 406 select IIO_BUFFER 407 select IIO_TRIGGERED_BUFFER 408 help 409 If you say yes here you get support for the Lite-On LTR-501ALS-01 410 ambient light and proximity sensor. This driver also supports LTR-559 411 ALS/PS or LTR-301 ALS sensors. 412 413 This driver can also be built as a module. If so, the module 414 will be called ltr501. 415 416config LTRF216A 417 tristate "Liteon LTRF216A Light Sensor" 418 depends on I2C 419 select REGMAP_I2C 420 help 421 If you say Y or M here, you get support for Liteon LTRF216A 422 Ambient Light Sensor. 423 424 If built as a dynamically linked module, it will be called 425 ltrf216a. 426 427config LV0104CS 428 tristate "LV0104CS Ambient Light Sensor" 429 depends on I2C 430 help 431 Say Y here if you want to build support for the On Semiconductor 432 LV0104CS ambient light sensor. 433 434 To compile this driver as a module, choose M here: 435 the module will be called lv0104cs. 436 437config MAX44000 438 tristate "MAX44000 Ambient and Infrared Proximity Sensor" 439 depends on I2C 440 select REGMAP_I2C 441 select IIO_BUFFER 442 select IIO_TRIGGERED_BUFFER 443 help 444 Say Y here if you want to build support for Maxim Integrated's 445 MAX44000 ambient and infrared proximity sensor device. 446 447 To compile this driver as a module, choose M here: 448 the module will be called max44000. 449 450config MAX44009 451 tristate "MAX44009 Ambient Light Sensor" 452 depends on I2C 453 select REGMAP_I2C 454 help 455 Say Y here if you want to build support for Maxim Integrated's 456 MAX44009 ambient light sensor device. 457 458 To compile this driver as a module, choose M here: 459 the module will be called max44009. 460 461config NOA1305 462 tristate "ON Semiconductor NOA1305 ambient light sensor" 463 depends on I2C 464 select REGMAP_I2C 465 help 466 Say Y here if you want to build support for the ON Semiconductor 467 NOA1305 ambient light sensor. 468 469 To compile this driver as a module, choose M here: 470 The module will be called noa1305. 471 472config OPT3001 473 tristate "Texas Instruments OPT3001 Light Sensor" 474 depends on I2C 475 help 476 If you say Y or M here, you get support for Texas Instruments 477 OPT3001 Ambient Light Sensor. 478 479 If built as a dynamically linked module, it will be called 480 opt3001. 481 482config OPT4001 483 tristate "Texas Instruments OPT4001 Light Sensor" 484 depends on I2C 485 select REGMAP_I2C 486 help 487 If you say Y or M here, you get support for Texas Instruments 488 OPT4001 Ambient Light Sensor. 489 490 If built as a dynamically linked module, it will be called 491 opt4001. 492 493config PA12203001 494 tristate "TXC PA12203001 light and proximity sensor" 495 depends on I2C 496 select REGMAP_I2C 497 help 498 If you say yes here you get support for the TXC PA12203001 499 ambient light and proximity sensor. 500 501 This driver can also be built as a module. If so, the module 502 will be called pa12203001. 503 504config SI1133 505 tristate "SI1133 UV Index Sensor and Ambient Light Sensor" 506 depends on I2C 507 select REGMAP_I2C 508 help 509 Say Y here if you want to build a driver for the Silicon Labs SI1133 510 UV Index Sensor and Ambient Light Sensor chip. 511 512 To compile this driver as a module, choose M here: the module will be 513 called si1133. 514 515config SI1145 516 tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor" 517 depends on I2C 518 select IIO_BUFFER 519 select IIO_TRIGGERED_BUFFER 520 help 521 Say Y here if you want to build a driver for the Silicon Labs SI1132 or 522 SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor 523 chips. 524 525 To compile this driver as a module, choose M here: the module will be 526 called si1145. 527 528config STK3310 529 tristate "STK3310 ALS and proximity sensor" 530 depends on I2C 531 select REGMAP_I2C 532 help 533 Say yes here to get support for the Sensortek STK3310 ambient light 534 and proximity sensor. The STK3311 model is also supported by this 535 driver. 536 537 Choosing M will build the driver as a module. If so, the module 538 will be called stk3310. 539 540config ST_UVIS25 541 tristate "STMicroelectronics UVIS25 sensor driver" 542 depends on (I2C || SPI) 543 select IIO_BUFFER 544 select IIO_TRIGGERED_BUFFER 545 select ST_UVIS25_I2C if (I2C) 546 select ST_UVIS25_SPI if (SPI_MASTER) 547 help 548 Say yes here to build support for STMicroelectronics UVIS25 549 uv sensor 550 551 To compile this driver as a module, choose M here: the module 552 will be called st_uvis25. 553 554config ST_UVIS25_I2C 555 tristate 556 depends on ST_UVIS25 557 select REGMAP_I2C 558 559config ST_UVIS25_SPI 560 tristate 561 depends on ST_UVIS25 562 select REGMAP_SPI 563 564config TCS3414 565 tristate "TAOS TCS3414 digital color sensor" 566 depends on I2C 567 select IIO_BUFFER 568 select IIO_TRIGGERED_BUFFER 569 help 570 If you say yes here you get support for the TAOS TCS3414 571 family of digital color sensors. 572 573 This driver can also be built as a module. If so, the module 574 will be called tcs3414. 575 576config TCS3472 577 tristate "TAOS TCS3472 color light-to-digital converter" 578 depends on I2C 579 select IIO_BUFFER 580 select IIO_TRIGGERED_BUFFER 581 help 582 If you say yes here you get support for the TAOS TCS3472 583 family of color light-to-digital converters with IR filter. 584 585 This driver can also be built as a module. If so, the module 586 will be called tcs3472. 587 588config SENSORS_TSL2563 589 tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors" 590 depends on I2C 591 help 592 If you say yes here you get support for the Taos TSL2560, 593 TSL2561, TSL2562 and TSL2563 ambient light sensors. 594 595 This driver can also be built as a module. If so, the module 596 will be called tsl2563. 597 598config TSL2583 599 tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters" 600 depends on I2C 601 help 602 Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices. 603 Access ALS data via iio, sysfs. 604 605config TSL2591 606 tristate "TAOS TSL2591 ambient light sensor" 607 depends on I2C 608 help 609 Select Y here for support of the AMS/TAOS TSL2591 ambient light sensor, 610 featuring channels for combined visible + IR intensity and lux illuminance. 611 Access data via iio and sysfs. Supports iio_events. 612 613 To compile this driver as a module, select M: the 614 module will be called tsl2591. 615 616config TSL2772 617 tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors" 618 depends on I2C 619 help 620 Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672, 621 tmd2672, tsl2772, tmd2772 devices. 622 Provides iio_events and direct access via sysfs. 623 624config TSL4531 625 tristate "TAOS TSL4531 ambient light sensors" 626 depends on I2C 627 help 628 Say Y here if you want to build a driver for the TAOS TSL4531 family 629 of ambient light sensors with direct lux output. 630 631 To compile this driver as a module, choose M here: the 632 module will be called tsl4531. 633 634config US5182D 635 tristate "UPISEMI light and proximity sensor" 636 depends on I2C 637 help 638 If you say yes here you get support for the UPISEMI US5182D 639 ambient light and proximity sensor. 640 641 This driver can also be built as a module. If so, the module 642 will be called us5182d. 643 644config VCNL4000 645 tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor" 646 select IIO_BUFFER 647 select IIO_TRIGGERED_BUFFER 648 depends on I2C 649 help 650 Say Y here if you want to build a driver for the Vishay VCNL4000, 651 VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity 652 sensor. 653 654 To compile this driver as a module, choose M here: the 655 module will be called vcnl4000. 656 657config VCNL4035 658 tristate "VCNL4035 combined ALS and proximity sensor" 659 select IIO_BUFFER 660 select IIO_TRIGGERED_BUFFER 661 select REGMAP_I2C 662 depends on I2C 663 help 664 Say Y here if you want to build a driver for the Vishay VCNL4035, 665 combined ambient light (ALS) and proximity sensor. Currently only ALS 666 function is available. 667 668 To compile this driver as a module, choose M here: the 669 module will be called vcnl4035. 670 671config VEML6030 672 tristate "VEML6030 ambient light sensor" 673 select REGMAP_I2C 674 depends on I2C 675 help 676 Say Y here if you want to build a driver for the Vishay VEML6030 677 ambient light sensor (ALS). 678 679 To compile this driver as a module, choose M here: the 680 module will be called veml6030. 681 682config VEML6040 683 tristate "VEML6040 RGBW light sensor" 684 select REGMAP_I2C 685 depends on I2C 686 help 687 Say Y here if you want to build a driver for the Vishay VEML6040 688 RGBW light sensor. 689 690 To compile this driver as a module, choose M here: the 691 module will be called veml6040. 692 693config VEML6070 694 tristate "VEML6070 UV A light sensor" 695 depends on I2C 696 help 697 Say Y here if you want to build a driver for the Vishay VEML6070 UV A 698 light sensor. 699 700 To compile this driver as a module, choose M here: the 701 module will be called veml6070. 702 703config VEML6075 704 tristate "VEML6075 UVA and UVB light sensor" 705 select REGMAP_I2C 706 depends on I2C 707 help 708 Say Y here if you want to build a driver for the Vishay VEML6075 UVA 709 and UVB light sensor. 710 711 To compile this driver as a module, choose M here: the 712 module will be called veml6075. 713 714config VL6180 715 tristate "VL6180 ALS, range and proximity sensor" 716 depends on I2C 717 help 718 Say Y here if you want to build a driver for the STMicroelectronics 719 VL6180 combined ambient light, range and proximity sensor. 720 721 To compile this driver as a module, choose M here: the 722 module will be called vl6180. 723 724config ZOPT2201 725 tristate "ZOPT2201 ALS and UV B sensor" 726 depends on I2C 727 help 728 Say Y here if you want to build a driver for the IDT 729 ZOPT2201 ambient light and UV B sensor. 730 731 To compile this driver as a module, choose M here: the 732 module will be called zopt2201. 733 734endmenu 735