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