1# SPDX-License-Identifier: GPL-2.0-only 2 3menuconfig RC_CORE 4 tristate "Remote Controller support" 5 depends on INPUT 6 help 7 Enable support for Remote Controllers on Linux. This is 8 needed in order to support several video capture adapters, 9 standalone IR receivers/transmitters, and RF receivers. 10 11 Enable this option if you have a video capture board even 12 if you don't need IR, as otherwise, you may not be able to 13 compile the driver for your adapter. 14 15 Say Y when you have a TV or an IR device. 16 17if RC_CORE 18source "drivers/media/rc/keymaps/Kconfig" 19 20config LIRC 21 bool "LIRC user interface" 22 depends on RC_CORE 23 help 24 Enable this option to enable the Linux Infrared Remote 25 Control user interface (e.g. /dev/lirc*). This interface 26 passes raw IR to and from userspace, which is needed for 27 IR transmitting (aka "blasting") and for the lirc daemon. 28 29config BPF_LIRC_MODE2 30 bool "Support for eBPF programs attached to lirc devices" 31 depends on BPF_SYSCALL 32 depends on RC_CORE=y 33 depends on LIRC 34 help 35 Allow attaching eBPF programs to a lirc device using the bpf(2) 36 syscall command BPF_PROG_ATTACH. This is supported for raw IR 37 receivers. 38 39 These eBPF programs can be used to decode IR into scancodes, for 40 IR protocols not supported by the kernel decoders. 41 42menuconfig RC_DECODERS 43 bool "Remote controller decoders" 44 depends on RC_CORE 45 46if RC_DECODERS 47config IR_NEC_DECODER 48 tristate "Enable IR raw decoder for the NEC protocol" 49 depends on RC_CORE 50 select BITREVERSE 51 52 help 53 Enable this option if you have IR with NEC protocol, and 54 if the IR is decoded in software 55 56config IR_RC5_DECODER 57 tristate "Enable IR raw decoder for the RC-5 protocol" 58 depends on RC_CORE 59 select BITREVERSE 60 61 help 62 Enable this option if you have IR with RC-5 protocol, and 63 if the IR is decoded in software 64 65config IR_RC6_DECODER 66 tristate "Enable IR raw decoder for the RC6 protocol" 67 depends on RC_CORE 68 select BITREVERSE 69 70 help 71 Enable this option if you have an infrared remote control which 72 uses the RC6 protocol, and you need software decoding support. 73 74config IR_JVC_DECODER 75 tristate "Enable IR raw decoder for the JVC protocol" 76 depends on RC_CORE 77 select BITREVERSE 78 79 help 80 Enable this option if you have an infrared remote control which 81 uses the JVC protocol, and you need software decoding support. 82 83config IR_SONY_DECODER 84 tristate "Enable IR raw decoder for the Sony protocol" 85 depends on RC_CORE 86 select BITREVERSE 87 88 help 89 Enable this option if you have an infrared remote control which 90 uses the Sony protocol, and you need software decoding support. 91 92config IR_SANYO_DECODER 93 tristate "Enable IR raw decoder for the Sanyo protocol" 94 depends on RC_CORE 95 select BITREVERSE 96 97 help 98 Enable this option if you have an infrared remote control which 99 uses the Sanyo protocol (Sanyo, Aiwa, Chinon remotes), 100 and you need software decoding support. 101 102config IR_SHARP_DECODER 103 tristate "Enable IR raw decoder for the Sharp protocol" 104 depends on RC_CORE 105 select BITREVERSE 106 107 help 108 Enable this option if you have an infrared remote control which 109 uses the Sharp protocol (Sharp, Denon), and you need software 110 decoding support. 111 112config IR_MCE_KBD_DECODER 113 tristate "Enable IR raw decoder for the MCE keyboard/mouse protocol" 114 depends on RC_CORE 115 select BITREVERSE 116 117 help 118 Enable this option if you have a Microsoft Remote Keyboard for 119 Windows Media Center Edition, which you would like to use with 120 a raw IR receiver in your system. 121 122config IR_XMP_DECODER 123 tristate "Enable IR raw decoder for the XMP protocol" 124 depends on RC_CORE 125 select BITREVERSE 126 127 help 128 Enable this option if you have IR with XMP protocol, and 129 if the IR is decoded in software 130 131config IR_IMON_DECODER 132 tristate "Enable IR raw decoder for the iMON protocol" 133 depends on RC_CORE 134 help 135 Enable this option if you have iMON PAD or Antec Veris infrared 136 remote control and you would like to use it with a raw IR 137 receiver, or if you wish to use an encoder to transmit this IR. 138 139config IR_RCMM_DECODER 140 tristate "Enable IR raw decoder for the RC-MM protocol" 141 depends on RC_CORE 142 help 143 Enable this option when you have IR with RC-MM protocol, and 144 you need the software decoder. The driver supports 12, 145 24 and 32 bits RC-MM variants. You can enable or disable the 146 different modes using the following RC protocol keywords: 147 'rc-mm-12', 'rc-mm-24' and 'rc-mm-32'. 148 149 To compile this driver as a module, choose M here: the module 150 will be called ir-rcmm-decoder. 151 152endif #RC_DECODERS 153 154menuconfig RC_DEVICES 155 bool "Remote Controller devices" 156 depends on RC_CORE 157 158if RC_DEVICES 159 160config RC_ATI_REMOTE 161 tristate "ATI / X10 based USB RF remote controls" 162 depends on USB_ARCH_HAS_HCD 163 depends on RC_CORE 164 select USB 165 help 166 Say Y here if you want to use an X10 based USB remote control. 167 These are RF remotes with USB receivers. 168 169 Such devices include the ATI remote that comes with many of ATI's 170 All-In-Wonder video cards, the X10 "Lola" remote, NVIDIA RF remote, 171 Medion RF remote, and SnapStream FireFly remote. 172 173 This driver provides mouse pointer, left and right mouse buttons, 174 and maps all the other remote buttons to keypress events. 175 176 To compile this driver as a module, choose M here: the module will be 177 called ati_remote. 178 179config IR_ENE 180 tristate "ENE eHome Receiver/Transceiver (pnp id: ENE0100/ENE02xxx)" 181 depends on PNP || COMPILE_TEST 182 depends on RC_CORE 183 help 184 Say Y here to enable support for integrated infrared receiver 185 /transceiver made by ENE. 186 187 You can see if you have it by looking at lspnp output. 188 Output should include ENE0100 ENE0200 or something similar. 189 190 To compile this driver as a module, choose M here: the 191 module will be called ene_ir. 192 193config IR_HIX5HD2 194 tristate "Hisilicon hix5hd2 IR remote control" 195 depends on RC_CORE 196 depends on OF || COMPILE_TEST 197 help 198 Say Y here if you want to use hisilicon hix5hd2 remote control. 199 To compile this driver as a module, choose M here: the module will be 200 called ir-hix5hd2. 201 202 If you're not sure, select N here 203 204config IR_IMON 205 tristate "SoundGraph iMON Receiver and Display" 206 depends on USB_ARCH_HAS_HCD 207 depends on RC_CORE 208 select USB 209 help 210 Say Y here if you want to use a SoundGraph iMON (aka Antec Veris) 211 IR Receiver and/or LCD/VFD/VGA display. 212 213 To compile this driver as a module, choose M here: the 214 module will be called imon. 215 216config IR_IMON_RAW 217 tristate "SoundGraph iMON Receiver (early raw IR models)" 218 depends on USB_ARCH_HAS_HCD 219 depends on RC_CORE 220 select USB 221 help 222 Say Y here if you want to use a SoundGraph iMON IR Receiver, 223 early raw models. 224 225 To compile this driver as a module, choose M here: the 226 module will be called imon_raw. 227 228config IR_MCEUSB 229 tristate "Windows Media Center Ed. eHome Infrared Transceiver" 230 depends on USB_ARCH_HAS_HCD 231 depends on RC_CORE 232 select USB 233 help 234 Say Y here if you want to use a Windows Media Center Edition 235 eHome Infrared Transceiver. 236 237 To compile this driver as a module, choose M here: the 238 module will be called mceusb. 239 240config IR_ITE_CIR 241 tristate "ITE Tech Inc. IT8712/IT8512 Consumer Infrared Transceiver" 242 depends on PNP || COMPILE_TEST 243 depends on RC_CORE 244 help 245 Say Y here to enable support for integrated infrared receivers 246 /transceivers made by ITE Tech Inc. These are found in 247 several ASUS devices, like the ASUS Digimatrix or the ASUS 248 EEEBox 1501U. 249 250 To compile this driver as a module, choose M here: the 251 module will be called ite-cir. 252 253config IR_FINTEK 254 tristate "Fintek Consumer Infrared Transceiver" 255 depends on PNP || COMPILE_TEST 256 depends on RC_CORE 257 help 258 Say Y here to enable support for integrated infrared receiver 259 /transceiver made by Fintek. This chip is found on assorted 260 Jetway motherboards (and of course, possibly others). 261 262 To compile this driver as a module, choose M here: the 263 module will be called fintek-cir. 264 265config IR_MESON 266 tristate "Amlogic Meson IR remote receiver" 267 depends on RC_CORE 268 depends on ARCH_MESON || COMPILE_TEST 269 help 270 Say Y if you want to use the IR remote receiver available 271 on Amlogic Meson SoCs. 272 273 To compile this driver as a module, choose M here: the 274 module will be called meson-ir. 275 276config IR_MTK 277 tristate "Mediatek IR remote receiver" 278 depends on RC_CORE 279 depends on ARCH_MEDIATEK || COMPILE_TEST 280 help 281 Say Y if you want to use the IR remote receiver available 282 on Mediatek SoCs. 283 284 To compile this driver as a module, choose M here: the 285 module will be called mtk-cir. 286 287config IR_NUVOTON 288 tristate "Nuvoton w836x7hg Consumer Infrared Transceiver" 289 depends on PNP || COMPILE_TEST 290 depends on RC_CORE 291 help 292 Say Y here to enable support for integrated infrared receiver 293 /transceiver made by Nuvoton (formerly Winbond). This chip is 294 found in the ASRock ION 330HT, as well as assorted Intel 295 DP55-series motherboards (and of course, possibly others). 296 297 To compile this driver as a module, choose M here: the 298 module will be called nuvoton-cir. 299 300config IR_REDRAT3 301 tristate "RedRat3 IR Transceiver" 302 depends on USB_ARCH_HAS_HCD 303 depends on RC_CORE 304 select NEW_LEDS 305 select LEDS_CLASS 306 select USB 307 help 308 Say Y here if you want to use a RedRat3 Infrared Transceiver. 309 310 To compile this driver as a module, choose M here: the 311 module will be called redrat3. 312 313config IR_SPI 314 tristate "SPI connected IR LED" 315 depends on SPI && LIRC 316 depends on OF || COMPILE_TEST 317 help 318 Say Y if you want to use an IR LED connected through SPI bus. 319 320 To compile this driver as a module, choose M here: the module will be 321 called ir-spi. 322 323config IR_STREAMZAP 324 tristate "Streamzap PC Remote IR Receiver" 325 depends on USB_ARCH_HAS_HCD 326 depends on RC_CORE 327 select USB 328 help 329 Say Y here if you want to use a Streamzap PC Remote 330 Infrared Receiver. 331 332 To compile this driver as a module, choose M here: the 333 module will be called streamzap. 334 335config IR_WINBOND_CIR 336 tristate "Winbond IR remote control" 337 depends on (X86 && PNP) || COMPILE_TEST 338 depends on RC_CORE 339 select NEW_LEDS 340 select LEDS_CLASS 341 select BITREVERSE 342 help 343 Say Y here if you want to use the IR remote functionality found 344 in some Winbond SuperI/O chips. Currently only the WPCD376I 345 chip is supported (included in some Intel Media series 346 motherboards). 347 348 To compile this driver as a module, choose M here: the module will 349 be called winbond_cir. 350 351config IR_IGORPLUGUSB 352 tristate "IgorPlug-USB IR Receiver" 353 depends on USB_ARCH_HAS_HCD 354 depends on RC_CORE 355 select USB 356 help 357 Say Y here if you want to use the IgorPlug-USB IR Receiver by 358 Igor Cesko. This device is included on the Fit-PC2. 359 360 Note that this device can only record bursts of 36 IR pulses and 361 spaces, which is not enough for the NEC, Sanyo and RC-6 protocol. 362 363 To compile this driver as a module, choose M here: the module will 364 be called igorplugusb. 365 366config IR_IGUANA 367 tristate "IguanaWorks USB IR Transceiver" 368 depends on USB_ARCH_HAS_HCD 369 depends on RC_CORE 370 select USB 371 help 372 Say Y here if you want to use the IguanaWorks USB IR Transceiver. 373 Both infrared receive and send are supported. If you want to 374 change the ID or the pin config, use the user space driver from 375 IguanaWorks. 376 377 Only firmware 0x0205 and later is supported. 378 379 To compile this driver as a module, choose M here: the module will 380 be called iguanair. 381 382config IR_TTUSBIR 383 tristate "TechnoTrend USB IR Receiver" 384 depends on USB_ARCH_HAS_HCD 385 depends on RC_CORE 386 select USB 387 select NEW_LEDS 388 select LEDS_CLASS 389 help 390 Say Y here if you want to use the TechnoTrend USB IR Receiver. The 391 driver can control the led. 392 393 To compile this driver as a module, choose M here: the module will 394 be called ttusbir. 395 396config IR_RX51 397 tristate "Nokia N900 IR transmitter diode" 398 depends on (OMAP_DM_TIMER && PWM_OMAP_DMTIMER && ARCH_OMAP2PLUS || COMPILE_TEST) && RC_CORE 399 help 400 Say Y or M here if you want to enable support for the IR 401 transmitter diode built in the Nokia N900 (RX51) device. 402 403 The driver uses omap DM timers for generating the carrier 404 wave and pulses. 405 406source "drivers/media/rc/img-ir/Kconfig" 407 408config RC_LOOPBACK 409 tristate "Remote Control Loopback Driver" 410 depends on RC_CORE 411 help 412 Say Y here if you want support for the remote control loopback 413 driver which allows TX data to be sent back as RX data. 414 This is mostly useful for debugging purposes. 415 416 If you're not sure, select N here. 417 418 To compile this driver as a module, choose M here: the module will 419 be called rc_loopback. 420 421config IR_GPIO_CIR 422 tristate "GPIO IR remote control" 423 depends on RC_CORE 424 depends on (OF && GPIOLIB) || COMPILE_TEST 425 help 426 Say Y if you want to use GPIO based IR Receiver. 427 428 To compile this driver as a module, choose M here: the module will 429 be called gpio-ir-recv. 430 431config IR_GPIO_TX 432 tristate "GPIO IR Bit Banging Transmitter" 433 depends on RC_CORE 434 depends on LIRC 435 depends on (OF && GPIOLIB) || COMPILE_TEST 436 help 437 Say Y if you want to a GPIO based IR transmitter. This is a 438 bit banging driver. 439 440 To compile this driver as a module, choose M here: the module will 441 be called gpio-ir-tx. 442 443config IR_PWM_TX 444 tristate "PWM IR transmitter" 445 depends on RC_CORE 446 depends on LIRC 447 depends on PWM 448 depends on OF || COMPILE_TEST 449 help 450 Say Y if you want to use a PWM based IR transmitter. This is 451 more power efficient than the bit banging gpio driver. 452 453 To compile this driver as a module, choose M here: the module will 454 be called pwm-ir-tx. 455 456config RC_ST 457 tristate "ST remote control receiver" 458 depends on RC_CORE 459 depends on ARCH_STI || COMPILE_TEST 460 help 461 Say Y here if you want support for ST remote control driver 462 which allows both IR and UHF RX. 463 The driver passes raw pulse and space information to the LIRC decoder. 464 465 If you're not sure, select N here. 466 467config IR_SUNXI 468 tristate "SUNXI IR remote control" 469 depends on RC_CORE 470 depends on ARCH_SUNXI || COMPILE_TEST 471 help 472 Say Y if you want to use sunXi internal IR Controller 473 474 To compile this driver as a module, choose M here: the module will 475 be called sunxi-ir. 476 477config IR_SERIAL 478 tristate "Homebrew Serial Port Receiver" 479 depends on RC_CORE 480 help 481 Say Y if you want to use Homebrew Serial Port Receivers and 482 Transceivers. 483 484 To compile this driver as a module, choose M here: the module will 485 be called serial-ir. 486 487config IR_SERIAL_TRANSMITTER 488 bool "Serial Port Transmitter" 489 depends on IR_SERIAL 490 help 491 Serial Port Transmitter support 492 493config IR_SIR 494 tristate "Built-in SIR IrDA port" 495 depends on RC_CORE 496 help 497 Say Y if you want to use a IrDA SIR port Transceivers. 498 499 To compile this driver as a module, choose M here: the module will 500 be called sir-ir. 501 502config IR_TANGO 503 tristate "Sigma Designs SMP86xx IR decoder" 504 depends on RC_CORE 505 depends on ARCH_TANGO || COMPILE_TEST 506 help 507 Adds support for the HW IR decoder embedded on Sigma Designs 508 Tango-based systems (SMP86xx, SMP87xx). 509 The HW decoder supports NEC, RC-5, RC-6 IR protocols. 510 When compiled as a module, look for tango-ir. 511 512config RC_XBOX_DVD 513 tristate "Xbox DVD Movie Playback Kit" 514 depends on RC_CORE 515 depends on USB_ARCH_HAS_HCD 516 select USB 517 help 518 Say Y here if you want to use the Xbox DVD Movie Playback Kit. 519 These are IR remotes with USB receivers for the Original Xbox (2001). 520 521 To compile this driver as a module, choose M here: the module will be 522 called xbox_remote. 523 524config IR_ZX 525 tristate "ZTE ZX IR remote control" 526 depends on RC_CORE 527 depends on ARCH_ZX || COMPILE_TEST 528 help 529 Say Y if you want to use the IR remote control available 530 on ZTE ZX family SoCs. 531 532 To compile this driver as a module, choose M here: the 533 module will be called zx-irdec. 534 535config IR_TOY 536 tristate "Infrared Toy and IR Droid" 537 depends on RC_CORE 538 depends on USB_ARCH_HAS_HCD 539 help 540 Say Y here if you want to use the Infrared Toy or IR Droid, USB 541 versions. 542 543 To compile this driver as a module, choose M here: the module will be 544 called ir_toy. 545 546endif #RC_DEVICES 547 548endif #RC_CORE 549