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