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 PA12203001 479 tristate "TXC PA12203001 light and proximity sensor" 480 depends on I2C 481 select REGMAP_I2C 482 help 483 If you say yes here you get support for the TXC PA12203001 484 ambient light and proximity sensor. 485 486 This driver can also be built as a module. If so, the module 487 will be called pa12203001. 488 489config SI1133 490 tristate "SI1133 UV Index Sensor and Ambient Light Sensor" 491 depends on I2C 492 select REGMAP_I2C 493 help 494 Say Y here if you want to build a driver for the Silicon Labs SI1133 495 UV Index Sensor and Ambient Light Sensor chip. 496 497 To compile this driver as a module, choose M here: the module will be 498 called si1133. 499 500config SI1145 501 tristate "SI1132 and SI1141/2/3/5/6/7 combined ALS, UV index and proximity sensor" 502 depends on I2C 503 select IIO_BUFFER 504 select IIO_TRIGGERED_BUFFER 505 help 506 Say Y here if you want to build a driver for the Silicon Labs SI1132 or 507 SI1141/2/3/5/6/7 combined ambient light, UV index and proximity sensor 508 chips. 509 510 To compile this driver as a module, choose M here: the module will be 511 called si1145. 512 513config STK3310 514 tristate "STK3310 ALS and proximity sensor" 515 depends on I2C 516 select REGMAP_I2C 517 help 518 Say yes here to get support for the Sensortek STK3310 ambient light 519 and proximity sensor. The STK3311 model is also supported by this 520 driver. 521 522 Choosing M will build the driver as a module. If so, the module 523 will be called stk3310. 524 525config ST_UVIS25 526 tristate "STMicroelectronics UVIS25 sensor driver" 527 depends on (I2C || SPI) 528 select IIO_BUFFER 529 select IIO_TRIGGERED_BUFFER 530 select ST_UVIS25_I2C if (I2C) 531 select ST_UVIS25_SPI if (SPI_MASTER) 532 help 533 Say yes here to build support for STMicroelectronics UVIS25 534 uv sensor 535 536 To compile this driver as a module, choose M here: the module 537 will be called st_uvis25. 538 539config ST_UVIS25_I2C 540 tristate 541 depends on ST_UVIS25 542 select REGMAP_I2C 543 544config ST_UVIS25_SPI 545 tristate 546 depends on ST_UVIS25 547 select REGMAP_SPI 548 549config TCS3414 550 tristate "TAOS TCS3414 digital color sensor" 551 depends on I2C 552 select IIO_BUFFER 553 select IIO_TRIGGERED_BUFFER 554 help 555 If you say yes here you get support for the TAOS TCS3414 556 family of digital color sensors. 557 558 This driver can also be built as a module. If so, the module 559 will be called tcs3414. 560 561config TCS3472 562 tristate "TAOS TCS3472 color light-to-digital converter" 563 depends on I2C 564 select IIO_BUFFER 565 select IIO_TRIGGERED_BUFFER 566 help 567 If you say yes here you get support for the TAOS TCS3472 568 family of color light-to-digital converters with IR filter. 569 570 This driver can also be built as a module. If so, the module 571 will be called tcs3472. 572 573config SENSORS_TSL2563 574 tristate "TAOS TSL2560, TSL2561, TSL2562 and TSL2563 ambient light sensors" 575 depends on I2C 576 help 577 If you say yes here you get support for the Taos TSL2560, 578 TSL2561, TSL2562 and TSL2563 ambient light sensors. 579 580 This driver can also be built as a module. If so, the module 581 will be called tsl2563. 582 583config TSL2583 584 tristate "TAOS TSL2580, TSL2581 and TSL2583 light-to-digital converters" 585 depends on I2C 586 help 587 Provides support for the TAOS tsl2580, tsl2581 and tsl2583 devices. 588 Access ALS data via iio, sysfs. 589 590config TSL2591 591 tristate "TAOS TSL2591 ambient light sensor" 592 depends on I2C 593 help 594 Select Y here for support of the AMS/TAOS TSL2591 ambient light sensor, 595 featuring channels for combined visible + IR intensity and lux illuminance. 596 Access data via iio and sysfs. Supports iio_events. 597 598 To compile this driver as a module, select M: the 599 module will be called tsl2591. 600 601config TSL2772 602 tristate "TAOS TSL/TMD2x71 and TSL/TMD2x72 Family of light and proximity sensors" 603 depends on I2C 604 help 605 Support for: tsl2571, tsl2671, tmd2671, tsl2771, tmd2771, tsl2572, tsl2672, 606 tmd2672, tsl2772, tmd2772 devices. 607 Provides iio_events and direct access via sysfs. 608 609config TSL4531 610 tristate "TAOS TSL4531 ambient light sensors" 611 depends on I2C 612 help 613 Say Y here if you want to build a driver for the TAOS TSL4531 family 614 of ambient light sensors with direct lux output. 615 616 To compile this driver as a module, choose M here: the 617 module will be called tsl4531. 618 619config US5182D 620 tristate "UPISEMI light and proximity sensor" 621 depends on I2C 622 help 623 If you say yes here you get support for the UPISEMI US5182D 624 ambient light and proximity sensor. 625 626 This driver can also be built as a module. If so, the module 627 will be called us5182d. 628 629config VCNL4000 630 tristate "VCNL4000/4010/4020/4200 combined ALS and proximity sensor" 631 select IIO_BUFFER 632 select IIO_TRIGGERED_BUFFER 633 depends on I2C 634 help 635 Say Y here if you want to build a driver for the Vishay VCNL4000, 636 VCNL4010, VCNL4020, VCNL4200 combined ambient light and proximity 637 sensor. 638 639 To compile this driver as a module, choose M here: the 640 module will be called vcnl4000. 641 642config VCNL4035 643 tristate "VCNL4035 combined ALS and proximity sensor" 644 select IIO_BUFFER 645 select IIO_TRIGGERED_BUFFER 646 select REGMAP_I2C 647 depends on I2C 648 help 649 Say Y here if you want to build a driver for the Vishay VCNL4035, 650 combined ambient light (ALS) and proximity sensor. Currently only ALS 651 function is available. 652 653 To compile this driver as a module, choose M here: the 654 module will be called vcnl4035. 655 656config VEML3235 657 tristate "VEML3235 ambient light sensor" 658 select REGMAP_I2C 659 depends on I2C 660 help 661 Say Y here if you want to build a driver for the Vishay VEML3235 662 ambient light sensor. 663 664 To compile this driver as a module, choose M here: the 665 module will be called veml3235. 666 667config VEML6030 668 tristate "VEML6030 and VEML6035 ambient light sensors" 669 select REGMAP_I2C 670 depends on I2C 671 help 672 Say Y here if you want to build a driver for the Vishay VEML6030 673 and VEML6035 ambient light sensors (ALS). 674 675 To compile this driver as a module, choose M here: the 676 module will be called veml6030. 677 678config VEML6040 679 tristate "VEML6040 RGBW light sensor" 680 select REGMAP_I2C 681 depends on I2C 682 help 683 Say Y here if you want to build a driver for the Vishay VEML6040 684 RGBW light sensor. 685 686 To compile this driver as a module, choose M here: the 687 module will be called veml6040. 688 689config VEML6070 690 tristate "VEML6070 UV A light sensor" 691 depends on I2C 692 help 693 Say Y here if you want to build a driver for the Vishay VEML6070 UV A 694 light sensor. 695 696 To compile this driver as a module, choose M here: the 697 module will be called veml6070. 698 699config VEML6075 700 tristate "VEML6075 UVA and UVB light sensor" 701 select REGMAP_I2C 702 depends on I2C 703 help 704 Say Y here if you want to build a driver for the Vishay VEML6075 UVA 705 and UVB light sensor. 706 707 To compile this driver as a module, choose M here: the 708 module will be called veml6075. 709 710config VL6180 711 tristate "VL6180 ALS, range and proximity sensor" 712 depends on I2C 713 help 714 Say Y here if you want to build a driver for the STMicroelectronics 715 VL6180 combined ambient light, range and proximity sensor. 716 717 To compile this driver as a module, choose M here: the 718 module will be called vl6180. 719 720config ZOPT2201 721 tristate "ZOPT2201 ALS and UV B sensor" 722 depends on I2C 723 help 724 Say Y here if you want to build a driver for the IDT 725 ZOPT2201 ambient light and UV B sensor. 726 727 To compile this driver as a module, choose M here: the 728 module will be called zopt2201. 729 730endmenu 731