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